Esp 01 народный мониторинг

Сообщества › Arduino для автомобиля › Блог › WIFI датчик температуры на базе WIFI модуля ESP8266 и датчика температуры DS18B20

Предисловие: Содержание данного поста на первый взгляд может не подходить для форума «ARDUINO для автомобиля», но если внимательно посмотреть, я думаю найдется, что то полезное…
1. Введение.
По случаю попали ко мне в руки WIFI модуль ESP8266 (ESP-01) и датчик температуры DS18B20. Задача – построить автономный датчик температуры, данные с которого можно посмотреть на компьютере/планшете. В будущем эти данные должны использоваться для контроля в «умном доме»…
Чип ESP8266 очень подходит для этого, так как обладает небольшими размерами, ценой, а самое главное, что его контроллер может заменить Arduino – он может сам выполнять все необходимые действия.
Вариантов модулей на чипе ESP8266 множество — все о ESP8266 можно прочесть тут — esp8266.ru/ больше чем здесь, я думаю вы на русском языке не найдете.

У меня ESP-01 – у которого только два управляемых выхода – GPIO 0 и GPIO 2:

Что касается датчика температуры DS18B20 – тоже достаточно популярное устройство, а главное он цифровой – значит, выдает готовые значения и работает по протоколу 1-Wire – можно будет использовать библиотеку OneWire. Кроме того специально для температурных датчиков Dallas DS18B20 есть Arduino-библиотека DallasTemperature. milesburton.com/Main_Page…mperature_Control_Library

Что касается построения такого WIFI датчика температуры – устройство ни уникальное – в интернете есть описания подобных схем на тех же компонентах, но программируются на языке Lua – вариант geektimes.ru/post/255594/. Но судя по описанию – там тоже все не просто так. Да и не хотелось «учить» еще один язык…
Я к Arduino уже как то привык.
Поэтому решено искать варианты Arduino скетчей. Тем более что и тут есть наработки:
— датчик температуры для проекта «Народный мониторинг» —
arduinolab.pw/index.php/2…o-monitoringa-na-esp8266/ — его я тоже попробовал.
А вот тут от того же автора скетч который позволяет выводить параметры температуры через браузер – именно его я использовал. vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но оказалось, что бы его загрузить предстоит кое-что сделать.

2. Нужно:
1. Модуль ESP8266 (ESP-01);
2. Датчик температуры DS18B20;
3. USB-UART-TTL адаптер – например CР2102 (+драйвер);
4. Резистор 4,7 кОм;
5. Провода мама – мама/папа;
6. Изолента/термоусадка;

3. Настройка ADRUINO IDE для работы с WIFI ESP8266.
Для того, что бы загружать скетчи через ADRUINO IDE непосредственно на модуль ESP8266 необходимо провести апгрейд ADRUINO IDE – загрузить в него программу «ESP8266» для поддержки модуля (см. ссылку github.com/esp8266/arduino).
Как сказано на одном из сайтов:
«Программа ESP8266 поставляется с библиотеками, которые позволяют через интерфейс WiFi с помощью протоколов IP, TCP, UDP обмениваться данными с WEB, SSDP, mDNS и DNS серверами, использовать flash память для создания файловой системы, обеспечить работу с SD картами, сервоприводами, работать с периферийными устройствами по шинам SPI и I2C.»

Для этого нужно:
1. Зайти в меню «Файл» — выбрать «Настройки».

2. В ячейку «Дополнительные ссылки для Менеджера плат» внести ссылку arduino.esp8266.com/stabl…age_esp8266com_index.json

3. Зайти в меню «Инструменты» в «Плата:…» — выбрать «Менеджер плат…».

4. В закладке «Менеджер плат» нужно найти нужную прошивку — в поле указать например esp8266 – в окне высветится нужная прошивка.

5. Установить выбранную прошивку «esp8266» – щелкнуть на поле с прошивкой – появится кнопка «Установить» — нажать. Установка займет некоторое время – будет скачивать около 153 Мб.
6. После завершения установки в меню «Инструменты» в закладке «Плата:…» ниже перечня плат Arduino появится новые платы – «ESP8266 Modules».

7. Выбрать нужный модуль – в общем случае это «Generic ESP8266 Module».

4. Подключение ESP8266 к компьютеру для перепрошивки.
Как правильно подключить модуль много и хорошо написано – например тут:
esp8266.ru/esp8266-podklu…bnovlenie-proshivki/#full
Я для подключения ESP8266 к компьютеру для перепрошивки использовал USB-UART-TTL адаптер CР2102.

Схема подключения обычная да UART, за исключением двух особенностей:
1. Для включения модуля нужно подать +3,3В на вывод модуля CH_PD. Я припаял перемычку с VCC.
2. На время загрузки скетча необходимо подать «минус» на вывод модуля GPIO 0.

Если речь идет о настройке/отладки нескольких модулей имеет смысл сделать специальный комплект проводов для подключения.

Так же есть особенность с питанием модуля.
Во первых, он должен питаться от 3,3 В.
Во вторых, он очень прожорливый – мощности питания от USB-UART-TTL адаптера ему не хватало – компьютер постоянно сообщал, что к нему «подключено неизвестное устройство, при установке которого возникли проблемы».

