Clientul JSON construit pe platforma Arduino, ESP8266, ESP32 permite conectarea printr-un websocket la un server web (interfața web a Leveler). Clientul face o solicitare HTTP GET ciclică la fiecare 60 de secunde pentru a prelua conținutul /json_output.php pagina, unde serverul web distribuie date JSON privind nivelul apei (în centimetri), volumul sondei (în litri) pe baza adâncimii și diametrului sondei setate în prezent. Sarcina utilă JSON încărcată poate analiza clientul JSON din răspunsul HTTP și apoi deserializa acest șir. După deserializare, este posibil să accesați cheile individuale cărora le sunt alocate valorile și să le obțineți -> parse. Datele potrivite sunt scrise pe UART - linie serială - 115200 baud / s. În aplicația utilizator, care poate fi adăugată la codurile sursă existente ale clienților JSON, este posibilă controlul entităților pe baza acestor valori, de exemplu: irigarea automată după atingerea unui anumit nivel de apă, pomparea apei, pornirea pompei, dragă. O parte a firmware-ului marcată ca MQTT sau MQTTS (MQTT criptat) este un client JSON extins cu capacitatea de a trimite - Publica date către MQTT Broker IoT Industries Slovakia - Broker MQTT gratuit slovac conceput pentru dezvoltatori. Atât variantele MQTT, cât și MQTTS folosesc un socket, care este, de asemenea, utilizat pentru solicitările HTTP pentru a obține încărcături utile JSON. Serverul MQTT existent poate fi înlocuit în codul dumneavoastră sursă cu al dumneavoastră, astfel încât să puteți face și datele de la contorul de nivel disponibile în sistemele de automatizare a locuinței (Hassio, Mosquitto MQTT, Domoticz, Loxone și altele...). În implementarea software actuală, microcontrolerul (clientul JSON) trimite datele obținute către Broker MQTT în contorul de nivel de subiect, în timp ce temperaturile individuale sunt diferențiate în subteme.
Numele bibliotecii | Funcția de bibliotecă | Descarca |
---|---|---|
PubSubClient |
Bibliotecă pentru microcontrolere AVR (ATmega) Arduino Uno / Nano / Mega, ESP8266 și ESP32. Permite comunicarea prin protocolul MQTT, este de asemenea posibilă implementarea unei conexiuni criptate cu MQTT Broker, utilizarea clasei WiFiClientSecure este necesară pentru microcontrolerele ESP. |
Descarca |
ArduinoJson |
Bibliotecă pentru microcontrolere AVR (ATmega) Arduino Uno / Nano / Mega, ESP8266 și ESP32. Vă permite să deserializați un șir într-o structură JSON, poate analiza valoarea care este atribuită unei chei. |
Descarca |
openssl s_client -showcerts -verify 5 -connect mqttserver.com:8883 < /dev/null
Clientul MQTT are un abonament abonat la contorul principal al nivelului de subiect și la toate subiectele secundare ale acestuia. În același timp, poate verifica dacă informațiile au fost publicate cu succes pe MQTT Broker - le va scrie înapoi în UART. AVERTISMENT: MQTT Broker IoT Industries Slovakia, care este utilizat în implementarea eșantionului, este public și astfel datele pot fi modificate, suprascrise, citite de orice utilizator! b> Dacă orice alt utilizator încarcă firmware-ul clientului JSON pe microcontrolerul său fără nicio modificare, datele din subiectul predefinit vor fi suprascrise atât de dvs., cât și de el. Prin urmare, este recomandabil să alegeți un alt subiect la care datele vor fi trimise în timpul implementării efective.