Меню

Node red датчик температуры

Датчик температуры и влажности в Nodered

Данным постом мы начнем серию коротких статей, в которых будем просто и понятно описывать добавление самых распространенных устройств в Nodered.

Имеем установленный Nodered и подключенный zigbee свисток (но эта инструкция подойдет для ZESP, SLS, а не только для zigbee2mqtt) с которым устройства использовались в Homekit через Homebridge. Теперь переезжаем в Nodered.

Копируем готовый flow.

Имеем датчик температуры и влажности от Xiaomi.

Переходим в Nodered. Правом верхнем углу в выпадающем списке выбираем Import. Вставляем в открывшееся поле данный flow.

Настройка flow.

Открываем первую ноду (mqtt), указываем в ней адрес своего mqtt сервера и топик для добавляемого датчика (узнать можете например через mqtt explorer).

Второй столбик с нодами оставляем без изменений.

В третьем столбике в первой и последней ноде указываем (создаем) мост (Bridge) для Homekit, Service не меняем (один из них для температуры, другой для влажности). Остальные информационные графы заполняем по желанию.

Во второй и третьей ноде в графе Parental Service выбираем датчики температуры и влажности (в каждой свой) — это необходимо, чтобы отображать уровень заряда батареи в Homekit.

После этого нажимаем Deploy в верхнем правом углу и открываем приложение Дом. Не забываем добавить мост созданный в Nodered (если у вас он не был ранее создан и добавлен)

Что дальшее?

В продолжении данной серии будем добавлять датчики открытия/закрытия xiaomi/aqara, мотор для штор с привязкой кнопки, термоголовки Eq-3 и многое другое.

Оставьте комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Мой умный дом на ESP8266, часть 2

Начало этого цикла статей находится здесь.

Продолжаю свои изыскания в плане создания базы, на основе которой без пайки можно быстро создавать умный дом. Как я уже говорил, эта база рассчитана на обычного прикладного программиста, например фронт-разработчика, который не хочет углубляться в дебри радиоэлектроники и не хочет паять (ну может по минимуму), потому что нет на это времени. Но хочет создавать свои устройства, которые легко можно будет подключать к своему серверу и все вопросы решать способом, который ему хорошо знаком по роду своей деятельности, то есть программированием, причем на PC.

Итак, для первой версии этой базы выбран чип ESP8266, на основе которого будет строиться весь умный дом.

ESP8266

Микроконтроллер ESP8266 самодостаточен, легко программируется как Arduino (то есть это С++ и среда Arduino IDE), имеет на борту Wi-Fi, компактный и есть множество модификаций под разные нужды. Также есть его развитие, это ESP32, который более мощный. В общем идеальный контроллер. Недостаток лишь в напряжении питания (не пять вольт, а 3.3 вольта).

К контроллеру ESP8266 можно по проводам (причем довольно длинным, несколько метров) можно подключать разные датчики и исполнительные устройства по таким протоколам как 1-Wire, I2C. Почему именно эти протоколы? Потому что они очень простые и популярные (спасибо Arduino).

То есть, датчик или устройство по проводу подключается к ESP8266, который в свою очередь подключается по Wi-Fi к вашему серверу. Сервер можно писать на любом языке, например на платформе NodeJS. Но желательно использовать готовые сервера, о которых я расскажу позже. Ваш сервер позволит настроить любую логику работы умного дома.

Например можно в электрощитке разместить ESP8266 и реле. На это реле повесить освещение. А на стене повесить ESP8266 и кнопку. При помощи кнопки включать/выключать освещение. Обработчик нажатия на кнопку находится на сервере. Еще можно несколько датчиков температуры (улица, комнаты)по проводам подключить к ESP8266. На входную водопроводную трубу можно разместить датчик расхода воды и подключить к еще одному ESP8266. Контроллер стоит от 80 рублей, так что вешать их можно до упора (где этот упор не ясно, наверное зависит от роутера и помех на частоте 2.4 ГГц).

Читайте также:  Козырек для датчика загазованности

Компоненты умного дома

Теперь я хотел бы подробнее остановится на компонентной схеме умного дома. Все компоненты уместились в следующей схеме:

Компоненты умного дома

