Что умеет: контроль температуры, влажности, точки росы и автоматическое управление увлажнителем по заранее заданным параметрам, беспроводное обновление с компьютера по WiFi, удаленный доступ из любого места при наличии интернета и смартфона android, iPhone, сохраняет работоспособность(управление увлажнителем) при потере сигнала WiFi или отсутствии интернета
Что планируется добавить: не знаю, предлагайте
Что потребуется для сборки:
ESP8266 nodemcu
https://ru.aliexpres...2638137121.html
bme280 5v лучше брать такой
https://ru.aliexpres...2659765502.html
bme280 3.3v
https://ru.aliexpres...2646637011.html
Блок питания и кабель пойдет от телефона, планшета с током ~2A или купить примерно такое
бп
https://ru.aliexpres...2287642946.html
кабель
https://ru.aliexpres...2285132898.html
Если будем управлять увлажнителем или чем либо(каждое устройство +1 канал)
реле
1 канальное контактное
https://ru.aliexpres...2480128984.html
1 канальное контактное получше
https://ru.aliexpres...2456786692.html
двухканальное контактное, канал в запас
https://ru.aliexpres...2639412916.html
конвертер уровней, у меня и без него работает
https://ru.aliexpres...2647434669.html
Я использую такой увлажнитель
для регулировки скорости вентилятора увлажнителя использую такой повышатель
MT3608
с разъемом
https://ru.aliexpres...2639726492.html
без
https://ru.aliexpres...2675974827.html
Реальное расположение контактов у bme280 5V и реле отличается от того что на картинке, 5 вольт берем с платы nodemcu
форум обрезает картинки, схемы в архиве
esp8266_all.rar 541.23 КБ
387 Скачано
bme280 3.3v увлажнитель 12v
bme280 5v увлажнитель 12v
bme280 3.3v увлажнитель 220v
bme280 5v увлажнитель 220v
Для прошивки модуля
1 Настроенная портативная Arduino IDE, следующий шаг для ознакомления
https://yadi.sk/d/4bLWfz003G2GPL
2 ESP8266 прошивка, программирование в Arduino IDE
https://geektimes.ru/post/271754/
3 Cофт можно обновлять через wifi, для этого требуется сделать так
https://elementztech...ng-arduino-ide/
#include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <SimpleTimer.h> #include <WiFiUdp.h> #include <ArduinoOTA.h> //------------------------1------------------------------- #include <Wire.h> // BME280 #include <BME280I2C.h> // BME280 BME280I2C bme; bool metric = false; float hum3, dew4, temp5; uint8_t min_hum3 = 70; // температура включения увлажнителя uint8_t max_hum3 = 75; // температура выключения увлажнителя //uint8_t flag_fany_on = 1; char auth[] = "ваш auth из приложения"; char ssid[] = "имя wifi"; char pass[] = "пароль wifi"; bool Connected2Blynk = false; SimpleTimer timer1; // sensor timer SimpleTimer timer2; // connection timer unsigned long timestamp3; void sendSensor1() { hum3 = bme.hum(); dew4 = bme.dew(); temp5 = bme.temp(); Blynk.virtualWrite(V3, hum3); Blynk.virtualWrite(4, dew4); Blynk.virtualWrite(V5, temp5); Connected2Blynk = Blynk.connected(); } void checkconnection() { if(!Blynk.connected()){ WiFi.begin(ssid, pass); Blynk.config(auth); // in place of Blynk.begin(auth, ssid, pass); Blynk.connect(3333); // timeout set to 10 seconds and then continue without Blynk Connected2Blynk = Blynk.connected(); Blynk.virtualWrite(V10, 0); // увлажнитель выкл } } void setup() { Serial.begin(9600); ArduinoOTA.begin(); //Blynk.begin(auth, wifi, ssid, pass); timer1.setInterval(1500L, sendSensor1); timer2.setInterval(5000L, checkconnection); Blynk.virtualWrite(V10, 0); // увлажнитель выкл pinMode(13, OUTPUT); // увлажнитель digitalWrite(13, HIGH); // увлажнитель выкл if (!bme.begin()) { Serial.println("Couldn't find sensor!"); //while (1); } } void loop() { timer1.run(); timer2.run(); if(Connected2Blynk){ Blynk.run(); } //---------------------------увлажнитель---------------------------------------- if(millis()-timestamp3>=1000){ timestamp3=millis(); if(hum3 <= min_hum3){ // влажность //digitalWrite(13, LOW); // увлажнитель вкл Blynk.virtualWrite(V10, 1023); // увлажнитель вкл //flag_fany_on = 1; } if(hum3 >= max_hum3){ // влажность //digitalWrite(13, HIGH); // увлажнитель выкл Blynk.virtualWrite(V10, 0); // увлажнитель выкл //flag_fany_on = 0; } } //------------------------------------------------------------------------------ ArduinoOTA.handle(); }
приложение на android здесь https://play.google....ils?id=cc.blynk
Сообщение изменено: break, 18 March 2017 - 21:34.