joi, 5 iulie 2018

Termostat MQTT cu ESP8266

   Dupa ce m-am mai obisnuit cu modul de functionare al protocolului MQTT de comunicare intre o placa de dezvoltare cu ESP8266 (sau ESP32) si un server local Mosquitto, am zis sa fac si o aplicatie utila, cea de termostat controlat de la distanta de e un smartphone.
   In prima faza, am adaptat un sketch pentru a simula un termostat prin generarea unui numar aleator care a fost impartit la 10 pentru a avea un numar cu zecimala si compararea lui cu o temperatura de referinta, Temperatura de referinta a fost si ea reglata din 2 butoane virtuale de pe aplicatia de pe smartphone, care se numeste IoT MQTT Panel:
   Am facut 2 filmulete in care se vede modul de functionare
pseudotermostat cu comenzi MQTT
MQTT (pseudo)thermostat
    Configurarea aplicatiei se face cum am prezentat in articolul Sonerie cu comandă locală sau prin protocol MQTT prin server Mosquitto (3) iar sketch-ul folosit este MQTT_ESP8266_termostat_notreal.ino.
    Placa Nodemcu V3 nu avea pini, asa ca i-am lipit si am facut un montaj pe un breadboard, punand si un senzor cu DHT22 (AM2302), un afisaj OLED de 0,9" (cca 2cm) si un led care indica functionarea centralei.
    Schema de conectare este
iat pentru detalierea pinilor, studiati schema placii de dezvoltare cu mapp-area pinilor ca un Arduino
   Pentru partea de conectare a afisajului i2c OLED am folosit informatiile din articolele:
ESP8266 0.96 inch OLED Display with Arduino IDE
ESP8266: I2C PORT AND ADDRESS SCANNER
   Sketch-ul rescris si adaptat dupa primul este MQTT_ESP8266_termostat_base.ino si modul de comportare se vede din filmuletele realizate:
Termostat MQTT cu ESP8266
ESP8266 MQTT thermostat
Termostat MQTT cu ESp8266 (2)
MQTT thermostat with ESP8266 (2)
     Pe ecranul telefonului apare
si deruland in sus, apar si butoanele virtuale de reglaj
   Am mai introdus un buton fara retinere din care aprind afisajul pentru cca 10 secunde, dupa cum se vede in filmuletele
Termostat MQTT cu ESP8266 (3)
ESP8266 MQTT thermostat (3)
9.7.2018
   Am aranjat modul de scriere sa fie in linie (pe verticala):
termostat MQTT cu ESP8266 (4)
MQTT thermostat with ESP8266 (4)

25.11.2019
   Am adaugat un articol numit Termostat MQTT cu ESP8266 (2) cu mai multe detalii de configurare a aplicatiei Android numite IoT MQTT Panel:

12 comentarii:

  1. Buna ziua
    Am intrat in posesia unui Iduino Yun Shield si am o placa arduino uno r3,din cate am citit pe net foloseste conexiune bridge.Am folosit exemplele pentru conexiune bridge dar nu am nici un rezultat,ma puteti ajuta ca sa o pot conecta la internet? Multumesc.

    RăspundețiȘtergere
    Răspunsuri
    1. nu am lucrat cu Yun, deci nu va pot da informatii pertinente

      Ștergere
  2. Using your code I can not get the callback function to work, what are your settings for sending the message to esp8266

    RăspundețiȘtergere
    Răspunsuri
    1. Hello, I added a new article with more picture and photo, see https://nicuflorica.blogspot.com/2019/11/termostat-mqtt-cu-esp8266-2.html

      Ștergere
  3. I'm sorry I'm using google translation. I was able to run the indicators, but I couldn't change the set value what I did. I wonder what codes you used to send data from the mqtt program on the phone. It's like there's something missing in the esp8266 code. Is it possible to re-install.

    RăspundețiȘtergere
    Răspunsuri
    1. I added a new article with more picture and photo, see https://nicuflorica.blogspot.com/2019/11/termostat-mqtt-cu-esp8266-2.html

      Ștergere
  4. Buna seara, acum 2 ani am facut si eu un termostat cu esp-uri, si as vrea sa fac un upgrade sa ii pun si mqtt. Daca am inteles bine din codul dumneavoastra, folositi un singur esp care da si comanda in centrala. Eu as vrea sa pun cate unul in fiecare camera pentru masurarea temperaturii, si unul in centrala pentru actionare. Credeti ca e mai corect sa pun logica de pornire / oprire a centralei pe fiecare esp care imi masoara temperatura, sau sa folosesc openhab pentru asta?
    Multumesc. George

    RăspundețiȘtergere
    Răspunsuri
    1. la mine este doar (pseudo)termostat, in sensul ca citeste datele, trimite date, citeste date de la server... nu stiu cum e mai bine, poti trimite date de la mai multe esp-uri si sa ai unul ce primeste datele si ia decizii.. depinde de anvergura proiectului (un singur circuit sau msi multe cu electrovsne)

      Ștergere
    2. Momentan am 2 esp-uri in camere(cate 1 pe camera), care citesc temp si hum, si in functie de temp dorita in camera respectiva trimit semnal la un al 3-lea esp care e in centrala. Tot cel din camera imi activeaza si actuatorul pentru caloriferul care trebuie. Ati incercat openhub pt asa ceva?

      Ștergere
  5. am lucrat doar cu server Broker .. doar ce am pus pe blog

    RăspundețiȘtergere
  6. Foarte fain oricum. Succes in continuare

    RăspundețiȘtergere
  7. Va salut.Deranjez si eu cu o intrebare.Este posibil sa fac comenzi intre doua placute esp8266,adica cu una sa o folosesc ca transmiter iar pe cealalta ca reciver?as vrea ca la un contact sa transmit o comanda wi fi!Imi puteti da va rog o idee

    RăspundețiȘtergere