Слева-направо: сначала идет ваше устройство на ESP8266, далее это прошивка ESP Easy (ее ставим на ESP8266), прошивку подключаем к MQTT-брокеру (например WQTT.ru или свой брокер на своем сервере), веб-сервис WQTT.ru уже имеет подключение к Алисе (на своем брокере это подключение придется сделать самостоятельно, что в общем несложно, потому что это наша привычная работа программиста), далее сервер логики Node RED, который подключен к MQTT-брокеру и управляет всем умным домом. И в конце можно поставить Homebridge для связи умного дома с Homekit.

Как вы наверное догадались, homebridge с голосовыми помощниками не обязательные компоненты. Главное это MQTT-брокер и Node RED. Эти два сервера вам обеспечат практический полный функционал и доступ к настройке любой логики.

Думаю общая картинка умного дома уже появилась и можно переходить к самим компонентам в отдельности. В этой статье рассмотрим MQTT-брокер и само устройство. В следующих статьях будем рассматривать настройку прошивки ESP Easy и Node RED. Этого будет достаточно, чтобы запустить простейший вариант умного дома.

В качестве устройства у нас будет светодиод, который встроен в ESP8266 и сидит на пине GPIO2. Этот светодиод будет имитировать освещение в гостиной например. Также подключим кнопку, которая будет включать этот светодиод. И еще в нашем устройстве будут два датчика: DHT11 и BMP085 (влажности и барометр с термометром).

В логику (которая будет хранится в Node RED) заложим управление кнопкой и светодиодом, оповещение по телеграму о резком похолодании в комнате и вывод значений датчиков в Homekit и Алису.

Тестовое устройство

Тестовое устройство я собрал из того что было под рукой. И выглядит оно следующим образом:

Тестовое устройство

У меня был модуль Troyka Wi-Fi (это ESP8266 в модификации ESP-12F)от магазина Амперка. Но можно использовать любой вариант ESP8266. Датчик DHT11 подключен к одному из пинов контроллера, а датчик BMP085 подключен к пинам, которые будут работать в режиме I2C-протокола (выбор пинов настраивается в прошивке ESP Easy).

То же устройство, но в виде принципиальной схемы:

Принципиальная схема (на детали U3 я показал встроенный светодиод)

Принципиальная схема более удобная. Во первых, легко рисуется, а во вторых, все подписано. В схеме выше на картинках часто бывает что пины не подписаны. А подписать их весьма муторным делом оказалось.

Устройство это собирается легко как Arduino, только вместо Arduino вы будете использовать ESP8266. Оно мощнее, но питание 3.3 вольта, о чем нельзя забывать. Добавите 5 вольт — сожжете его. Контроллер можно прошивать своими скриптами. Они тоже весьма простые и из них можно будет подключаться к HTTP-серверам и MQTT-брокерам. Но этот вариант мы рассмотрим позже, сейчас я предлагаю рассмотреть вариант готовой прошивки.

Читайте также:  Паджеро датчик давления масла замена

Итак устройство собрано. Как прошивать рассмотрим в следующей статье. Теперь перейдем в MQTT-брокеру.

MQTT-брокер

Свой MQTT-брокер пока затевать не будем, а воспользуемся готовым. Веб-сервис WQTT.ru предоставляет простой MQTT-брокер по цене 200 рублей за полгода (первый месяц бесплатно, что вполне нам достаточно для экспериментов). Заходим на сайт этого сервиса https://www.wqtt.ru/ и регистрируемся. После регистрации мы молучим адрес брокера, номер порта, логин и пароль. Их мы позже пропишем в прошивке микроконтроллера и в Node RED. Все, брокером можно пользоваться сразу. Но, если вы хотите подключить Алису, то на WQTT нужно описать датчики и устройства. Это сделать легко, потому описывать не буду. У вас в итоге должна получится такая таблица:

Таблица устройств и датчиков на wqtt.ru

Единственно что нужно сделать это прописать так называемые топики. Сделайте их такими как на скриншоте, т.к. далее мы их будем использовать.

Думаю настало время рассказать, а что же это такое MQTT-брокер и какую роль он играет.

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

Можно сделать так, чтобы это сообщение (точнее последнее сообщение) сохранилось на брокере. И таким образом состояние вашего умного дома будет храниться в брокере. Если вы знаете что такое MVC, то брокер это M, Node RED это C, а ваш смартфон это V. Если не знаете, то пропустите это.

