Управление вентиляцией через интернет

vad7

Active member
WiFi модуль esp8266 используется в качестве веб-сервера для беспроводного управления вентиляцией через nRF24L01+.
Вот в эту конструкцию добавляется WiFi модуль, который выполняет роль "мозга" системы вентиляции.
Собранные значения углекислого газа отправляются на облачный сервер интернета вещей - ThingSpeak

Схема получается такой - с датчика CO2 микроконтроллером Atmel AVR ATtiny44A получаем уровень CO2, далее по воздуху, с помощью nRF24L01 передаем его на esp8266.
Esp8266, в свою очередь, считает необходимую скорость вентиляторов и передает ее через тот-же nRF24L01 на проветриватели и вентиляторы.
Точное время берется через SNTP, и в зависимости от времени суток корректируются обороты вентиляторов.

main_screen.jpg

График c зумом строится с помощью open-source библиотеки d3j (Data-Driven Documents):

history_screen.jpg

Есть еще бегущий график - библиотека Smoothie Charts.

В качестве веб-сервера используется библиотека esp8266web, которая немного доработана:

1. Сделано обновление прошивки по WiFi (firmware.bin). Загружается на место Web диска, затем при загрузке (Rapid_Loader_OTA) копируется на основное место.
2. Добавлена функция записи в Web диск - WEBFSUpdateFile. Исправлены ошибки в библиотеке WEBFS (web/webfs.c).
3. Увеличен лимит для размера при сохранении переменных, cookies в web_int_vars (функции web_parse_*).
4. Уменьшен до 1 сектора (4096 байт) блок сохранения конфигурации в 0x7B000 (flash_epp), сохранение/восстановление конфигурации, добавлена функция current_cfg_length().
5. Исправление потерю соединения к некоторым роутерам и отсутствие пере-подключения.
6. Отладка в RAM память.
7. и другие небольшие доработки.

Написан драйвер nRF24L01, который использует блочное чтение/запись через HSPI на esp8266.

Схема:
WirelessCO2.jpg

Исходник: GitHub - vad7/WirelessCO2_esp8266: Esp8266 & nRF24L01 collect CO2 sensor data
 
Последнее редактирование:

vad7

Active member
Сделал управление еще одним проветривателем по датчику AZ-7798 через UART.
У AZ-7798 есть выход, для подключения к компьютеру, вот в него и подключается esp8266.

Передача данных через все тот же nrf24l01. Встраивать esp, с его большим потреблением в сам проветриватель не стал.

Схема получается такая AZ-7798 -> esp8266 -> nRF24L01 -> AVR -> управляем проветривателем.
Тут более подробно: Устройства для дома на микроконтроллерах: Подключаем проветриватель Aeropac SN к датчику CO2 AZ-7798 (UART)
 
Сверху Снизу