Мы живем в мире подключенных устройств. Интернет вещей помогает нам жить и работать разумнее, а также получить полный контроль над своей жизнью. Одним из последних технологических достижений в области Интернета вещей является шлюз MQTT, который действует как посредник между облачными платформами и платформами Интернета вещей.
MQTT расшифровывается как Message Queuing Telemetry Transport. Это один из ключевых протоколов связи для устройств Интернета вещей и локальных сетей. Это идеальный протокол для связи между интеллектуальными устройствами или межмашинного взаимодействия.
Что такое шлюз MQTT?
Как правило, шлюз MQTT можно определить как посредника между любой платформой Интернета вещей и датчиками. Он работает, получая данные от этих датчиков или интеллектуальных устройств и переводя их в MQTT. Затем он передает эти данные либо на платформу Интернета вещей, либо на брокера MQTT.
Шаблон публикации/подписки
Шаблон публикации/подписки (также известный как публикация/подписка) представляет собой альтернативу традиционной архитектуре клиент-сервер. В модели клиент-сервер клиент взаимодействует напрямую с конечной точкой. Модель pub/sub отделяет клиента, отправляющего сообщение (издателя), от клиента или клиентов, получающих сообщения (подписчиков). Издатели и подписчики никогда не контактируют друг с другом напрямую. На самом деле, они даже не осознают, что другой существует. Соединение между ними обрабатывается третьим компонентом (брокером). Работа брокера заключается в том, чтобы фильтровать все входящие сообщения и корректно распределять их по подписчикам.
MQTT-брокер
Брокер помогает в работе с клиентами по технологии MQTT. Он может одновременно управлять сотнями, тысячами или миллионами подключенных клиентов MQTT, в зависимости от реализации. Его основные функции:
- Получение информации
- Расшифровка и фильтрация полученных сообщений
- Определение того, какой клиент будет заинтересован в том или ином сообщении
- Передача этих сообщений клиентам в зависимости от их интересов
Проект
Давайте создадим простой проект BLE 2 MQTT, который собирает данные датчиков с BLE устройства контроля качества воздуха под названием HibouAir и отправляет их бесплатному общедоступному брокеру MQTT.
Для этого проекта мы будем использовать Flespi. Вы можете выбрать любого публичного или частного брокера MQTT по своему усмотрению.
Шаги
Требования
- Ключ BleuIO.
- Устройство контроля качества воздуха HibouAir.
- Публичный брокер MQTT (токен Flepsi) https://flespi.com/mqtt-broker
- Библиотека Javascript BleuIO. https://www.npmjs.com/package/bleuio
- Инструмент сборки для Javascript (посылки) https://parceljs.org/docs/
Получить токен 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
Видео проекта