Обнаружение устройств (esp8266 / arduino) в одной подсети локальной сети - PullRequest
0 голосов
/ 27 октября 2018

Я разрабатываю продукт, который использует ESP8266 (прошивка Arduino). Я разрабатываю приложение Ionic в качестве основного контроллера. Продукт отлично работает через сервер. Но главная особенность, необходимая для связи, - это связь с устройствами через локальную сеть. Устройства размещают сервер, поэтому я могу общаться с ними, используя запросы GET через мое приложение, используя их локальный IP-адрес.

Но проблема заключается в обнаружении этих устройств. В настоящее время мой подход заключается в том, чтобы отправить запрос на получение всех IP-адресов в моей подсети, проанализировать ответ, если таковой имеется, и сохранить активные IP-адреса в приложении; затем используйте эти сохраненные IP-адреса для связи для последующих запросов.

Проблема заключается в отправке запроса на все части IP. Это медленный процесс и медленнее с недорогими телефонами.

То, что я хочу, это способ получения связи с инициированных ими устройств, возможно. Что-то вроде одновременной сигнализации всех IP-адресов (только моих устройств) об отправке их IP-адресов на мой телефон.

Можно ли это сделать легко? А быстро? А точно?

1 Ответ

0 голосов
/ 27 октября 2018

Один из вариантов - настроить ESP8266 для публикации службы mDNS (также известной как zeroconf, bonjour и т. Д.). К счастью, mDNS встроен в ядро ​​ESP8266 Arduino. Здесь есть некоторая базовая информация о настройке: https://tttapa.github.io/ESP8266/Chap08%20-%20mDNS.html,, а также в других местах в Интернете.

Затем на ионной стороне вы можете использовать плагин zeroconf / mDNS для автоматического обнаружения ESP8266. Я использовал этот в прошлом, с хорошими результатами: https://ionicframework.com/docs/native/zeroconf/

...