Поэтому для питания модуля нужно организовать отдельное питание.
Если предполагается использовать более высокое напряжение — нужно использовать понижающий стабилизатор.
В моем случае я использовал две батареи АА 1,5В соединенные последовательно – но испытания показали хватает не на долго (возможно батареи были севшие).
ВНИМАНИЕ! При подключении внешнего источника питания при прошивке нужно соединить его с минусом USB-UART-TTL адаптера.

5. Загрузка скетча.
Если все сделали – можно начинать загрузку скетча:
vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но для начала нужно в строчках с именем сети и пароля указать имя и пароль вашей сети:
const char *ssid = «…»;
const char *password = «…»;
Процесс загрузки визуально отличается от привычной загрузки – он будет сопровождаться рядом точек в окне статуса загрузки (см. фото).

Если этого не происходит и появилось сообщение об ошибке – включите и выключите питание модуля WIFI.
Если загрузка прошла успешно, уберите перемычку с GPIO 0 и «массы».
Откройте Serial порт в Arduino IDE и убедитесь, что модуль начал работать и самое важно – запишите IP адрес вашего модуля:
Connected to «Название вашей сети»
IP address: 192.168.ХХ.ХХ
MDNS responder started
HTTP server started Теперь можно отключать USB-UART-TTL адаптер и подключать датчик температуры.

6. Подключение датчика температуры.
Схема подключения датчика температуры типовая (см. рисунок).

Потребуется правда поработать паяльником – припаять сопротивление 4,7 кОм и датчик температуры, а так же перемычку включения питания (см. ранее).

Есть еще один вывод который может пригодится — вывод RST – «Сброс» — для этого нужно подать на него «минус». Пару раз пригодилась эта «кнопка» — возможно потому, что схема собрана на весу…

7. Работа датчика.
Если все прошло правильно датчик начнет помаргивать синим светодиодом и излучать в WIFI эфир температуру. А вот что бы эта температура стала «видима» нужно в браузере указать IP адрес вашего модуля (мы его знаем из пункта 5) и на экране появится вот такая картинка:

Источник

Пример отправки на narodmon.ru

Алекс

Member

vyacheslav

New member

Алекс

Member

Просто у меня таких поделок уже много, и все работают. Некоторые не один год.

vyacheslav

New member

Вложения

Алекс

Member

vyacheslav

New member

vyacheslav

New member

Вложения

Алекс

Member

vyacheslav

New member

Вложения

mikhail09p

New member

Arduino: 1.6.10 Hourly Build 2016/05/18 07:34 (Windows 7), Плата:»Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None»

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManager::handleWifi(unsigned char)’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManager::handleInfo()’

sketch\WiFiManager-master\WiFiManager.cpp.o:sketch\WiFiManager-master/WiFiManager.cpp:590: first defined here

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManager::handleReset()’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManager::handleReset()’

sketch\WiFiManager-master\WiFiManager.cpp.o:sketch\WiFiManager-master/WiFiManager.cpp:630: first defined here

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManager::handleWifiSave()’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManager::handleWifiSave()’

sketch\WiFiManager-master\WiFiManager.cpp.o:sketch\WiFiManager-master/WiFiManager.cpp:532: first defined here

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManagerParameter::WiFiManagerParameter(char const*)’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManagerParameter::WiFiManagerParameter(char const*)’

sketch\WiFiManager-master\WiFiManager.cpp.o:sketch\WiFiManager-master/WiFiManager.cpp:16: first defined here

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManagerParameter::WiFiManagerParameter(char const*)’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManagerParameter::WiFiManagerParameter(char const*)’

sketch\WiFiManager-master\WiFiManager.cpp.o:sketch\WiFiManager-master/WiFiManager.cpp:16: first defined here

libraries\WiFiManager-master\WiFiManager.cpp.o: In function `WiFiManagerParameter::init(char const*, char const*, char const*, int, char const*)’:

c:\users\миха_р\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2455: multiple definition of `WiFiManagerParameter::init(char const*, char const*, char const*, int, char const*)’

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.

Источник

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk

По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2.

В данном обзоре я не буду описывать «пагубность» влияния CO2, а также низкой влажности на самочувствие и здоровье человека. Также, как и не буду доказывать, что без этого девайса не прожить. Об этом уже написаны тонны статей, как и споров в комментах. Я постараюсь лаконично описать создание максимально бюджетного устройства, но при этом измерительного устройства, а не показометра.

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

Для создания нам понадобятся следующие комплектующие:

Сразу оговорюсь, что в данном случае не будет конечного устройства. Так как аппетит приходит во время еды, и захотелось ещё мониторить чистоту воздуха. Датчик же PM2.5 частиц только недавно приехал, и 3D-печатный корпус под это всё хозяйство буду проектировать попозже. Плюс хочу заказать у китайцев печатные платки, чтобы с проводами не возиться. Но корпус любой уже может сделать на своё усмотрение, главное помнить, что через корпус должен хорошо проходить воздух, и датчик температуры нужно держать подальше от всех остальных компонентов, так как они греются и могут завышать температуру.

Как я дошел до этого

DIY устройств на этих датчиках в интернете вагон и маленькая тележка. Но почему-то, в основном люди зациклены на создании, так сказать, Standalone-решений. Т.е. коробочка с датчиками и экраном, на который выводятся показания. Но я не в восторге от экранчиков от Nokia и всяких символьных 1604 и подобных, тем более хотелось бы видеть графики для анализа изменений. А хороший IPS экран, во-первых, будет стоить больше всех датчиков вместе взятых, во-вторых, может потребовать более мощного контроллера, в-третьих, потребует возни с нормальным интерфейсом (те же графики рисовать).

Читайте также:  Інститут народного господарства київ

А поскольку занимаюсь web-разработкой, сразу же пришла мысль об отделении «мух от котлет». Т.е. датчики занимаются только сбором данных и отправкой их на сервер. Ну, а с сервера мы можем получить эти данные в нужном виде и для нужного устройства. В простейшем виде можем просто показания посмотреть, но в то же время спокойно можем к эти данным привязать исполнительное устройство (например, включение приточной вентиляции или открытие форточки сервоприводом).

Blynk

Перед тем, как делать свой велосипед. Решил глянуть возможные готовые решения. Естественно есть различные сервисы для сбора данных Народный мониторинг, thingspeak и т.п. Но как-то они показались слишком громоздкими для моего случая. Различные системы «умных домов», которые умеют работать с датчики, тоже из пушки по воробьям.

Blynk в первую очередь привлек своим дизайном, и хорошей документацией с примерами. Прошли считанные минуты на ознакомление, и вот уже на экране телефона выводится температура и влажность с красивыми графиками. В итоге было решено остановиться на нём. Тем более, что для Blynk, при желании, можно настроить локальный сервер.

Вот так выглядит проветривание 10 минут, в режиме откинутое окно (в районе 0 часов), потом CO2 довольно быстро поднимается, при том, что я сейчас один в квартире.

Вроде всё хорошо, CO2 быстро снизился до 410 ppm, но график PM2.5 увеличился в 2,5 раза, и температура упала на 2 градуса.

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

В моем случае используются следующие виджеты:

Также можно установить свой Blynk сервер. Либо есть альтернативные Blynk серверы почти без ограничения.

Ну и ещё вариант, заменив Labeled Value на Value Display можно сэкономить 1000, плюс убрать один или 2 графика. На одном графике можно выводить 4 показателя.

О датчиках

Датчики SenseAir S8 бывают нескольких сильно отличающихся модификаций. Для наших целей отлично подходит модификация 004-0-0053, и у себя использовал именно её. Обратите внимание, что S8 датчики есть для промышленного применения, с виду одинаковые, но на значительно большие диапазоны, к примеру модель 004-0-0024 измеряет от 400 до 32000 ppm (но при этом точность ±1000 ppm, у модели 0053 точность ±40 ppm), в домашних же условиях 400-800 ppm это хорошо, а больше 2000 ppm уже будет очень плохое самочувствие.

Обращаю внимание, что датчики температуры BME280 в виде готовых модулей, бывают на напряжение 3,3 В и на 5 В. В нашем случае нужен именно на 3,3 В.

Датчики пыли PM 2.5 бывают тоже несколько вариантов PMSA003-A (вход и выход воздуха с одной стороны) и PMSA003-C (вход и выход с противоположных сторон). Тут в принципе без особой разницы, зависит от того, как удобнее будет в корпусе. Также есть более старые поколения этого датчика PMS7003, PMS5003 (без дополнительных букв). Они также подойдут и должны работать с прошивкой без изменений, но они больше по размерам. Для датчика PMSA003 желательно купить переходник, так как там контактная площадка с шагом 1 мм, и подпаиваться проводами несколько напряжно.

Что касается самого модуля ESP32, то это по сути самая дешевая плата на базе ESP32. Прошивка должна работать и на других модификациях, если там соответствующие пины свободны.

Подключение

Схема подключения выглядит так.

Прошивка

Сначала хотел выкладывать это в виде скетчей для Arduino IDE. Но тогда придется ещё рассказывать, как пользоваться этим самым Arduino. Поэтому для увеличения уровня доступности решил сделать готовую прошивку и добавить WiFi менеджер.

При первой загрузке, или, когда не удаётся подключиться к сети, девайс переходит в режим точки доступа, и создаёт сеть вида esp32_eae234 (где после esp32 кусочек серийного номера чипа, т.е. он будет разный).

Вы на смартфоне открываете список сетей и подключаетесь к этой сети. После чего телефон скажет, что для подключения нужно открыть браузер (точно также как в различных WiFi сетях магазинов, кафешек и т.п.). В браузере открывается страничка, в которой можно из списка доступных сетей выбрать нужную, ввести пароль для неё, а также ввести Token для Blynk.

Проект для Blynk можно будет клонировать просто отсканировав QR-код. И в дальнейшем вы сможете либо использовать его в готовом виде, либо изменить его под себя.

