M5Stackin RFID-pohjainen älykäs kulunvalvontajärjestelmä

Älykkyyden aikakauteen siirtyessämme pilvipohjaiset älykkäät viestintälaitteet ovat tulleet erittäin suosituiksi elämässämme. Tässä artikkelissa käytetään M5Stackin UiFlow-kehityskäyttöliittymää (Blocky) pilvipohjaisella tallennustoiminnolla varustetun kulunvalvontajärjestelmän toteuttamiseen, joka sisältää neljä erilaista todennuslukkoa (puhelimen etäavaus, RFID-kortti, näppäilysalasanat, sormenjälkitunnistus) ja kulunvalvontatietojen siirron MQTT-protokollan kautta.

 

Laitteiston kokoonpano

 
Kulunvalvontajärjestelmä hyödyntää M5Stack Faces -moduulipakettia. FACES-paketti koostuu ohjausyksiköstä (M5Stack Core) ja erilaisista syöttölaitteista, mukaan lukien laskin, QWERTY-näppäimistö ja muut syöttölaitteet. Tässä tapauksessa käytämme laskinnäppäimistömoduulia näppäilyjä varten. On tärkeää huomioida, että Faces-moduuli tulee vaihtaa varoen, pitäen molemmista puolista kiinni irrottaessa, jotta nastat eivät vahingoitu. Faces-moduulin vaihtamisessa tulee olla varovainen nastojen vaurioitumisen estämiseksi.
 
Seuraavaksi asennetaan kolme yksikkömoduulia. Huomioithan, että M5Stack RFID -moduuli käyttää I2C-väylää ja on kytkettävissä Core Port-A:n vasemmalta puolelta. M5Stackin sormenjälkitunnistusmoduuli käyttää UART-väylää ja on kytkettävissä Core-portista. Huomioithan, että Coren GPIO voidaan kääntää Core:n taakse, jossa vastaavan liitännän nastat on merkitty. Coren takana oleva GPIO-moduuli näyttää myös vastaavan liitännän nastat. Coren takana oleva GPIO-liitäntä (GND, 5V, R2(16), T2(17)) ja M5Stackin relemoduuli ohjataan I/O:n kautta ja ne on kytketty Core port-B:hen (GND, 5V, DA(26), AD(36)).

 

 

Kun kolmen yksikkömoduulin johdotus on valmis, tulee luoda piiri relemoduulin kytkemiseksi (kuten kuvassa) solenoidilukon ohjaamiseksi. Tällä kertaa solenoidilukon käyttöjännite on DC 12V. Huomioithan, että M5Stackin relemoduuli tukee enintään DC 30V 3A virtasyöttöä.

 

 

Kun relepiirin laitteisto on konfiguroitu, kirjoitusohjelma käyttää virallista M5Stackin kehityskäyttöliittymää, Uiflow'ta. Koska nykyisen UiFlow offline -version päivitys on hidas, suositellaan, että jos langattoman Wifi-yhteyden nopeus on riittävä, käytetään etäkirjoitus Blockyä. Seuraavaksi esitellään Wifi-langattoman ohjelmointimenetelmän käyttö M5Stackille. Seuraavassa osiossa esitellään ohjelmien kirjoittaminen M5Stack Coreen Wifi:n kautta.

 

UiFlow-asetukset

 
Päivitä laiteohjelmisto
Ennen liittämistä sinun tulee ladata virallinen polttotyökalu (M5Burner) päivittääksesi laiteohjelmiston uusimpaan versioon. Kaapelin liittämisen jälkeen polttotyökalu näyttää COM-portin numeron, valitse uusin CORE UiFlow -laiteohjelmistoversio ja paina Burn viimeistelläksesi polton.
 

 
Yhdistä laite
Laiteohjelmiston päivityksen jälkeen vaihda Core 'Internet-tilaan', valitse 'Wi-Fi AP:n kautta' ja siirry online-sivulle, jolloin näet maapallon symbolin vilkkuvan.
 

 
Yhdistääksesi kannettavan tietokoneen WiFi-verkkoon, syötä SSID-nimi hakukenttään. Huomioithan, että jokaisen Coren nimi on erilainen. Tässä esimerkissä nimi on M5-FB50. Kun yhteys on muodostettu, avaa selain ja kirjoita hakukenttään osoite: [192.168.4.1]. Tämä vie sinut online-asetussivulle. Syötä haluamasi SSID ja salasana, johon haluat yhdistää.
 
