sâmbătă, 9 iunie 2018

Trimitere comenzi MQTT la o placa NodeMCU (ESP8266) prin server local Mosquitto (Broker)

   Vrând neapărat să trimit comenzi către o placă NedeMCU (ESP8266) de pe calculator sau de pe un telefon (Android) folosind protocol MQTT și server local (Mosquitto - Broker), am tot săpat pe internet și, cu greu, am găsit ceva care să pot testa.
   Serverul Mosquitto l-am instalat pe un laptop cu Windows 10 cum am prezentat în articolul anterior), ulterior o să folosesc un Raspberry Pi.
   Am dat de articolul Use NodeMCU to send temperature/humidity data to MQTT IOT broker în care se folosește un NodeMCU cu un senzor de temperatură și umiditate de tip DHT22 (AM2302), care trimite periodic către serverul local temperatura și umiditatea, iar dacă dacă serverul primește comenzi de la un alt periferic, într-o anumită configurație, trimite temperatura sau umiditatea din acel moment. Serverul trimite și perifericelor, care au pus un anumit cuvânt ce corespunde mesajului, valorile temperaturii și umidității.
   Am modificat programul (sketch-ul) el devenind MQTT_ESP8266_DHT_simple.ino și am obținut în ecranul de monitorizare serială informații îmbucurătoare
   Am verificat dacă serverul Mosquitto este pornit și dacă apare conectarea plăcii la el (laptopul are IP 192.168.1.105). Portul 1883 folosit de server este activ la IP-ul laptopului, deci totul e în regulă până acum.
   Trebuie să dăm comenzi pentru a afișa temperatura sau umiditatea la un anumit moment, așa că am lansat Command promt ca Administrator
și am schimbat directorul de lucru cu cel al aplicatiei serverului
   Am dat comanda 0 pe canalul Show 
și placa NodeMCU programată cu limbaj Arduino răspunde cât e umiditatea la acel moment
 Am dat comanda 1 pe canalul Show 
și placa NodeMCU programată cu limbaj Arduino răspunde cât e temperatura la acel moment.
   Am mai da o dată comanda
și placa a răspuns imediat.
   Am instalat pe un telefon cu Android aplicatia MyMQTT, care era recomandată în articolul The Seven Best MQTT Client Tools și am configurat aplicaâia pentru serverul meu, fiind nevoie doar de adresa IP.
apoi am trims comanda Show și 0 pentru a arăta umiditatea
serverul primețte comanda ș o trimit emai departe plăcii NodeMCU, care trimite informația.
  Am trimis apoi comanda  Show și 1 pentru a arăta temperatura 


  Am configurat în telefon și cuvântul Show pentru a primi de la server datele de le trimite placa NodeMCU
și vedem datele
   A realizat un prim filmulet numit comenzi MQTT catre ESP8266 prin server local Mosquitto în care prezint pe scurt ce am scris ma înainte despre modul de a da comenzile.


Niciun comentariu:

Trimiteți un comentariu