Саму же прошивку с инструкциями по установке и исходники, опубликую попозже. Хотелось бы получить обратную связь по необходимым функциям, ну и несколько добровольцев «для опытов», чтобы можно было провести закрытое beta-тестирование, прежде, чем выкладывать в открытый доступ. Если будет востребовано, то могу и сайтик организовать, чтобы можно было обновления выкладывать.

Для самых нетерпеливых, выкладываю исходник прошивки

Материалы по теме

Кстати, выяснилось, почему так увеличивался PM 2.5 при проветривании, оказывается в очередной раз что-то горит под Киевом. И сейчас Киев вошел в 10-ку городов мира с самым грязным воздухом. Причем почувствовал запах гари я значительно позже, чем начал показывать датчик. Так что тоже полезно, сигнализировать, что сейчас не время для проветриваний.

156 это показания в местных попугаях, а в PM 2.5 это 64 µg/m³.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Источник

Самодельная система домашнего мониторинга из Кафтанчиково

Что это и зачем это

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

Из чего состоит и выбор компонентов

Система состоит из нескольких датчиков которые отправляют информацию о себе по WiFi

центральному контроллеру. Датчики собраны на контроллере esp8266. Центральный контроллер — любой компьютер, под управлением операционной системы из семейства линуксообразных, на котором поднята система Domoticz. В моем случае используется микро компьютер «BananaPi m2 Berry» с установленной Ubuntu. Если не требуется большого количества датчиков и не планируется передавать исполнительным устройствам команды, то центральный контроллер особо не нужен. Можно зарегистрировать свои датчики на сервисе «Народный мониторинг» https://narodmon.ru и наблюдать за ними из любой части света. Правда есть ограничения. Бесплатно можно зарегистрировать на сервисе всего два датчика и хранится история только за последний год.

Так как главной задачей было быстро создать некий прототип то и компоненты выбирались максимально простые но с максимальной обвязкой. Так, чтобы сильно паяльником не размахивать и не лезть в дебри программирования. Соответственно, все они избыточны для моего применения.

Профессионалы собрали бы тоже самое — дешевле.

Выбор Domoticz в качестве контроллера системы “умного дома” — импульсивный шаг. Взял что первое попалось под руку, и оно заработало “из коробки”. Есть нюансы, но данное приложение работает. Все что нужно, есть в стандартной поставке. Функционал легко (по крайней мере так пишут на форумах) можно допилить для своих нужд. Отельными нахлобучками, например, можно научить работать с некоторыми датчиками беспроводных метеостанций (которые работают на частоте 433.92Мгц), а также научить реагировать на сигналы беспроводных радио-звонков, радиопультов и т.п, работающих на этой частоте.

Есть пинг-чекер, т.е. Domoticz может ”пинговать” смартфоны жильцов и определять что владелец (вместе со смартфоном) пришел или покинул дом. Для моих хотелок — там есть штатный модуль мониторинга UPS. Вобщем, вещь мощная, но т.к. разрабатывается и дорабатывается энтузиастами — есть некие неудобства. Зато бесплатно, работает автономно на домашнем компьютере, и не требует никаких “китайских облаков”.

Короче, хватит словоблудства, теперь будут картинки.

Изготавливаем WiFi датчики.

“Сердцем” датчика служит плата NodeMCU на контроллере ESP8266.

Стоит она около 3$. Покупается в любом удобном магазине (авито, ебэй, алиекспресс).

Эта плата уже содержит все необходимое для работы. Требуется только микро-USB шнурок, для подключения к компьютеру и заливки прошивки. Для питания подойдет любой блок питания на 5В. Я использую зарядки с USB выходом от древних телефонов (их продают за копейки в любом ларьке).

В качестве датчиков, используются датчики bosch BMP280 (давление/температура) и BME280 (давление/температура/влажность). Датчики миниатюрные, поэтому покупать лучше сразу распаянные на плату (на картинках — размер платы примерно с 10 копеечную монету). Стоят тоже около 3$. Покупаются там же где и nodemcu. Визуально, чтобы не обманули китайцы — габариты датчика bmE280 больше примерно в полтора раза, чем bmP280 и стоит он дороже

Следующий датчик — датчик CO2 MH-Z19. Самый дорогой и капризный. Стоит 21$. Говорят, что очень чувствителен к статическому электричеству и перегреву во время пайки. Т.е. брать в руки только при наличии антистатического браслета и паять на минимальной температуре. Умеет мерить CO2 в диапазоне от 0 до 5000 (в некоторых случаях 10000) ppm, и автоматически калибруется. Из минусов, для того, чтобы начал показывать более-менее правдивые показания — должен простоять включенным сутки. Ну и после выключения питания — слетают калибровки, но, опять-же, через сутки снова будет показывать что-то похожее на правду.

Читайте также:  Как народными средствами вывести грызунов

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

Вообще, ESP8266 имеет широкий набор интерфейсов и позволяет подключить практически любые датчики. Т.е.выбор датчиков ограничен только вашей фантазией (датчик освещенности, датчик движения, датчик излучения, и т.п) и количеством свободных “ног” у контроллера.

