Управляем вентиляцией через интернет с помощью esp8266

esp8266 + nrf24l01

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



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

Главный экран

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

График истории с зумом

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

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

  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.

Схема:

Схема

Исходник здесь.
  • +3
  • 25 апреля 2016, 12:47
  • vad7

Комментарии (9)

RSS свернуть / развернуть
Вот если честно, то намного было бы интересно почитать про
Написан драйвер nRF24L01, который использует блочное чтение/запись через HSPI на esp8266
и
В качестве веб-сервера используется библиотека esp8266web, которая немного доработана
Все остальное менее привлекательно.
+1
Исходник с комментариями, задавайте вопросы, что интересует. Если знаю — расскажу.
0
1. Сам процесс (а не каменты в коде) написания драйвера и как он работает
2. Сам процесс (а не каменты в коде) допиливания либы и как онная работает
Согласитесь, что статья о том что «смотрите я запилил управлялку воздухом на том и на этом» похвальна (понятно что была проделана колоссальная работа, НО тянет она на уровень хабра о ногодрыгательстве светодиодиками) а вот подноготная, про кропотливые и тяжелые ковыряния железа — намного интереснее и информативней.
З.Ы. Из всей статьи полезного для себя подчеркнул что можно взять модулек один к нему другой и воппа получаем кусок умного дома с вебмордой. может я не прав конечно… это мое ИМХО так захотело
0
На большее, к сожалению, пока нет времени, да и разместил я статью в своем блоге.
И вы в «ЗЫ» правы, хотел показать, что можно.
0
А как вообще организована эта система? Сколько датчиков что за проветриватели? Поскольку обычно делается приточная вентеляция потом колорифер для обогрева приточного воздуха и вытяжная вентеляция.
+1
В самом верху ссылка на первоначальную «конструкцию», в которой выступал «мозгом» AVR Attiny44.
Эта конструкция и была доработана.
Датчик CO2 один, на вдув стоят два проветривателя Аэропак в разных комнатах, на выдув один вентилятор.
Подогрева нет и как показала практика эксплуатации в несколько лет — и не надо. Наоборот, иногда приходится увеличивать обороты или открывать окно для «охлаждения».
0
Поясните, а зачем здесь nRF в принципе? Почему всю логику на 8266 не держать? Или просто наследие?
0
  • avatar
  • ali
  • 28 апреля 2016, 05:56
nRF не мозги, а связь. Насколько я помню, система у него из нескольких разнесенных блоков состоит.
0
Несколько блоков, ага. Понятно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.