Во-вторых, кроме отправки сообщения можно на них подписываться. Все, кто подписался, будут гарантированно получать сообщения из того или иного топика. Например у нас есть топик ESP_Easy/BMP085/Temperature. Наше устройство (которое мы назвали ESP_Easy) регулярно (например каждые 5 минут) отправляет на этот топик значение температуры из датчика BMP085. А в Node RED мы создадим подписчика на этот топик и будем принимать эти сообщения. В самом подписчике мы опишем что мы хотим с этой температурой делать, например отобразить на экране смартфона в Homekit.

В итоге, MQTT-брокер это сердце нашего умного дома. Он связывает все устройства и хранит состояние умного дома. Если его сделать доступным из интернета, то вашим умным домом можно управлять откуда угодно.

Резюме

Устройство у нас собрано. Пока без прошивки. Брокер настроен. Далее мы подключим Node RED, прошьем контроллер и все это соединим воедино.

Источник

Display Temperature Sensor Data in Node-RED

A step forward process to make special IoT hardware work with different IoT platforms and create advanced IoT applications.

Hardware components

Software apps and online services

Arduino IDE
Node-RED

In this tutorial, we are going to display the readings of a temperature sensor (interface with ESP8266) in Node-RED Dashboard using MQTT node in Node-RED Flow.

We are using Adafruit Huzzah Board to use with SHT25 I2C module (Temperature and Humidity Sensor). To avoid the manual PCB soldering and wiring connection, we are using the I2C electronic Shield to connect huzzah board and using the I2C cable to connect with Temperature and Humidity Sensor.

The Newbie can setup ESP8266 boards in Arduino IDE from here.

For Wifi Client setup we will be using ESP8266WiFi library which helps us to connect easily with WIFI routers by just mentioning the SSID password using wifi example

Читайте также:  Как проверить кислородный датчик мультиметром ваз 21214

Thanks to the latest Azure IoT hub article we can connect the ESP devices to any wifi router any time by just entering the wifi credentials anywhere from PCs as well as from Smartphones by just opening the local server page in any web browser .

About SHT25 Temperature Sensor and I2C Code

The SHT25 ( humidity and temperature sensor) use the high precision, calibration , linearized sensor signals in digital , I2C format . The on-board power regulation and I2C level-shifting circuits adapts the I2C voltage standard with plug and play features.

To fetch the data from I2C devices and convert them and shift them in 8 bits data as per the requirements by:

  • Initialize the I2C library
  • Initialize the I2C registers of sensor module which is specified to work with 2 wire protocol.
  • After Initialization, begin the I2C transmission and request for 2 bytes of data from where I2C bus will read the data from the I2C sensor module.
  • If 2 bytes of data is available then use the mentioned below formula will help to convert the data bytes and display desired values
  • Using Serial.print you will be able to read the sensor data in the serial monitor screen.

The Publish-Subscribe based messaging using TCP/IP protocol called MQTT(Message Queuing Telemetry Transport) .specially designed for remote location communications with different internet based online servers . These kinds of Publish-Subscribe messaging pattern requires a message broker.

For Sending the temperature sensor data to Node-Red by using MQTT, we will be using PubSub Clientlibrary , available on Github. For other functions, use the API documentation for specified code manipulations.

For Publish/Subscribe messaging with the server, we are going to use this library with I2C code for the sensor

  • Define MQTT Server and the topics you want to publish using MQTT client .

Note: you can use any free server name to publish like mentioned above in code, you can also use “mqtt-broker.org” any kind of “default IPs” also to create the servers.

  • Use the Reconnection loop function which helps you to reconnect to your MQTT server easily
  • After making the connection of MQTT client with the online server or a local server, The pubsub client will publish the message in below format,
  • The MQTT broker will finally send the payload to the server in a mentioned format which also directly execute the data in string format.

The visual tool for wiring the IOT hardware with APIs and different online Services requires Node.js which should be running in the Hardware platform using operating system Windows, Linux, Ubuntu by download the LTS(Long Term Support).

To install Node-RED in system path we can use the package manager commands in your windows command line interface

Note: To install it in Linux or Ubuntu OS , we will use ‘ sudo ’before the mentioned abovecommand

After the installation run the let’s start the node red:

  • Open the command prompt in the operating system
  • Write node-red and enter it

Источник

Adblock
detector