Мы живем в мире подключенных устройств. Интернет вещей помогает нам жить и работать разумнее, а также получить полный контроль над своей жизнью. Одним из последних технологических достижений в области Интернета вещей является шлюз MQTT, который действует как посредник между облачными платформами и платформами Интернета вещей.

MQTT расшифровывается как Message Queuing Telemetry Transport. Это один из ключевых протоколов связи для устройств Интернета вещей и локальных сетей. Это идеальный протокол для связи между интеллектуальными устройствами или межмашинного взаимодействия.

Что такое шлюз MQTT?

Как правило, шлюз MQTT можно определить как посредника между любой платформой Интернета вещей и датчиками. Он работает, получая данные от этих датчиков или интеллектуальных устройств и переводя их в MQTT. Затем он передает эти данные либо на платформу Интернета вещей, либо на брокера MQTT.

Шаблон публикации/подписки

Шаблон публикации/подписки (также известный как публикация/подписка) представляет собой альтернативу традиционной архитектуре клиент-сервер. В модели клиент-сервер клиент взаимодействует напрямую с конечной точкой. Модель pub/sub отделяет клиента, отправляющего сообщение (издателя), от клиента или клиентов, получающих сообщения (подписчиков). Издатели и подписчики никогда не контактируют друг с другом напрямую. На самом деле, они даже не осознают, что другой существует. Соединение между ними обрабатывается третьим компонентом (брокером). Работа брокера заключается в том, чтобы фильтровать все входящие сообщения и корректно распределять их по подписчикам.

MQTT-брокер

Брокер помогает в работе с клиентами по технологии MQTT. Он может одновременно управлять сотнями, тысячами или миллионами подключенных клиентов MQTT, в зависимости от реализации. Его основные функции:

  • Получение информации
  • Расшифровка и фильтрация полученных сообщений
  • Определение того, какой клиент будет заинтересован в том или ином сообщении
  • Передача этих сообщений клиентам в зависимости от их интересов

Проект

Давайте создадим простой проект BLE 2 MQTT, который собирает данные датчиков с BLE устройства контроля качества воздуха под названием HibouAir и отправляет их бесплатному общедоступному брокеру MQTT.

Для этого проекта мы будем использовать Flespi. Вы можете выбрать любого публичного или частного брокера MQTT по своему усмотрению.

Шаги

Требования

Получить токен Flespi

  • Создайте учетную запись на Флеспи.
  • Войдите в панель инструментов Flespi.
  • Скопируйте токен

Загрузить исходный файл

Получите исходный файл с https://github.com/smart-sensor-devices-ab/ble2mqtt_bleuio.git

И запустите npm install.

В корневой папке мы увидим два файла HTML с именами index.html и subscribe.html и два файла js с именами pub.js и sub.js.

Файл index.html собирает данные датчиков с устройства мониторинга качества воздуха BLE под названием HibouAir с помощью BleuIO.

После сбора рекламируемых данных мы пытаемся расшифровать их и получить значимые данные о качестве воздуха со значениями СО2, давления, температуры, влажности, освещенности. Затем мы публикуем данные брокеру Flepsi, используя название темы HibouAirTopic.

Файл Subscribe.html работает как подписчик, который считывает данные датчиков с брокера и показывает их на экране.

Чтобы запустить index.html, мы можем просто ввести

parcel index.html

Видео проекта