Задать вопрос
@Egorka_lazarenka_40

Как отправлять пакеты по Wi-Fi для управления МК ESP8622?

Разрабатываю проект в котором с телефона нужно отправлять команды на плату Wemos mini. Приложение под андроид пишу сам на Python kivy.
Сеть вай-фай раздает сама плата, телефон к ней подключается и условно говорят когда в приложении нажата кнопка1 то на плату должна прийти команда включить светодиод1

Не нашел в интернете информации как на пайтон реализовать такое простое взаимодействие, везде только довольно сложные схемы с хостами и базами данных

Прошу поделиться советом как это реализовать, какую библиотеку использовать, какую литературу изучить
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Сеть вай-фай раздает сама плата, телефон к ней подключается и условно говорят когда в приложении нажата кнопка1 то на плату должна прийти команда включить светодиод1…
как это реализовать

Выбрать протокол взаимодействия (UDP, TCP), выбрать или разработать протокол уровня приложения, реализовать сервер выполняющийся на esp8266, реализовать клиент выполняющийся на андроид.
В простейшем случае можно сделать для esp8266 UDP-сервер принимающий один байт, значение которого соответствует состоянию светодиода и включающий/выключающий светодиод при приёме этого байта. Клиент на андроид, соответственно, должен будет посылать по UDP на условленный порт один байт при нажатии или отпускании кнопки в приложении. Поиск по словам "python udp" находит полезные результаты.
Ответ написан
Комментировать
@mordo445
Для стороны ESP нет ничего сложного. В ядре Ардуино для ESP реализована подсистема lwIP, принимающая и передающая ip пакеты по байтам, конструктор пакетов фактически. Для нее естественно уже есть множество библиотек, реализующих протоколы и интерфейсы, многие в ядре. На ваш выбор:
WiFiUDP.h - реализует прием и отправку udp пакетов, в том числе multicast. Самый быстрый в имплементации вариант.
ESP8266HTTPClient.h и ESP8266WebServer.h - тут я думаю объяснять ничего не нужно. Поддерживают авторизацию, открытую/base64 и digest. Сервер мощнее клиента, можно и cgi использовать. На питоне, думаю не будет большой проблемой вызвать GET с нужным путем по адресу сервера
Есть еще ICMP, SNMP и NTP от энтузиастов, а так же разнообразные библиотеки для работы с MQTT. Выбор большой, освоение не составляет большого труда, библиотеки в основном хорошо документированы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы