Итак, чтобы вдаваться в подробности, я в основном пытаюсь создать программу (которая в конечном итоге станет графическим интерфейсом, но сейчас мне не нужно об этом беспокоиться), используя python, которая сможет взаимодействовать с raspberry pi. Чтобы уточнить, мне нужно, чтобы эта программа работала на компьютере с Windows, к которому Raspberry Pi может подключаться через Wi-Fi. Я говорю Wi-Fi, потому что в этой ситуации потребуется, чтобы в конечном итоге множество разных Raspberry Pi могли подключаться к одной и той же машине, принимать команды и выдавать результаты.
Я не хочу использовать VNC, потому что не хочу использовать графический интерфейс Raspberry Pi для удаленного запуска программ на Pi. Вот почему я более подробно изучил SSH, но снова столкнулся с проблемой. Возможность управлять pi по беспроводной сети через CMD — это хорошо, и все такое, но мне нужен удобный для пользователя метод, когда этот проект будет завершен, чтобы другие могли это сделать.
По сути, есть ли способ написать скрипт Python на моем ПК с Windows, который будет иметь методы, которые могут автоматически взаимодействовать с pi, как если бы это было через SSH? Например, если у меня есть метод с именем runProgram1() в сценарии на ПК, он будет автоматически запускать программу Program1 на Raspberry Pi по беспроводной сети? Я всегда могу преобразовать это в графический интерфейс позже, но проблема в том, чтобы получить скрипт Python в первую очередь.
Краткий обзор системных требований будет заключаться в том, чтобы компьютер с Windows мог иметь методы, которые могут делать такие вещи, как автоматическое включение / выключение pi, запуск программы, уже на pi, сбор данных, которые собирает pi, и выплевывание их на компьютер. Windows, и добавить больше pi в систему. И все это должно быть сделано без проводов, так как все пи будут вне досягаемости, когда они будут на своем последнем месте.
До сих пор я не нашел ничего подобного в Интернете, поэтому я надеялся, что гуру stackoverflow могут помочь. Я знаю, что это довольно много, чтобы спросить, но простое указание в правильном направлении помогло бы многим. Заранее спасибо!






Я предлагаю вам создать очень простой веб-сервер колба на вашем Raspberry Pi и отправлять запросы из графического интерфейса Windows.
from flask import Flask
app = Flask(__name__)
@app.route("/function_one")
def function_one():
# Do something on rpi or start a subprocess
return "Some message"
app.run(host='0.0.0.0')
Это должно работать на вашем rpi. Затем из графического интерфейса Windows вы можете просто отправить get с библиотекой Запросы на эту конечную точку, возможно, по щелчку или когда вы предпочитаете.
import requests
requests.get('http://<yout_rpi_local_ip>:5000/function_one')
Это вызовет функцию на вашем RPI из Windows. Вы даже можете защитить его с помощью аутентификации.
Я не понимаю, почему мой ответ заминусован :) Я в сети с оп-запросом.
Я не понимаю, что мой вопрос также был отклонен. Я предполагаю, что это какой-то интернет-тролль, я пытался проголосовать за него, но, поскольку я новичок на этом сайте, правила гласят, что он не появится :(
поэтому я на самом деле не могу заставить код работать, он дает мне эту ошибку: запросы.исключения.ConnectionError: HTTPConnectionPool(host='%3c192.168.xx%3e', port=5000): превышено максимальное количество попыток с URL-адресом: / function_one (Вызвано NewConnectionError('<объект urllib3.connection.HTTPConnection по адресу 0x0000000003CC9160>: Не удалось установить новое соединение: [Errno 11001] Ошибка getaddrinfo',))
Это происходит, даже если вы нажмете этот URL-адрес в своем браузере или просто если вы нажмете его из графического интерфейса? Кстати, я предлагаю вам открыть для этого еще один вопрос с тегом flask
Я получаю эту ошибку только тогда, когда запускаю ее в IDE Python с точным кодом, приведенным выше, но с соответствующим IP-адресом. Когда я набираю его в браузере, он просто не работает. Я набираю http://<192.168.12.1>:5000/function_one в браузере и скрипте python, но это не работает.
Ой. < и > являются заполнителями для URL-адреса. Используйте 192.168.xx:5000/function_one без < и >
... Хорошо, это сработало. Спасибо за вашу помощь! Извините, я очень новичок во всем этом, ха-ха
Это на самом деле звучит очень многообещающе! Я попытаюсь настроить его сейчас, пока это самое близкое к тому, что я искал, и я должен быть в состоянии работать с ним. Спасибо!!