Acest proiect poate fi realizat de către autor contra cost

Am facut acest proiect pentru a scapa de drumurile prin frig pana la camera tehnica a centralei si a ma atentiona (prin intermediul unui client - proiect separat) daca temperatura din aceea camera scade sub 3 grade Celsius (pericol de inghet al tevilor, vad temperatura aceea .. am timp sa incalzesc camera).
De ce e nevoie:
- modul NodeMCU sau direct ESP8266
- sursa de alimentare pentru modulul de mai sus (folosesc un vechi incarcator de telefon cu mufa de iesire de microUSB)
- senzorul de temperatura si umiditate DHT11
Pasul 1: Codul sursa (Arduino IDE)
/** * DOCS: * https://github.com/esp8266/Arduino/blob/master/doc/reference.md * http://playground.arduino.cc/Main/DHT11Lib */ #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> #include <dht11.h> const char* ssid = "NAME_AP"; const char* password = "PASSWORD_AP"; ESP8266WebServer server(80); dht11 DHT11; #define DHT11PIN 5 String temp_txt = ""; void handleRoot() { server.send(200, "text/plain", get_temp_humidity_string()); } void setup() { delay(5000); Serial.begin(115200); delay(5000); connect_as_hosting_wifi(); } void connect_as_hosting_wifi() { WiFi.softAP(ssid, password); temp_txt = "WiFi setup with " + (String) ssid + ":" + (String) password; Serial.println(temp_txt); IPAddress myIP = WiFi.softAPIP(); server.on("/", handleRoot); server.begin(); temp_txt = "HTTP Server started on " + (String) myIP; Serial.println(temp_txt); } String get_temp_humidity_string() { String txt; int chk = DHT11.read(DHT11PIN); switch (chk) { case DHTLIB_OK: // OK! txt = "T: " + (String) DHT11.temperature + " C "; txt += " H: " + (String) DHT11.humidity + "%"; return txt; break; case DHTLIB_ERROR_CHECKSUM: return "Checksum error"; break; case DHTLIB_ERROR_TIMEOUT: return "Time out error"; break; default: return "Unknown error"; break; } } void loop() { server.handleClient(); }
Pasul 2: Testarea noului server

Pentru a putea accesa noul server trebuie sa ne conectam la reteaua WiFi nou creata. Vedem ce IP are noul AP (de obicei 192.168.4.1) si-l deschidem in browser: "http://192.168.4.1".
Asta e tot :) Urmatorul tutorial o sa fie despre cum sa facem un client robust pentru acest server care sa ne afiseze temperatura si umiditatea pe un ecran LCD 16x2.
Cuvinte cheie: senzor server server web dht11 Arduino IDE NodeMCU ESP8266 senzor de umiditate senzor de temperatura