Что умеет: контроль температуры, влажности, точки росы и автоматическое управление увлажнителем по заранее заданным параметрам, беспроводное обновление с компьютера по 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 КБ
435 Скачано
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.


Россия



Наверх



