ITTIoT raamistik

ITTIoT on täielikult varustatud IoT raamistik ESP8266 platvormile. IoT raamistik on mõeldud oluliselt lihtsustama IoT rakenduste loomist ESP8266 platvormil. Andmevahetuseks serveriga kasutatakse IoT valdkonnas laialdaselt kasutatavat MQTT protokolli (Wiki). IoT raamistik sisaldab:

  • WiFi võrgu / MQTT serveri ühenduse haldamine
  • sõnumite saatmine / vastuvõtmine serverist
  • seadistuste salvestamine / muutmine seadmes
  • Kaugseadme haldus

Koodi struktuur

Järgmine pilt näitab tüüpilist koodi struktuuri ITTIoT raamistikuga programmi loomisel. Programm on üles ehitatud järgmiselt:

  • Lisamised ja globaalsed muutujad - siia lisatakse kõik vajalikud teegid ja luuakse globaalsed muutujad.
  • iot_received() - see tagasihelistamisfunktsioon kutsutakse välja, kui moodul saab sõnumi tellitud teemalt. Sõnumid kõigilt teemadelt kutsuvad sama funktsiooni, seega on vaja teema põhjal vahet teha.
  • iot_connected() - see tagasihelistamisfunktsioon kutsutakse välja, kui moodul esmakordselt ühendub vahendajaga. Siin peaksite tellima teemad.
  • Setup - tavaline Arduino seadistus. Kuid kindlasti lisage kõne iot.setup() meetodile.
  • Peamine tsükkel - tavaline Arduino peamine tsükkel. Kindlasti lisage iot.handle() iga iteratsiooni juurde.

ITTIoT raamistiku meetodite loetelu

Meetod Kirjeldus
iot.setup() Seadistab ITTIoT raamistiku ja ühendub vahendajaga.
iot.setConfig(String parameter, String value) Seadistab valitud konfiguratsiooniparameetri.
iot.setBootPin(uint8_t pin) Määrab pinni ESP8266 taaskäivitamiseks.
iot.printConfig() Prindib mooduli konfiguratsiooni serialile.
iot.restart(uint8_t bootMode = normalMode) Võimaldab seadme taaskäivitamist kasutajaprogrammist. iot.restart() käivitab seadme normaalses režiimis, iot.restart(ITT::configMode) käivitab seadme konfiguratsioonirežiimis.
iot.handle() Teostab raamistiku tööks vajalikud taustatoimingud. Näiteks kontrollib, kas on saabunud uusi sõnumeid ja vajadusel kutsub välja tagasihelistamismeetodid. Seda meetodit tuleb peamise tsükli käigus perioodiliselt kutsuda.
iot_connected() Kasutaja määratud tagasihelistamisfunktsioon. See meetod kutsutakse välja, kui moodul suudab vahendajaga ühenduda. Peamiselt kasutatakse teemade tellimiseks.
iot.subscribe(String topic) Tellib teema, mis on sisestatud operandina. Näiteks iot.subscribe(“livingroom/temp”) tellib teema “livingroom/temp”.
iot_received(String topic, String msg) Kasutaja määratud tagasihelistamismeetod, mis kutsutakse välja, kui tellitud teemadelt saabuvad sõnumid. Kasutaja saab seejärel oma koodis kasutada teemat ja sõnumit.
iot.publishMsg(String topic, String msg) Moodul avaldab sõnumi teemal “controllername/topic”. Pange tähele, et meetod lisab automaatselt mooduli nime sisestatud teema taha. Näiteks, kui avaldada teemal “temp”, siis tegelikult avaldatakse teemal “controllername/temp”. Kui see ei ole soovitav, siis kasutage meetodit iot.publishMsgTo().
iot.publishMsgTo(String topic, String msg, bool retain) See meetod töötab sarnaselt eelmisega, kuid ei lisa mooduli nime teema juurde. See tähendab, et sõnumid, mis avaldatakse teemal “topic”, avaldatakse tõepoolest teemal “topic”. Selle meetodi abil saate valida ka, kas soovite, et vahendaja säilitaks viimati saadud sõnumi. Kui te ei ole sellest huvitatud, jätke see valeks.

ITTIoT raamistiku konfiguratsiooniparameetrite loetelu

Konfiguratsiooniparameeter Selgitus
dname Seadme nimi
mpass Vahendaja parool
mport Vahendaja port
msrv Vahendaja aadress
mssl SSL/TLS lubamine
muser Vahendaja kasutajanimi
wname WiFi nimi
wpass WiFi parool

MQTT vaike-teemad

IoT raamistik määratleb mõned vaike-teemad, mida kasutatakse seadme jälgimiseks ja kaugjuhtimiseks. Vajadusel saab kasutaja jaoks luua teemasid. Teema nime loomiseks kasutatakse seadme nime. Seadme nimi on kasutaja määratud unikaalne nimi, mis on teemade prefiksiks. Näiteks, kui seadme nimi on “ESP30”, siis seadme teemad oleksid “ESP30/log”, “ESP30/cfg” ja nii edasi.

Teema Suund Kirjeldus
/log väljaminev Üldised sõnumid IoT raamistikust, kasutaja sõnumid iot.log() funktsiooni kaudu
/link väljaminev Seadme olek: „Online”/”Offline”
/stat väljaminev Automaatne statistika saatmine kord minutis
/cfg sisenev Teema seadme seadistamiseks / püsivara uuendamiseks MQTT serveri kaudu.

Statistika seadme ja ühenduse kohta saadetakse perioodiliselt (vaikimisi kord minutis) teemale /stat. Viimati saadetud sõnum salvestatakse serveris (säilitatud sõnum). Viimase olekusõnumi salvestamine võimaldab hinnata seadme olekut (vaba mälu hulk, signaali tugevus). Olekusõnum sisaldab järgmisi andmeid, stringina ja tabidega eraldatuna:

  • tööaeg sekundites
  • WiFi signaali tugevus (dBm)
  • soovitud sõnumite arv saatmiseks
  • edukalt saadetud sõnumite arv
  • vaba RAM seadmes (baitides)

Näide: „2237734 -62 1409765 1409431 19272”

et/iot/examples/setup/ittiot.txt · Last modified: 2024/07/04 12:23 by rojarl
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0