Vaihe 3 Verkkoasetusten ja MQTT-toiminnon määrittäminen.
Tämän kokeen tavoitteena on luoda verkko ja yhteys, joka mahdollistaa tietojen lähettämisen jokaisesta oven avaamisesta väliaikaiseen pilvitallennustilaan MQTT-protokollan kautta. Asetus tehdään WiFin avulla. MQTT on viestintäprotokolla, joka perustuu 'julkaise/tilaa' -mekanismiin, joka on verrattavissa sosiaalisen median tai YouTuben videoiden julkaisu- ja tilaamismekanismiin.
MQTT:ssä viestien lähettäjä on verrattavissa YouTube-kanavaan tai Instagram-tiliin. Kun video on julkaistu tai Instagram-postaus tehty, sitä ei lähetetä suoraan tilaajille, vaan se annetaan palvelimelle tai kolmannelle osapuolelle (välittäjä), joka koordinoi ja hallinnoi julkaisua ja tilaamista. Jokaiselle sisällön lähteelle (esim. elokuva tai artikkeli) annetaan ainutlaatuinen aihe (topic) -nimi (esim. elokuvan tai artikkelin nimi), ja välittäjä on palvelinohjelmisto. Aiheen lähettävä osapuoli on julkaisija ja vastaanottava tilaaja.
Ensiksi aseta kulunvalvonnan Core-yksikön WiFi-yhteystoiminto. Avaa Uiflow'n Advanced-valikko, valitse 'Connect to Wi-Fi SSID' ja syötä salasana Network-kenttään. Sinua pyydetään syöttämään päätepisteen nimi ja salasana siihen paikkaan, johon kulunvalvontajärjestelmä asennetaan. Valitse 'Connect to Wi-Fi SSID' ja syötä päätepisteen (AP) nimi ja salasana, johon haluat yhdistää.
Varmistaaksesi, onko WiFi online-tilassa, lisää päätöksentekologinen funktio ja näytön UI-scroll-komponentti. Kun WiFi on online, se näkyy vihreänä, ja offline-tilassa punaisena. Näin verkon online-asetus on valmis. Uiflow käyttää seuraavia funktiokategorioita: päätöksentekologinen funktio, WiFi-asetus ja UI-komponentti.

Kulunvalvontajärjestelmän käyttämä MQTT Broker on HiveMQ:n tarjoama ilmainen välittäjä kaikille käyttäjille. Avaa selain ja mene Public Broker -sivulle tarkistaaksesi Brokerin Hostin ja TCP-portin.
Seuraavaksi avaa UiFlow'n Advanced-valikko, käytä MQTT-hostia MQTT-toiminnon asettamiseen ja aktivoimiseen, täytä Brokerin TCP-portti ja palvelin, ja aseta käyttäjänimi asiakkaalle. Asetusten jälkeen Core ottaa MQTT-palvelun käyttöön Wifi-yhteyden aikana. Uiflow käyttää seuraavia funktioita.


Puhelimen MQTT-viestien vastaanottoa/lähetystä varten etsi GOOGLE PLAYsta tai Apple App Storesta IoT MQTT Panel ja lataa se avattavaksi. IoT MQTT Panel on kevyt ja helppokäyttöinen MQTT-työkalu, jossa on valmiiksi asetettuja UI-malleja, ja maksullinen versio tarjoaa reaaliaikaiset ilmoitukset puhelimeen uusien viestien saapuessa.

Sovelluksen avaamisen jälkeen täytä aiemmin asetetut CORE-brokerin TCP-portti ja palvelin (BrokerWeb) sekä aseta käyttäjänimi Client-kenttään. Muista lisätä Dashboard-toiminto, muuten sitä ei voi luoda!

Kun Dashboard on luotu, rakenna UI-toimintomoduuli (Add panel). Rakennamme yhteensä kaksi ominaisuutta: kulunvalvonnan lokitiedot Text Log -kentässä ja kauko-ohjauksen Switch-kytkin.

Vaihe 4 Kulunvalvonnan loki
Luo kulunvalvonnan lokitoiminto, joka lähettää vahvistustulokset, kun kulunvalvontajärjestelmä vahvistaa henkilöllisyyden. Työperiaate on luoda aihe (Topic) (tässä nimetty M5Stack_Log), johon kulunvalvontajärjestelmän Core lähettää viestin. Toimintomoduulin asetukset: säädä näytettävien viestien määrää ja fonttikokoa, aikaleimaa, puhelimen reaaliaikaista ilmoitustoimintoa (Enable notification), joka on maksullinen. Asetusten jälkeen paina SAVE tallentaaksesi luomisen.

Vaihe 5 Kulunvalvontatoiminto -- Etäavaus
Etäohjaus: Työperiaate on asettaa aihe puhelimeen, ja UI-kytkimen tilan (PÄÄLLÄ/POIS) mukaan lähettää viesti (tässä nimetty avaus/lukitus). Oven lukon Core lukee viestin tilaamalla puhelimen aiheen ja voi ohjata oven lukon kytkintä.
Kytkinfunktiokentän alle voit lisätä näytön vastaanotetun ja lähetetyn aikaleiman tallentamiseksi. Puhelimen reaaliaikainen ilmoitustoiminto (Enable notification) on maksullinen. Asetusten jälkeen paina SAVE tallentaaksesi luomisen.