А теперь, при помощи паяльника, это все собирается в одну кучу.

К сожалению, во время изготовления не делал фотографий, но поверьте, там ничего сложного. Всего 8 проводов. Единственное, TX и RX на датчике CO2 мог перепутать. Если сразу не взлетит — надо будет поменять местами.

Подключение датчика CO2

Vin — любой ближайший пин 3V

GND — любой ближайший пин G

TX — подключаем к D8

RX — подключаем к D7

Подключение датчика bme280

Vcc — любой ближайший пин 3V

GND — любой ближайший пин G

Небольшое дополнение. Так как модуль wi-fi сильно греется при работе, то датчики желательно размещать подальше от контроллера. Датчик CO2 обязательно должен стоять снаружи. Датчику температуры-влажности тоже нужен доступ к свежему воздуху. Но, не забывайте, есть ограничение на длину сигнальных проводников. Не рекомендуют их делать длиннее 50см. Так же рекомендуют датчики экранировать от контроллера фольгой. Но, есть нюансы. Надо WiFi антену (расположена в верхней части модуля node mcu), случайно, не перекрыть.

Короче, покупаем в ближайшем хозмаге пластиковую распаечную коробку за 30 руб, берем наши провода, датчики, контроллер, паяльник, “шнурок” micro-USB. Складываем все в мешок, трясем-трясем-трясем и вытряхиваем на стол.

Должно получится что-то вроде такого

Теперь надо залить прошивку в получившееся устройство. Настроить его, и настроить передачу данных на “народный мониторинг”.

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

Смотрим список устройств, должен найтись COM порт на базе CH340.

У меня Windows10 и драйвера она нашла самостоятельно. Если не найдет, наверное придется заморочиться и искать их по vid/pid, но, у меня все получилось.

Если все нормально, скачиваем прошивку ESPEasy_mega вот отсюда https://github.com/letscontrolit/ESPEasy/releases

Качаем самую последнюю версию. Распаковываем в любую удобную папку и запускаем ESP.Easy.Flasher.exe

Открывается окно программы.

Тут необходимо выбрать COM-порт датчика (номер подглядели в диспетчере устройств) и выбрать прошивку. Для NodeMcu выбираем ESP_Easy_mega-20190121_normal_ESP8266_4096.bin. Для других версий плат надо выбирать то что им подходит. Если что-то пойдет не так, можно будет залить чистую прошивку blank_4MB.bin и он все затрет нулями и NodeMcu станет снова, как будто с завода.

Жмем кнопку “Flash ESP Easy FW” и ждем некоторое время. Обычно, около 90 секунд.

После прошивки, модуль перезагрузится (если не сможет сделать это самостоятельно, надо будет нажать кнопку ”reset” на NodeMcu или “передернуть” питание )

После перезагрузки появляется WiFi сеть с названием ESP_Easy_0

Подключаемся к этой сети, и нас должно перекинуть на страницу настройки модуля. Если автоматически не перекинуло, набираем в адресной строке браузера 192.168.4.1 и жмем Enter.

Должно открыться окно настройки WiFi сети

Выбираем нужную WiFi сеть, вводим пароль и жмем кнопку Connect.

После, датчик подключится к выбранной сети. И тут надо бы зайти в настройки WiFi-роутера, чтобы узнать адрес датчика и присвоить ему постоянный адрес. Это не сложно, но у каждого роутера это делается по-своему, поэтому в данной инструкции это описывать не буду, надеюсь, что разберетесь сами.

После перезагрузки — в адресной строке браузера вводим адрес датчика и открывается окно с настройками

Выбираем пункт Hardware и смотрим настройки i2c интерфейса. Если все делалось по инструкции, то должно быть как на картинке

Сохраняем, переходим на вкладку Devices и жмем кнопку Edit в любом свободном пункте

В появившемся меню выбираем тип датчика (в нашем случае “Environment — BMx280”)

И настраиваем. Настройка — проста, надо придумать название датчика (я написал “temp”, можно любое название, главное чтобы самому не запутаться) и поставить галочку “enabled”.

Сохраняем, ждем минуту и проверяем, что получилось. Для этого переходим на вкладку Devices. Датчик должен определиться и показать свои значения

Ждем несколько минут, и сверяем показания с эталонным термометром. В моем случае, датчик завышает на 4,5 градуса. Поэтому жмем кнопку “Edit”. Мотаем в самый низ и в значении Formula в пункте Temperature вводим “%value%-4.5” (без кавычек)

Ждем некоторое время. Если значения термометра похожи на правду — переходим к настройкам датчика CO2

На вкладке “Devices” жмем кнопку “Edit” в любом свободном пункте и выбираем тип датчика “Gases — CO2 MH-Z19”

В настройках датчика вводим его название, и выбираем пины ESP к которым он подключен (если делали все по инструкции, то оставляем как на картинке) и задаем интервал опроса датчика. В той документации о датчике, что я читал, указывалось, что интервал опроса должен быть не чаще чем раз в минуту, поэтому указываем 60 секунд. Не забываем поставить “галочку” — “Enabled”

