Я создаю приложение для использования малины в качестве брокера и клиента MQTT и получаю сообщение от ESP32, который является еще одним клиентом MQTT. Мне нужен ESP32 для подключения брокера без предварительной настройки IP-адреса вручную. Кто-нибудь знает, как разрешить raspberry делиться IP-адресом без проводов и безопасно? Или Raspberry Pi может получить статический IP-адрес независимо от того, какую конфигурацию сети изменил пользователь? Спасибо за любую помощь или обсуждение.
Брокер MQTT подключается без предустановленного IP-адреса
comment
Учитывая теги, которые вы уже добавили (mdns / avahi), у вас уже есть свой ответ
- person hardillb   schedule 08.01.2020
comment
помимо статической конфигурации, вы также можете настроить маршрутизатор или то, что находится перед ESP, для выделения одного и того же IP-адреса для своих MAC-адресов, если вы хотите использовать DHCP
- person idan   schedule 08.01.2020
comment
Я пробовал статический IP-адрес, он не будет работать, если пользователь изменит Wi-Fi. Конструкция требует непрерывного режима, от малины, которая действует как брокер и клиент, и от ESP32 / raspberry, выступающей в качестве клиента. и клиентское устройство, и устройство брокера будут настраивать свой Wi-Fi конечными клиентами в пользовательском интерфейсе, а IP-адреса будут неизвестны, тогда ~~ Мой альтернативный способ - позволить ESP32 получить IP-адрес через Bluetooth из пользовательского приложения, а затем подключиться к брокеру. Но мы все же ожидаем более прямого пути.
- person user10417959   schedule 08.01.2020
comment
Ответ - мднс
- person hardillb   schedule 08.01.2020
comment
Я пометил его, потому что видел на нем какие-то следы. groups.google.com/forum/#!topic/mqtt/QL6Qrqx- Y24 Но я не нашел четких инструкций или примеров, чтобы применить его на ESP32 или Rapsberry Pi.
- person user10417959   schedule 08.01.2020
Ответы (1)
Эти две инструкции дали некоторую помощь: построить поиск mDNS в raspberry и mDNS-клиенте для получения строкового ввода. Для определения принципа «слепого поиска» требовалось больше логики, но, учитывая соображения безопасности, мы предпочли передавать строковое имя хоста с помощью BLE со стороны приложения.
клиент mDNS в ESP32 для получения строкового ввода Как ESP32 (DOIT DevKit) находит другой хост в той же локальной сети через mDNS?
для создания запросов mDNS в raspberry:
http://root42.blogspot.com/2015/02/how-to-setup-mdns-lookups-on-raspberry.html
person
user10417959
schedule
09.01.2020