Сборка шлюза MQTT

Шлюз MQTT — сделан на основе Ethernet шлюза с модификацией программы, которое заставляет его работать как клиент MQTT. Начните с создания шлюза, следуя инструкциям Ethernet-шлюза.

Шлюз W5100 MQTT отправляет данные по радиосетям (или локальным датчикам) вашему брокеру MQTT. Узел также прослушивает MY_MQTT_TOPIC_PREFIX и отправляет эти сообщения в радио сеть.

Конфигурация

Эскиз шлюза MQTT содержит некоторую статическую конфигурацию, такую ​​как ip- и номер порта. Замените эти значения, чтобы они соответствовали вашим требованиям перед загрузкой.

Пример MQTTGateway

Это полностью рабочий пример эскиза.

Шлюз MQTT также может быть собран на основе модуля ESP8266. См. Комментарии в коде MQTTClient.ino.

Дополнительные сведения о «Кнопке включения» и светодиодах см. В разделе Дополнительные параметры сборки.

Настройка и тестирование шлюза

Вы можете запустить шлюз MQTT в Ethernet Arduino + W5100 или в ESP8266. Подключите радио- и ethernet-модуль точно так же, как для обычного шлюза.

Заголовок похож на протокол последовательного порта. Вы должны определить предпочитаемую подписку и опубликовать префикс в эскизе. Заголовок описывается так: MY_MQTT_PUBLISH_TOPIC_PREFIX/FROM-NODE-ID/SENSOR-ID/CMD-TYPE/ACK-FLAG/SUB-TYPE

Подробнее о протоколе последовательного порта см. Здесь. Пример данных, полученных с вашего шлюза, может выглядеть следующим образом:

mygateway1-out/2/1/1/0/49

Если вы хотите отправить данные своим датчикам, используйте MY_MQTT_SUBSCRIBE_TOPIC_PREFIX, определенный в вашем эскизе. Должно выглядеть так (используя эскиз по умолчанию):

mygateway1-in/2/1/1/0/49

Вы можете протестировать свой шлюз, используя mosquitto в качестве брокера.

Убедитесь, что вы установили MY_IP_GATEWAY_ADDRESS в шлюзе, указали на ваш ip-адрес компьютера (в той же сети LAN).

Запустите брокер (команда запуска): > mosquitto

Теперь запустите свой шлюз, и вы должны увидеть что-то подобное в журнале шлюза. Обратите внимание, что у меня в моей радиосети есть датчик GPS, который все время передает данные на шлюз:

Подпишитесь на сообщения (в консоли другого компьютера) > mosquitto_sub -v -t 'mygateway1-out/#'

Вы должны увидеть сообщения, которые вы видели в журнале шлюза, как показано ниже:

Отправите (публично) сообщение в вашу радио сеть: > mosquitto_pub -t 'mygateway1-in/2/1/1/0/49' -m '0,29'

 

Share