| Ваш IP: 54.145.83.79 | Online(16) - гости: 9, боты: 7 | Загрузка сервера: 3.52 ::::::::::::

wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e)(Терморегулятор с удаленным управлением)

На базе wi-fi модуля NodeMcu v3 с чипом ESP8266 (ESP-12e) можно сделать простой терморегулятор. В качестве датчика используется цифровой датчик 18B20. Управление терморегулятором осуществляется при помощи WEB страницы, на которую выведены показания датчика температуры и кнопки регулирования температуры.

Управление терморегулятором возможно по локальной сети, а так же через Интернет. Для управления через Интернет необходимо иметь постоянный IP адрес и осуществить переброску портов в маршрутизаторе. Более подробно об управлении через Интернет написано — wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e)(Удаленное управление нагрузкой).

Если Вы не знаете как прошить модуль NodeMcu v3, то ознакомьтесь со следующей статьей wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e)(Arduino IDE).

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(14);// D5 вход датчика 18b20
DallasTemperature t(&oneWire);
MDNSResponder mdns;
const char* ssid = "Имя_сети";
const char* password = "Пароль";
ESP8266WebServer server(81);
 
int temper,reg_t=20,gis=1;
String ind;
 
void setup(void){
 
  pinMode(2, OUTPUT);// D4 выход управления нагрузкой
  t.begin();t.setResolution(10);//10 бит 
 
  delay(1000);
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.println("");
 
  while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}
  Serial.println("");
  Serial.print("Connected to ");  
  Serial.println(ssid);
  Serial.print("IP address: ");  
  Serial.println(WiFi.localIP());
 
  if (mdns.begin("esp8266", WiFi.localIP())) {Serial.println("MDNS responder started");}
 
  server.on("/", [](){web();});
  server.on("/obn", [](){web();});
  server.on("/reg+", [](){reg_t++;web();});
  server.on("/reg-", [](){reg_t--;web();});
  server.on("/reg+10", [](){reg_t=reg_t+10;web();});
  server.on("/reg-10", [](){reg_t=reg_t-10;web();});
 
  server.begin();
  Serial.println("HTTP server started");
}
 
void loop(void){
  server.handleClient();
  t.requestTemperatures();temper=t.getTempCByIndex(0);
   if(reg_t<=0){reg_t=0;}if(reg_t>=125){reg_t=125;}
   if(reg_t >= temper + gis){digitalWrite(2,HIGH);ind=" ВКЛ";}
   if(reg_t <= temper - gis){digitalWrite(2,LOW);ind=" ВЫКЛ";}
  Serial.println(reg_t);
}
 
void web(){
String webPage = "<!DOCTYPE HTML><html>";
       webPage += "<meta charset='utf-8'><meta name='viewport' content='width=480, user-scalable=no' />";
       webPage += "<style>table {background-color:#F5F5F5;border-radius: 5px;}</style>";
       webPage += "<TABLE align='center' width='450' BORDER='1' cellspacing='0' cellpadding='5'><td colspan='3' align='center'>";
       webPage += "<h1>Терморегулятор 0...125 &#176;C</td><tr></h1>";
       webPage += "<meta http-equiv='Refresh' content='10; URL=/obn' />"; // автоматическое обновление страницы каждые 10 секунд
       webPage += "<td align='center'>Температура</td><td align='center'><a href=\"obn\"><button>Обновить</button></a></td><td align='center'>";
       webPage += temper;
       webPage += "<tr><td align='center'>Регулировка температуры</td><td align='center'><a href=\"reg+\"><button>+1&nbsp;&nbsp;</button>";
       webPage += "</a><a href=\"reg-\"><button>-1&nbsp;&nbsp;</button></a><br><a href=\"reg+10\"><button>+10</button></a>";
       webPage += "<a href=\"reg-10\"><button>-10</button></a></td><td align='center'>";
       webPage += reg_t;
       webPage += " &#176;C</td>";
       webPage += "<tr><td colspan='3' align='center'>Нагрев: ";
       webPage += ind;
       webPage += "</td></html>"; 
 
  server.send(200, "text/html", webPage);delay(300);
}

Подключение к сети использует порт 80, укажите имя Вашей  wi-fi сети и пароль в скетче, так же можете изменить время автоматического обновления страницы или вообще закоменнтировать строчку (для ручного обновления страницы):

webPage += «<meta http-equiv=’Refresh’ content=’10; URL=/obn’ />»; // автоматическое обновление страницы каждые 10 секунд

Датчик температуры питается напряжением 3,3 В которое подается с модуля NodeMcu, цифровой выход датчика подключается ко входы D5 модуля, для управления нагрузкой используется цифровой выход модуля D4.

Добавить комментарий

Случайные статьи

  • Акустическое оформление НЧ динамической головки

    Динамический диапазон — 25…150Гц, автором применена НЧ головка 75ГДН-3. Корпус рис. 1.2. изготовлен из ДСП толщиной 20мм. Стенки корпуса соединены друг с другом рейками 20*20мм с помощью клея и шурупов. Акустическая панель с отверстиями под НЧ головку крепится внутри корпуса АС. Задняя стенка корпуса — съемная, на ней устанавливаются НЧ …Подробнее...
  • Замедлитель выключения света в салоне автомобиля

    После закрывания двери автомобиля при неработающем двигателе такой замедлитель будет гасить свет не сразу , а через 10-15 секунд. При этом при работающем двигателе замедлитель не должен будет работать. По питанию схема включена параллельно осветительной лампе Л1. Контакты реле К1 блокируют выключатель освещения П1.  при неработающем двигателе при открывании двери …Подробнее...
  • Приемник УКВ ЧМ на микросхеме 174ХА34

    Приемник работает в диапазоне 65…108 МГц и имеет чувствительность не хуже 5 мкВ\В. Номинальное напряжение питания — 3В. Весь высокочастотный тракт включая ЧМ детектор, УВЧ и гетеродин, собран на одной специализированной микросхеме DA1 типа К174ХА34. Эта микросхема представляет собой УВЧ, смеситель, гетеродин, УПЧ, усилитель-ограничитель, ЧМ детектор, систему шумо-понижения и сжатия …Подробнее...
  • Предварительный делитель частоты

    На рисунке показано уст-во (делитель частоты) которое предназначено для расширения верхнего предела диапазона измерения частотомеров до 250 МГц, путем деления частоты на 100. Так же это уст-во совместимо с осциллографом для увеличения диапазона частот. Делитель частоты собран на одной стороне фольгированного стеклотекстолита, а на второй стороне остается фольга не тронутой, …Подробнее...
  • MAX639, MAX640, MAX653 — понижающие, импульсные стабилизаторы

    MAX639, MAX640, MAX653 — понижающие, импульсные стабилизаторы

    MAX639, MAX640, MAX653 (5В/3.3В/3В) — понижающие DC/DC преобразователи с низким потребляемым током покоя. Максимальный выходной ток преобразователя до 225 мА. Система управления и ограничения тока с частотно – импульсной модуляцией (ЧИМ) обеспечивает устройствам преимущества, свойственные преобразователям с широтно – импульсной модуляцией (ШИМ), т.е. высокую эффективность при больших нагрузках, в то …Подробнее...