Сохраняем. Перезагружаем модуль. Переключаемся на вкладку Devices, ждем пару минут и проверяем получает-ли датчик значения.

Если датчики видны и реагируют на внешние воздействия, значит все в порядке. И пора научить наш датчик отправлять значения на Народный Мониторинг.

Внимание (!), я буду отправлять только данные с температурного датчика.

Отправка данных с датчика CO2 (или с любых других) — настраивается аналогично.

Т.к. штатных средств для отправки данных на народный мониторинг в данной прошивке нет, будет настраивать это через Rules (Правила).

Заходим на интерфес датчика. Переходим во вкладку “Tools” и жмем кнопку “Advanced”.

В открывшемся окне ставим галочку “Rules”

Сохраняем настройки. Перезагружаем..

После перезагрузки появляется новый пункт меню “Rules”

Заходим в него, и вводим следующее правило

On System#Boot do //When the ESP boots, do

timerSet,1,10 //Set Timer 1 for the next event in 10 seconds

On Rules#Timer=1 do //When Timer1 expires, do

timerSet,1,360 //Resets the Timer 1 for another 360 seconds

Здесь ID — это уникальный идентификатор, по которому сервис народного мониторинга будет опознавать датчик. В идеале, это должен быть MAC-адрес вашего датчика, но можно придумать любое уникальное сочетание цифр и букв. Главное, чтобы этот идентификатор был действительно уникальным и больше ни у кого такого не было.

В предпоследней строке timerSet — указываем как часто должны отправляться данные на сервис в секундах. Вообще, рекомендуется отправлять данные не чаще, чем раз в пять минут. Иначе, IP-адрес могут заблокировать. Поэтому указываем 360 т.е. 6 минут.

В строке запроса SendToHTTP narodmon.ru,80,/get?ID=XXXXXXXXXXXXXX&T1=[Outdoor#Temperature]&P1=[Outdoor#Pressure]&H1=[Outdoor#Humidity]

“Outdoor” — это название датчика (из вкладки “Devices”), а “Temperature” (“Pressure”, “Humidity”) — названия значений

Далее, регистрируемся на сайте https://narodmon.ru Делаем все по инструкции с сайта.

И если все нормально, то наблюдаем следующую картину

ID — это придуманный идентификатор (MAC — адрес).

Жмем “Добавить” и вводим идентификатор датчика

И наблюдаем информацию с датчика

Теперь на карте есть наш датчик. Через сутки можно его “расшарить” чтобы он был доступен всем желающим.

Установив приложение “народный Мониторинг” на телефон, можно наблюдать в виджете изменение параметров датчика, практически в режиме “реального времени”.

Добавление датчиков в Domoticz

Добавление датчиков происходит не совсем прозрачно и в два этапа. На первом этапе создаем датчик в Domoticz и смотрим ID датчика. На втором – прописываем в ESP-датчик контроллер (компьютер на котором «крутится» Domoticz) и IDX датчика.

Теперь опишу это подробнее

В панели управления Domoticz заходим в меню Setup->Hardware и видим такую картину

И делаем следующее: в поле «Name» вводим название датчика (можно любое, у меня для примера вписано «hall»). В поле «Type» выбираем тип «Dummy» и жмем кнопку «Add»

После этого датчик появляется в списке датчиков. Внимательно смотрbм на поле «IDX» и запоминаем его (в данном случае, у датчика «hall» «IDX» равен «4»)

После, жмем «Create Virtual Sensors» у выбранного датчика и появляется такое окно.

Тут опять все просто, в поле «Name» вводим название сенсора (как он будет отображаться в списке наших датчиков). И выбираем тип сенсора (т.к. используется датчик температура+влажность+давление то у нас это будет «Temp+Hum+Baro»). Жмем «ОК», переходим на вкладку «Temperature» в Domoticz и можем полюбоваться на красивую картинку с датчика.

Вот только значений там пока не будет, т.е. все будет по нулям.

Так что переходим к следующему этапу — настройка ESP-датчика.

Заходим на интерфейс датчика через веб-браузер, идем во вкладку Controllers и заполняем по аналогии, только своими данными. Если в Domoticz устанавливали пароль на вход, не забываем его указать. Так же, не забываем поставить галочку «Enabled»

Сохраняем и переходим во вкладку «Devices»

Смотрим столбец IDX и видим, что он не совпадает с тем, что запоминали у нашего датчика в Domoticz. Поэтому жмем кнопку Edit и переходим в настройки сенсора

Обязательно ставим галочку «Send to Controller». Вводим запомненный IDX датчика из Domiticz, сохраняем настройки. На всякий случай можно перезагрузить ESP.

Собственно, на этом все, если сделали все правильно и не забыли проставить нужные галочки, то через несколько секунд (иногда придется подождать пару минут) в Domoticz, во вкладке Temperature увидим текущее значение датчика. P.S. Если нажать «звездочку» у датчика, то он будет отображаться на главной странице Domoticz.

29 комментариев

Imhodom 11 Фев ’19, 11:18

Читайте также:  Виды народных художественных росписей

Спасибо. Полезно. И вроде не так уж и сложно )

scaner1981 11 Фев ’19, 12:29

