Arduino-alustalle rakennettu JSON-asiakas, ESP8266, ESP32 mahdollistaa yhteyden verkkopistorasialla verkkopalvelimeen (Levelerin verkkoliittymä). Asiakas tekee syklisen HTTP GET -pyynnön 60 sekunnin välein noutaakseen /json_output.php sisällön , jossa verkkopalvelin jakaa JSON-tiedot vedenpinnasta (senttiä), kaivon tilavuudesta (litroina) kulloinkin määritetyn syvyyden ja kaivon halkaisijan perusteella. Ladattu JSON-hyötykuorma voi jäsentää JSON-asiakkaan HTTP-vastauksesta ja sitten sarjoittaa tämän merkkijonon. Desaroinnin jälkeen on mahdollista päästä käsiksi yksittäisiin avaimiin, joille arvot on määritetty, ja hankkia ne -> jäsentää. Vastaavat tiedot kirjoitetaan UART - sarjalinjalle - 115200 baudi / s. Käyttäjäsovelluksessa, joka voidaan lisätä olemassa oleviin JSON-asiakkaiden lähdekoodeihin, on mahdollista ohjata kokonaisuuksia näiden arvojen perusteella, esimerkiksi: automaattinen kastelu tietyn vedenpinnan saavuttamisen jälkeen, veden pumppaus, pumpun käynnistys, kulta. Osa laiteohjelmistosta, joka on merkitty nimellä MQTT tai MQTTS (salattu MQTT), on laajennettu JSON-asiakas, joka pystyy lähettämään - Julkaise tiedot MQTT Broker IoT Industries Slovakialle - Slovakian ilmainen MQTT Broker, joka on suunniteltu kehittäjille. Sekä MQTT- että MQTTS-versiot käyttävät pistoketta, jota käytetään myös HTTP-pyyntöihin JSON-hyötykuormien saamiseksi. Olemassa oleva MQTT-palvelin voidaan korvata lähdekoodissasi omallasi, joten voit myös saada tasomittarin tiedot saataville kotiautomaatiojärjestelmissä (Hassio, Mosquitto MQTT, Domoticz, Loxone ym...). Nykyisessä ohjelmistototeutuksessa mikrokontrolleri (JSON-asiakas) lähettää saadut tiedot MQTT Brokerille aihetason mittarissa, kun taas yksittäiset lämpötilat erotetaan ala-aiheittain.
Kirjaston nimi | Kirjaston toiminto | ladata |
---|---|---|
PubSubClient |
Kirjasto AVR-mikro-ohjaimille (ATmega) Arduino Uno / Nano / Mega, ESP8266 ja ESP32. Se mahdollistaa viestinnän MQTT-protokollan kautta, on myös mahdollista toteuttaa salattu yhteys MQTT Brokeriin, ESP-mikrokontrollereille vaaditaan WiFiClientSecure-luokan käyttö. |
ladata |
ArduinoJson |
Kirjasto AVR-mikro-ohjaimille (ATmega) Arduino Uno / Nano / Mega, ESP8266 ja ESP32. Sen avulla voit deserialisoida merkkijonon JSON-rakenteessa, se voi jäsentää avaimelle määritetyn arvon. |
ladata |
openssl s_client -showcerts -verify 5 -connect mqttserver.com:8883 < /dev/null
MQTT-asiakkaalla on pääaihetason mittarin tilaus ja kaikki sen ala-aiheet. Samalla se voi varmistaa, että tiedot on julkaistu onnistuneesti MQTT Brokerissa – se kirjoittaa ne takaisin UART:lle. VAROITUS: Esimerkkitoteutuksessa käytetty MQTT Broker IoT Industries Slovakia on julkinen, joten kuka tahansa käyttäjä voi muuttaa, ylikirjoittaa tai lukea tietoja! b> Jos joku muu käyttäjä lataa JSON-asiakasohjelmiston mikro-ohjaimeensa ilman muutoksia, sekä sinä että hän korvaa ennalta määritetyn aiheen tiedot. Siksi on suositeltavaa valita toinen aihe, johon tiedot lähetetään varsinaisen toteutuksen aikana.