Varmista, että Uiflow on käytössä, etäohjaustoiminto on konfiguroitu ja kulunvalvonnan CORE:n tilaama brokerin aihe (Lock_Action) on asetettu. Kun puhelin aktivoidaan, suoritetaan avausaliohjelma (UNLOCK) oven lukon avaamiseksi ja kulunvalvontatiedot lähetetään puhelimen aiheeseen (M5Stack_Log) nimellä Remote_OPEN. Huomioithan, että nimi on syötettävä oikein, väärä kirjainkoko aiheuttaa viestin vastaanoton ja lähetyksen epäonnistumisen. Viestin nimi on 'Remote_OPEN'. Uiflow käyttää seuraavia funktiokategorioita: MQTT-toiminto, päätöksentekologinen funktio, tekstin tuontialiohjelma ja muita toimintoja.

Etäohjaus johtaa onnistuneeseen solenoidiventtiilin toimintaan ja näkyy Coren näytöllä. Puhelimen lokimoduuli näyttää tiedot aikaleiman kanssa.

Vaihe 6 Kulunvalvontatoiminto -- RFID
RFID-kulunvalvontatoiminnon asettamiseksi lisää ensin pääsilmukka nykyisen MQTT-asetuksen alle, joka toimii pääohjelmana päätöksen laukaisemiseksi, ja lisää toiminto, joka laukaisee RFID-kortin läheisyydessä. Uiflow käyttää seuraavia funktiokategorioita: PÄÄTOIMINTO, päätöksentekologinen funktio, RFID-funktiokirjasto.

Luo RFID-päätösfunktio (RFID_decision), RFID-aliohjelma (RFID_OK) ja RFID-aliohjelma (RFID_Denied). Päätösfunktio (RFID_decision) toimii suoritettavana aliohjelmana (RFID_OK) ja järjestelmän aliohjelmana (UNLOCK), kun RFID on oikea, tai suoritettavana aliohjelmana (RFID_Denied) ja järjestelmän aliohjelmana (LOCK), kun RFID on virheellinen.
Muista lisätä MQTT-push-toiminto molempiin RFID-aliohjelmiin valmiiksi, riippumatta siitä, onko RFID oikea vai virheellinen, viesti lähetetään aiheeseen (M5Stack_Log). RFID UID voidaan saada Uiflow'n RFID-toiminnon kautta. Uiflow käyttää seuraavia funktiokategorioita: RFID-aliohjelman rakentaminen, päätöksentekologinen funktio, RFID-funktiokirjasto, UI-komponentit, MQTT-toiminnot, teksti, tuontialiohjelmat.

Onnistunut RFID-tunnistus aktivoi solenoidiventtiilin kerran ja näyttää oikean kortin Core-näytöllä, ja virheen tunnistava kortti näyttää virheen.
Puhelimen lokimoduuli näyttää oikeat ja virheelliset tiedot aikaleiman kanssa.

Vaihe 6 Kulunvalvontatoiminto -- Näppäilysalasanan syöttö
Näppäilysalasanatoiminnon asettamiseksi lisää pääohjelman (Main) silmukan alle näppäilytoiminnon laukaisutoiminto, joka aktivoituu, kun näppäimistöön syötettyjen numeroiden määrä on vähintään 7. Uiflow käyttää seuraavia funktiokategorioita: Funktio, päätöksentekologinen funktio, teksti, näppäimistömoduulin funktio.
Seuraavat funktiot ja aliohjelmat tulee luoda: Password_decision, RFID_OK ja RFID_Denied. Password_decision-aliohjelma toimii suoritettavana aliohjelmana (Type_OK) ja järjestelmän aliohjelmana (UNLOCK), kun salasana on oikein, tai suoritettavana aliohjelmana (Type_Denied) ja järjestelmän aliohjelmana (LOCK), kun salasana on väärin.
Kun salasana-aliohjelmat on luotu, lisää molempiin MQTT-push-toiminto, riippumatta siitä, onko salasana oikein vai väärin. Viesti lähetetään aiheeseen (M5Stack_Log). Uiflow käyttää seuraavia funktiokategorioita: salasana-aliohjelma, päätöksentekologinen funktio, näppäimistömoduuli, UI-komponentti, MQTT, teksti ja tuontialiohjelmat.

Solenoidiventtiili aktivoituu kerran ja näyttää oikein Core-näytöllä, jos salasana on oikein, ja näyttää virheen, jos salasana on väärin.
Puhelimen lokimoduuli näyttää oikeiden ja väärien salasanojen tiedot aikaleiman kanssa.
Yhteenveto
Tämä käytännön kulunvalvontajärjestelmä hyödyntää useita teknologioita, kuten
RFID, sormenjälkitunnistusta, näppäilyä ja muita moduuleja, nopeaan ja luotettavaan laitteistoratkaisuun. Se käyttää MQTT-viestintäprotokollaa ovilukkojen etäavaamiseen ja kulunvalvontatietojen tallentamiseen. Blockyn kehittyneiden ominaisuuksien vuoksi, kuten AI- kasvojentunnistus, ei ole tällä hetkellä saatavilla UiFlow'ssa. Kuitenkin tulemme pian esittelemään kehittyneitä YOLO-tunnistusominaisuuksia kuvan suoratoiston jälkeen.