Это еще не все… Дальше будет уже установка домотикза.

nblka 11 Фев ’19, 13:45

О, круто. Теперь от системы мониторинга до системы управления (вентиляции по уровню CO2, увлажнения по уровню влажности) один шаг! Правда, большой ))

AVANbI4 11 Фев ’19, 14:57

Спасибо огромное за пополнение моей копилки знаний. Интересная реализация. Такие шурушки я еще не крутил.

scaner1981 11 Фев ’19, 20:50

С учетом того, что EasyEsp можно прошить в «умные розетки Sonoff» или же к NodeMCU подключить реле, то до «включить нагрузку при определенных значениях» — не так уж и далеко. Единственное, управление должно быть централизованным, а то десятком датчиков сложно управлять вручную.
Так, что ждите продолжения. Скоро про Domoticz выложу. Только там тоже, инструкцию писать дольше, чем устанавливать и настраивать. Устанавливается он вообще одной командой..

scaner1981 11 Фев ’19, 23:12

А насчет сложности.. Я пытался писать прошивку для esp самостоятельно, на Си и в Arduino IDE (сейчас спецы закидают шапками). Научил получать данные с датчиков отправлять данные на сервер через GET. Но, заняло это у меня примерно пол года. Причем я даже близко не приблизился к EasyEsp. Хотя бы потому, что при потере WIFi cсоединения, модуль приходилось перезагружать вручную, а тут — оно само все делает. И даже есть встроенный WatchDog, который перезагружает модуль при зависаниях.
Есть выражение «рвал на себе волосы» — вот это примерно описывает мое состояние, когда через пол-года ковыряния, я узнал что есть готовая прошивка, которая делает все что мне нужно «из коробки». И для прошивки надо лишь скачать ее на комп и нажать кнопку «прошить».
Вобщем, впечатлился…

psm 12 Фев ’19, 08:41

круто. респект.
я тоже вначале кидаюсь врукопашную что-нибудь написать…. трудоемко. чаще всего дописываю))))

Agar 12 Фев ’19, 10:52

Да. Класс. Вот уже и наглядная демонстрация реальности нового времени.
Я ничего не понимаю в этих «Изи..» и прочих. Но неужели все так просто? Неужели все купить и собрать, следуя инструкции, и все заработает? Или есть еще какие-то сложности, которые опущены?

Макс 12 Фев ’19, 11:15

Спасибо за просветительство. Забрал статью в избранное )

Pym 12 Фев ’19, 17:54

Я купил умный дом Xiaomi мониторю пока температуру в отоплении, чтобы быть уведомленным когда котел встал, например. Есть еще датчик протечки воды. Есть розетка которую можно отключить или включить с тлф. Вообще много датчиков разных есть. Мне кажется это проще все намного чем у вас.

scaner1981 12 Фев ’19, 19:25

По поводу сяоми — может и проще. Но, нужно китайское «облако». А что там будет с инетом у китайцев- фиг знает. Моя — работает не зависимо от облаков. Все крутится на моем личном компьютере.
P.S. умные утройства от сяоми тоже интегрируются в Domoticz Вот список поддерживаемых устройств https://www.domoticz.com/wiki/Hardware

Pym 13 Фев ’19, 11:23

Вам конечно респект за это, но обычный человек вряд ли это сделает.

vinnipux1982 13 Фев ’19, 13:46

У меня стоит умный дом от Livicom.ru.
Два канала доставки уведомлений (по кабелю через Ethernet + можно вставить сим-карту, тогда ещё и смс-ки слать начинать и звонить и говорить голосом железного человека, что на объекте проблемы), система может работать без облака, облако Российское, отличное приложение для телефона, в системе пока 14 типов устройств, список устройств всегда растет, есть возможность сдавать объект в ЧОП, причем для этого достаточно выбрать в приложении ЧОП и нажать кнопку хочу охраняться. Все датчики по радио, срок службы от одной батарейки производитель заявляет 10 лет, у меня стоят почти год. Есть сценарии: по нажатию (брелок или с телефона), по расписанию, по событию. Всего можно подключить 256 датчиков, создать 64 сценария. Ставится и настраивается система в считанные минуты/часы.

Умный дом от ксиоми мне не понравился из-за китайского облака, и того что все перестает работать без интернета, плюс плохая локализация.
Делать самому систему как вы я бы не смог, тупо по ч.ч. не вывезу да и знаний нет по железу. да и вайфай, мне кажется он слишком не надежен.

scaner1981 14 Фев ’19, 23:11

Во-первых, по поводу «обычного человека» — я так и не смог понять, то-ли вы мне льстите, то-ли наоборот… Я считаю себя как раз тем самым, обычным человеком, который может спаять 8 проводков, и записать в модуль готовую прошивку. Скажем так, даже на этом форуме, есть более профессиональные коллеги, которые что мою конструкцию, что программу — разобьют в пух и прах.

Во-вторых, по-поводу любых «облаков», я считаю, что любой посредник — есть зло. Чем большее количество устройств я могу контролировать самостоятельно — тем система более устойчива. «Облака», что китайское, что русское — это вообще весьма опасная вещь. Лучше, чтобы их вообще не было бы.

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

