Оглавление:
- Шаг 1. Что такое MQTT?
- Шаг 2: установка брокера MQTT на Raspberry Pi
- Шаг 3. Подключите IOT Cricket к RaspberryPi через MQTT
- Шаг 4. Проверьте сообщения MQTT
- Шаг 5: Резюме
- Шаг 6: О нас
Видео: Система домашней автоматизации WiFi со сверхнизким энергопотреблением: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
В этом проекте мы покажем, как за несколько шагов создать базовую локальную систему домашней автоматизации. Мы собираемся использовать Raspberry Pi, который будет выступать в качестве центрального WiFi-устройства. В то время как для конечных узлов мы собираемся использовать IOT Cricket для создания устройств WiFi с батарейным питанием, например. датчик температуры и подключите его к RPi, не написав ни единой строчки кода.
Наша система будет основана на протоколе связи MQTT, который широко используется в большинстве систем домашней автоматизации. Чтобы настроить его, мы выбираем брокера Mosquitto MQTT (сервер) и устанавливаем его на Raspberry Pi (наш центральный хаб).
IOT Cricket также поддерживает протоколы HTTP (S) и MQTT. Мы настраиваем его для использования MQTT для прямой связи с нашим брокером RPi MQTT.
Этот проект могут реализовать мастера любого уровня подготовки. Это может потребовать некоторой базовой пайки, но не требует кодирования или программирования. В конце этого проекта вы получите твердое представление о том, как легко создать свою собственную систему и быстро расширить ее, добавив в систему свои собственные конечные узлы IOT.
Запасы:
- Raspberry Pi (мы использовали версию 3 для этого проекта)
- Модуль IOT Cricket WiFi
- 2xAAA батарейный отсек
- 2xAAA батареи
Шаг 1. Что такое MQTT?
Протокол MQTT обеспечивает легкий метод обмена сообщениями с использованием модели публикации / подписки. Это делает его подходящим для обмена сообщениями Интернета вещей, например, для датчиков с низким энергопотреблением или мобильных устройств, таких как телефоны, встроенные компьютеры или микроконтроллеры. (источник: mosquitto.org)
Мы можем использовать столько устройств, сколько захотим, чтобы подписаться на темы и ожидать поступления сообщений. Если какое-то устройство (а) публикует сообщение по этой теме, то все устройства, которые подписаны на эту тему, получают это сообщение мгновенно. Темой может быть любая произвольная строка, обычно объединенная с символами / для создания иерархических тем. Наиболее типичное использование MQTT - наличие одного центрального сервера, на который устройства могут подписываться и публиковать сообщения. Это облегчает связь между устройствами, подключенными к этому серверу. В этом проекте мы будем использовать RPi в качестве нашего центрального брокера MQTT, а все другие устройства будут отправлять сообщения через этого брокера. Очевидно, что лучший способ узнать об этом - это сделать это сами. В Интернете по MQTT доступно множество ресурсов. Однако для этого проекта вас должно устроить базовое введение, которое мы представили выше.
Шаг 2: установка брокера MQTT на Raspberry Pi
Для этого проекта мы используем брокер Mosquitto MQTT с открытым исходным кодом. Он легкий и подходит для использования на всех устройствах, от одноплатных компьютеров с низким энергопотреблением до полноценных серверов.
Прежде чем мы начнем установку, рекомендуется сначала обновить системные компоненты:
$ sudo apt-get update $ sudo apt-get upgrade
Установите брокера Mosquitto. Откройте терминал и введите следующую команду:
$ sudo apt-get install mosquitto -y
Настройте брокера Mosquitto. Отредактируйте файл конфигурации:
$ sudo vi /etc/mosquitto/mosquitto.conf
и добавьте следующие строки вверху:
порт 1883allow_anonymous true
Перезапустите RPi, чтобы изменения вступили в силу:
$ sudo перезагрузка
Вот и все! Наш брокер MQTT запущен и работает!
ПРИМЕЧАНИЕ: для простоты этого проекта мы не создаем учетные записи. Таким образом, любой в нашей локальной сети может подключиться к этому брокеру MQTT без учетных данных. Если вы хотите добавить аутентификацию пользователя и сделать ее более безопасной, в Интернете есть множество руководств, как это сделать.
Теперь нам просто нужно получить IP-адрес, чтобы мы могли отправлять сообщения нашему брокеру Mosquitto с других устройств в сети:
Получить IP-адрес:
$ hostname -I
ваш_RPi_IP_address (например, 192.168.1.10)
Шаг 3. Подключите IOT Cricket к RaspberryPi через MQTT
В этом проекте мы используем модуль IOT Cricket WiFi для простого датчика, который каждые 30 секунд сообщает о температуре в нашу систему. Он будет работать от аккумулятора, поэтому его можно прикрепить где угодно, дома или в саду. Позже вы можете использовать IOT Cricket для создания различных датчиков, сигнализаций, кнопок, переключателей с батарейным питанием и также подключать их к нашему брокеру RPi MQTT из коробки.
На первом этапе подключите батареи к Cricket.
Cricket имеет встроенный датчик температуры. Нам просто нужно настроить его для отправки значения температуры нашему MQTT-брокеру, установив IP-адрес RPi. Для этого откройте панель конфигурации Cricket (см. Шаги здесь) и примените следующие настройки (как показано на изображении ниже, пожалуйста измените IP-адрес в поле "url" на ваш RPi)
Теперь мы можем выйти из режима настройки. Устройство готово! Cricket уже отправляет данные нашему брокеру MQTT каждые 30 секунд.
Шаг 4. Проверьте сообщения MQTT
Для просмотра / получения сообщений, отправленных нашему брокеру MQTT, мы можем использовать различные инструменты.
Самым простым может быть инструмент командной строки mosquitto_sub. Мы можем установить его либо на любой компьютер в нашей сети, либо на нашем RPi с помощью этой команды:
$ sudo apt-get install mosquitto-clients -y
Теперь мы можем выполнить следующую команду, чтобы прослушивать ВСЕ темы и сообщения, отправленные через нашего брокера MQTT:
$ mosquitto_sub -v -h ваш_RPi_IP_адрес -p 1883 -t '#'
… / 59A98F494C / имя_устройства MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / температуры 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Выше приведен выходной пример того, что IOT Cricket отправляет нашему брокеру. Среди других данных мы видим температуру:
/ 59A98F494C / темп 26,0
Прелесть MQTT в том, что он позволяет нам подписываться только на темы, которые нас интересуют. Если мы хотим получать только данные о температуре, мы можем подписаться на тему / 59A98F494C / temp, используя следующую команду:
$ mosquitto_sub -h ваш_RPi_IP_адрес -t '/ 59A98F494C / temp'
…26.126.527.227.6…
Шаг 5: Резюме
В этом проекте мы показали необходимое оборудование и программное обеспечение для создания энергосберегающих систем домашней автоматизации на базе Wi-Fi с низким энергопотреблением. MQTT - это основа для создания более сложных систем.
Экосистема программного обеспечения и услуг, которые можно интегрировать с MQTT, ОГРОМНА! Существует множество отличных систем, таких как Home Assistant, Node RED, Grafana и т. Д., Которые позволят вам создать отличный пользовательский интерфейс для вашей собственной системы. Мы не только можем делать простые распечатки температуры, но и иметь отличные информационные панели, визуализирующие данные и управляющие вашими устройствами.
Теперь, когда у нас есть эта базовая системная инфраструктура, нет предела возможностей других устройств WiFi, которые мы можем построить с помощью модулей IOT Cricket и добавить в нашу систему домашней автоматизации.
Спасибо, что поднялись сюда. Надеемся, вам понравился этот урок!
Команда Things On Edge
Шаг 6: О нас
Things On Edge - компания, базирующаяся в Кембридже, Великобритания. Мы разрабатываем модуль Cricket Wi-Fi со сверхнизким аккумулятором, чтобы вы могли буквально за считанные минуты подключать различные электронные устройства к смартфонам или другим интернет-сервисам. Не требует программирования и кодирования. Он позволяет интегрировать ваши устройства в огромные сервисы экосистемы IOT через MQTT и HTTP API.
Рекомендуемые:
Как сделать умный дом с помощью модуля реле управления Arduino - Идеи домашней автоматизации: 15 шагов (с изображениями)
Как сделать умный дом с помощью модуля реле управления Arduino | Идеи домашней автоматизации: в этом проекте домашней автоматизации мы разработаем релейный модуль для умного дома, который сможет управлять 5 бытовыми приборами. Этим релейным модулем можно управлять с мобильного телефона или смартфона, ИК-пульта дистанционного управления или пульта дистанционного управления телевизором, ручного переключателя. Это интеллектуальное реле также может определять р
Мощная автономная система домашней автоматизации - Pi, Sonoff, ESP8266 и Node-Red: 9 шагов (с изображениями)
Мощная автономная система домашней автоматизации - Pi, Sonoff, ESP8266 и Node-Red: это руководство должно привести вас к первой базе, где вы можете включить / выключить свет или другое устройство с помощью любого устройства, которое может подключаться к вашей локальной сети, и с помощью отличный настраиваемый веб-интерфейс. Возможности расширения / добавления функций огромны, в том числе
Метеостанция со сверхнизким энергопотреблением Arduino: 5 шагов
Метеостанция со сверхмалым энергопотреблением Arduino: это руководство покажет вам, как построить метеостанцию со сверхмалым энергопотреблением, используя arduino nano, bme 280 и радиомодуль rf433, которая прослужит от 1,5 до 2 лет на 2 LiPo 18650 и возможности чтобы расширить его, добавив больше датчиков и солнечную батарею
Система домашней автоматизации с использованием Arduino и модуля Bluetooth HC-05: 5 шагов (с изображениями)
Система домашней автоматизации с использованием Arduino и модуля Bluetooth HC-05: Привет, ребята, как вы все! Сегодня я здесь со своим вторым обучаемым Arduino. Это управляемая Bluetooth система домашней автоматизации. Вы можете управлять своей бытовой техникой прямо со своего смартфона. Все вещи работает отлично! Также я разработал приложение
Дешевая, простая, управляемая через Интернет система домашней автоматизации: 5 шагов (с изображениями)
Дешевая, простая, управляемая через Интернет система домашней автоматизации: если у вас есть домашние животные / дети, и вам нужно их кормить или шлепать через Интернет, эта система может быть вам полезна. Это очень простой и дешевый способ управлять двигателями, светодиодами и т. Д. Дома с любого компьютера, подключенного к Интернету. Все, что нужно, - это Webc