Протокол MQTT и Wi-Fi модули ESP

Это был долгий период времени, когда я пытался разобраться, по каким принципам работает управление устройствами по Wi-Fi и какие инструменты использовать для этого.

Протокол MQTT

Для экспериментов я выбрал протокол MQTT. Он был разработан для общения умных устройств и принцип его работы похож на Youtube.

Все устройства коннектятся к Wi-Fi и подключаются к MQTT серверу (брокеру). Брокер отвечает за доставку сообщений между клиентами.

С одной стороны у нас есть устройства, которым есть что рассказать. Они делают свои каналы и постят туда контент. Например, датчик температуры каждую минуту отправляет в свой канал актуальную температуру.

С другой стороны есть устройства, поведение которых зависит от внешних данных. Они подписываются на нужные каналы и ждут обновлений. Это могут быть не только данные с датчиков, но и команды типа включить/выключить, повернуть, поехать определенное количество метров.

Также связь может быть не односторонней. Устройства может принять команду, выполнить какие-то действия и отправить данные в ответ.

Протокол MQTT и Wi-Fi модули ESP

MQTT брокер можно установить как на компьютере в локальной сети, так и на сервере в интернете. Для того, чтобы попробовать работу протокола я купил Wi-Fi точку с OpenWRT и поставил на нее свой первый MQTT брокер. Взял 2 телефона и настроил на них одинаковые каналы и интерфейсы. Изменяя параметры на одном телефоне, я видел как они тут же меняются на втором. Я был поражен как быстро и стабильно это всё работает!

Протокол MQTT и Wi-Fi модули ESP

Модули ESP8266

После того как стало понятно, как передавать данные, осталось выяснить, как сделать устройства, которые будут реагировать на эти данные. Я выбрал модули на базе чипов ESP из-за их большого разнообразия и доступности. Кроме плат разработки была еще куча готовых устройств, которые тоже можно прошить под свои задачи.

Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP

Я написал первую прошивку с MQTT клиентом, попробовал отправлять и получать данные. А потом подключил к плате все датчики для Arduino, которые нашел у себя дома. Подключал реле и моторы. Прошил все устройства Sonoff, которые смог купить и попробовал кучу разных готовых прошивок.

Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP
Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP
Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP

И каждый раз меня поражало как быстро и надёжно срабатывает передача данных!

Собрал пару стендов для демонстрации работы модулей:

Демонстрационный стенд

Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP
Протокол MQTT и Wi-Fi модули ESP Протокол MQTT и Wi-Fi модули ESP
Протокол MQTT и Wi-Fi модули ESP
Максим Захаров

Другие статьи

Живое ядро на фестиваль «Outline 2024»
Живое ядро на фестиваль «Outline 2024»
Идея: Сделать огромную сферу из коры, при прикосновении к которой будут раздаваться звуки природы: шум дождя, пение птиц, ветер, гроза и т.д. Благодаря внутренним динамикам и большому объёму будет создаваться эффект реального глубокого звука.
Умная фанера. Выставка «Хаптика. Осязаемый мир»
Умная фанера. Выставка «Хаптика. Осязаемый мир»
Идея: Сделать умную фанеру - интерактивный стенд со звуками природы. Вы прикасаетесь к разным областям фанеры и она проигрывает звуки, которые были вокруг нее когда она ещё жила в лесу.
Лего машины с управлением по MQTT
Лего машины с управлением по MQTT
Идея: Сделать Wi-Fi машинам управление через MQTT. Добавить веб-интерфейс, который позволил бы переключаться между машинами и управлять всей игровой площадкой с одного пульта.