P.S. не забывайте, что в споре — рождается истина. Я возможно, не вижу тех причин, по которым вам пришлось обратиться к другим устройствам. Если вы считаете, что ваши устройства лучше — опишите их подробнее. Если они действительно хорошие, я думаю, многие возьмут информацию на заметку.

vinnipux1982 15 Фев ’19, 00:04

Я писал что всё упирается в человеко часы.
По поводу вайфая, ну вот смотрите у меня в квартире файфай не везде ловит хорошо, а датчики livicom.ru спокойно можно поставить на 70 метров от приемника и он будет устойчиво передавать данные.
Припоять 8 проводков и залить прошивку, это не обычный обыватель, далеко не обычный.
Облака, это будущее, вспомните как появлялись сотовые телефоны, сначала это было очень дорого и все считали их баловством, потом у всех появились кнопочные телефоны, и на рынке стали появляться первые смартфоны, то же многие говорили, что вещь бессмысленная, и нет нечего лучше кнопочной мобилки….а сейчас они у всех…. в общем я не понимаю чем страшны облака. Но они сильно удобны.
У Livicom.ru облако нужно, что бы настроить и показать вам текущее состояние в доме. Все сценарии и другая логика, крутится у вас в устройстве и при отключении от облака будет работать автономно.

Cardinal 16 Фев ’19, 20:23

хм ) кто-то не зря в технаре учился ))

поддержу scanner-а в плане облаков. Это как в старом анекдоте «вам шашечки или ехать?». Самый дорогой ресурс — время, и всякая система не должна его хавать. Поставил — и забыл. Если есть вероятность что когда-то прилетит отказ из облака (а напомню недавний кипишняк когда родной роскомнадзор уложил пол-интернета и «умные» бойлеры отказались работать) — облако долой. Для просмотра достаточно зайти на айпишник своего дома? вот туда и дорога. Выкладывать инфо о погоде в доме на всеобщее обозрение — вообще нарушение безопасности, кто-то например по углекислоте вычислит дома Вы или нет.
ну и к слову — «умный дом» предполагает наличие у дома ума. То, что имеем — пока похоже на удаленный мониторинг. ну или удаленное управление. ума тут нет. Может его и не надо — боролся недавно с умом в смартфоне, матюкнулся и обрезал в настройках все по самое по оно. Ибо этот ум где его не ждешь задалбывает.

PavelRacing 25 Фев ’19, 21:51

Вопрос топикстартеру, я сам пока не смог найти ответ, даже в глобальном поиске.

NodeMcu прошиваю, вайфай сеть ESP_Easy_0 появляется в окружении, но не могу к ней подключиться, запрашивает ключ безопасности от сети, без него не дает подключение, стандартные пароли пробывал, типа 12345678 и тд. не подходят.
Думал в версии прошивки косяк, пробывал разные, всеравно запрашивает пароль, и с ноутбука и со смартфона.

PavelRacing 26 Фев ’19, 08:13

Все сделал, прикольная вещь получилась, только я один температурный пока подключил DS18B20.

Пароль кстати для сети configesp случайно нашел.

scaner1981 26 Фев ’19, 22:32

PavelRacing, действительно, забыл про пароль от WiFi. Он у меня в браузере сохранен, поэтому как-то все мимо пролетало. P.S. На НародныйМониторинг пробовали датчик добавлять? Я там тоже по-памяти писал. Мог накосячить…

P.P.S. Администрация, добавьте, пожалуйста, пароль для WiFi-сети Esp_Easy_0 в текст статьи. И, если не трудно, замаскируйте MAC-адреса и идентификаторы. А то админы «народного-мониторинга» ругаются на нарушения правил.

PavelRacing 27 Фев ’19, 11:29

scaner1981, На НародныйМониторинг добавился датчик отлично., все по инструкции.

Ivan 12 Май ’19, 17:50

scaner1981 20 Май ’19, 20:29

Сергей 5 Ноя ’19, 18:16

сбрасывает подключение. после прошивки захожу на начальную страницу настройки сети ввожу данные — конект. подключается к сети (видно в настройках роутера) на секунду и отключается и так бесконечно. пробовал более ранние прошивки одинаково себя ведет.

Сергей 5 Ноя ’19, 18:30

на какой плате это 100% работает?

Kornet 17 Ноя ’19, 05:53

Шейте EspEasyMega на классическом 2.4.2 ядре, последний релиз на нем был от 26.02.2019. Должно заработать.
А новодел на 2.6.0 ядре начинает дергать DHCP сервер роутера каждые 10сек.
Как давление показывать в мм.рт.столба?

Kornet 18 Ноя ’19, 00:28

Формула перевода в мм.рт.ст %value%*0.75
Внизу страницы настройки датчика.

Сергей 14 Дек ’19, 21:06

Сергей 14 Дек ’19, 21:35

можете видео снять как что установить настроить откуда скачать? не коннектится не одна прошивка на разных платах пробовал

Источник

Поделиться с друзьями
Расскажем обо всем понемногу
Adblock
detector