Kun yhteys on onnistuneesti muodostettu, selain näyttää seuraavan kuvan. WiFi- ja online-kuvake, joka sijaitsee Coren näytön vasemmassa yläkulmassa, näkyy vihreänä, ja etäyhteydessä käytetty API-avain näkyy alareunassa. Tämä asetus mahdollistaa Coren pääsyn SSID:hen ja salasanaan ja käyttää sitten verkkotilaa suoran internet-yhteyden muodostamiseen. Jos useita AP-yhteyksiä on käytössä, valinta voidaan tehdä Setup > Server -valikon kautta. Jos olet käyttänyt useita AP-yhteyksiä, ne löytyvät myös Setup > Server -valikosta.
Seuraavaksi avaa tietokoneesi selain, yhdistä uudelleen internetiin, siirry Uiflow-verkkoversioon, täytä API-AVAIN, valitse Core-tyyppi ja paina 'OK'.
 
 
Alareunan tilapalkissa näkyy tällä hetkellä yhdistetyn laitteen API-AVAIN ja teksti 'Connected', mikä tarkoittaa, että etäyhteys on onnistunut ja voit aloittaa ohjelmien kirjoittamisen Blocky-lohkoilla.

 
Vaihe 1 Blockyn asetukset

 
Ennen Blocky-ohjelmoinnin aloittamista on tuotava käyttöön kyseinen yksikkömoduulikirjasto, jota aiotaan käyttää. Klikkaa näytön vasemmassa alakulmassa olevaa plusmerkkiä. Valitse sen jälkeen Port B relemoduulille, Port C sormenjälkitoiminnolle ja Port A RFID-moduulille. Vahvista valinta painamalla OK-painiketta näytön oikeassa alakulmassa.
 
 
Moduulin tuonnin jälkeen se näkyy vasemmassa näyttöpaneelissa, avaa Unit-valikko varmistaaksesi, että moduuli on tuotu oikein.
 
 
Vaihe 2 Kirjoita aliohjelmat kulunvalvontajärjestelmän yleiskäyttöön
 
Moduulin tuonnin jälkeen, jotta ohjelma ei olisi liian pitkä, kirjoitetaan ensin useita aliohjelmia, joita käytetään toistuvasti kulunvalvontajärjestelmässä.

1. Järjestelmän oletustila (STAY):

Minkä tahansa ohjelman suorittamisen jälkeen järjestelmä palaa tähän oletustilaan. Näppäilyjen näyttötoiminto ja AC:n tyhjennystoiminto on rakennettu tähän, löydä AC-painikkeen alkutila (alkuarvo) määrittääksesi toiminnon painettaessa painiketta. Uiflow käyttää seuraavia funktiokategorioita: rakennusfunktio, päätöksentekologinen funktio, näppäimistön syöttöfunktio, käyttöliittymäkomponentti, releen nollaus.

 

2. AVAA: Toiminto, kun henkilöllisyys on vahvistettu oikein RFID:llä, sormenjälkitunnistuksella, salasanan syötöllä tai kauko-ohjauksella, ja releen toiminnan turvallisuuden varmistamiseksi rele kytkeytyy automaattisesti pois päältä 3 sekuntia päälle kytkemisen jälkeen. Uiflow käyttää seuraavia funktiokategorioita: rakennusfunktio, summeri, päätöksentekologinen funktio, käyttöliittymäkomponentti, releen päälle kytkentä ja nollaus.

 

 

3. SULJE: Toiminto, kun henkilöllisyys on vahvistettu oikein RFID:llä, sormenjälkitunnistuksella, salasanan syötöllä, kauko-ohjauksella jne. Uiflow käyttää seuraavia funktioita: rakennusfunktio, summeri, päätöksentekologinen funktio, käyttöliittymäkomponentti.

 

 

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.

 

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Sivupalkki

Uusin julkaisu

Tässä osiossa ei ole tällä hetkellä sisältöä. Lisää sisältöä tähän osioon käyttämällä sivupalkkia.

Rekisteröidy uutiskirjeeseemme

Hanki viimeisimmät tiedot tuotteistamme ja erikoistarjouksistamme.