M5Stack RFID-baserat smart åtkomstkontrollsystem

När vi går in i intelligensens era har molnbaserade intelligenta kommunikationsenheter blivit mycket populära i våra liv. Denna artikel kommer att använda M5Stacks UiFlow utvecklingsgränssnitt (Blocky) för att slutföra åtkomstkontrollsystemet med molnbaserad inspelningsfunktion, inklusive fyra typer av autentiseringslås (mobiltelefon fjärrupplåsning, RFID-kort, tangentbordslösenord, fingeravtrycksigenkänning), och via MQTT-protokollet överförs åtkomstkontrollposter via MQTT-protokollet.

 

Hårdvarukonfiguration

 
Åtkomstkontrollsystemet använder M5Stack Faces modulpaket. FACES-paketet består av en kontrollkärna (M5Stack Core) och en rad inmatningsenheter, inklusive en kalkylator, QWERTY-tangentbord och andra inmatningsenheter. I detta fall använder vi kalkylatortangentbordsmodulen för tangenttryckningar. Det är viktigt att notera att Faces-modulen bör bytas ut med försiktighet, så att båda sidor av modulen hålls för att koppla ur för att undvika att skada stiften. Det är viktigt att vara försiktig när Faces-modulen byts ut för att förhindra skador på stiften.
 
Nästa steg är att ställa in tre enhetsmoduler. Observera att M5Stack RFID-modulen använder kommunikationsgränssnittet I2C och kan nås från vänster sida av Core Port-A. M5Stack fingeravtrycksigenkänningsmodul använder kommunikationsgränssnittet UART och kan nås från Core-porten. Observera att Cores GPIO kan vändas till baksidan av Core, där du hittar en ledtråd om motsvarande gränssnittsstift. GPIO-modulen på baksidan av Core kommer också att ha en ledtråd om motsvarande gränssnittsstift. GPIO-gränssnittet på baksidan av Core (GND, 5V, R2(16), T2(17)) och M5Stack-relämodulen styrs av I/O och är anslutna till Core port-B (GND, 5V, DA(26), AD(36)).

 

 

När ledningskonfigurationen för de tre enhetsmodulerna är klar bör en krets skapas för att ansluta relämodulen (som visas) för att styra solenoidlåset. Denna gång bör solenoidlåsets driftspänning vara DC 12V. Observera att M5Stack-relämodulen stöder upp till DC 30V 3A ströminmatning.

 

 

När reläkretsens hårdvara har konfigurerats kommer skrivprogrammet att använda det officiella M5Stack-utvecklingsgränssnittet, Uiflow. Med tanke på den nuvarande UiFlow offline-värdversionens långsamma uppdatering rekommenderas det att, om den trådlösa Wifi-hastigheten är tillräcklig, använda fjärrskrivning med Blocky. Nästa steg blir att introducera Wifi trådlös metod för att skriva program för M5Stack. Följande avsnitt kommer att presentera processen för att skriva program till M5Stack Core via Wifi.

 

UiFlow-inställning

 
Uppdatera firmware
Innan anslutning måste du ladda ner den officiella brännaren (M5Burner) för att uppdatera firmwareversionen till den senaste. Efter att ha anslutit kabeln visar brännaren COM-portnumret, välj den senaste CORE UiFlow firmwareversionen och tryck på Burn för att slutföra bränningen.
 

 
Upprätta anslutning
Efter att ha uppdaterat firmware, växla Core till 'Internetläge', välj 'Wi-Fi via AP', och gå sedan in på online-sidan, du kommer att se jord-symbolen blinka.
 

 
För att ansluta till laptopens WiFi, skriv in SSID-namnet i sökfältet. Observera att namnet på varje Core inte är detsamma. I detta exempel är namnet M5-FB50. När du är ansluten, öppna webbläsaren och skriv in följande adress i sökfältet: [192.168.4.1]. Detta tar dig till online-inställningssidan. Ange SSID och lösenord som du vill ansluta till.
 
När en lyckad anslutning har upprättats kommer webbläsaren att visa följande bild. WiFi- och online-ikonen, som finns i det övre vänstra hörnet av Core-skärmen, kommer att visas i grönt, och API-nyckeln som används för fjärranslutning kommer att vara synlig längst ner. Denna konfiguration gör det möjligt för Core att få åtkomst till SSID och lösenord och sedan använda nätverksläget för att upprätta en direktanslutning till Internet. Om flera AP har använts kan alternativet att välja från en lista nås via Setup > Server. Om du har använt flera AP kan du också nå dem via Setup > Server.
Öppna sedan din dators webbläsare, anslut till Internet igen, gå till Uiflow webbversion, fyll i API-KEY, välj typ av Core och tryck på 'OK'.
 
 
Statusfältet längst ner visar API-KEY för den för närvarande anslutna enheten och visar 'Connected', vilket indikerar att fjärranslutningen är framgångsrik och du kan börja skriva program med Blocky-block.

 
Steg 1: Ställa in Blocky

 
Innan du påbörjar Blocky-skrivprocessen är det nödvändigt att importera det specifika enhetsmodulbiblioteket som ska användas denna gång. För att göra detta, klicka på plustecknet längst ner till vänster på skärmen. Välj sedan Port B för relämodulen, Port C för fingeravtrycksmodulen och Port A för RFID-modulen. Det är viktigt att bekräfta den valda modulen genom att trycka på OK-knappen längst ner till höger på skärmen.
 
 
Efter att ha importerat modulen visas den i den vänstra visningspanelen, öppna Unit-menyn för att bekräfta om modulen har importerats korrekt.
 
 
Steg 2: Skriv subrutiner för vanlig användning i åtkomstkontrollsystemet
 
Efter att ha importerat modulen, för att undvika att programmet blir för långt, skriv först flera subrutiner som kommer att användas upprepade gånger i åtkomstkontrollsystemet.

1.Systemets standardtillstånd (STAY) :

Efter att ha kört något program återgår det till detta standardprogramtillstånd. Visningsfunktionen för tangenttryckningar och AC-rensningsfunktionen är inbyggda här, hitta startvärdet för AC-knappen (initialvärde) för att ge definitionen när knappen trycks. Uiflow använder funktionskolumnen: byggfunktion, bedömningslogikfunktion, tangentbordsinmatningsfunktion, UI-komponent, reläåterställning.

 

2. UNLOCK: Åtgärden när identiteten bekräftas korrekt via RFID, fingeravtrycksigenkänning, lösenordsinmatning, fjärrkontroll, och för att säkerställa säkerheten i relädriften stängs reläet automatiskt av 3 sekunder efter att det har slagits på. Uiflow använder följande funktionskolumner: byggfunktion, summer, bedömningslogikfunktion, UI-komponent, relä på och återställning.

 

 

3. LOCK: Åtgärden när identiteten bekräftas korrekt via RFID, fingeravtrycksigenkänning, lösenordsinmatning, fjärrkontroll, etc. Uiflow använder följande funktioner: Byggfunktion, Summer, Bedömningslogikfunktion, UI-komponent.

 

 

Steg 3: Ställ in nätverksanslutning och MQTT-funktion.
 
Syftet med detta experiment är att ställa in ett nätverk och en anslutning som möjliggör överföring av data från varje dörröppning till ett temporärt molnlagringsområde via MQTT-protokollet. Inställningen görs med WiFi. MQTT är ett meddelandeprotokoll baserat på "publish/subscribe"-mekanismen, vilket är analogt med videouppladdnings- och prenumerationsmekanismen på sociala medier eller YouTube.
 
I MQTT är avsändaren av meddelanden analog med en YouTube-kanal eller ett Instagram-konto. När en film har släppts eller ett Instagram-inlägg har gjorts skickas det inte direkt till prenumeranterna. Istället överlämnas det till en server eller tredje part (broker), som koordinerar och hanterar släpp- och prenumerationsfrågor. Varje innehållskälla (t.ex. en film eller artikel) tilldelas ett unikt ämnesnamn (t.ex. filmens eller artikelns titel), och proxy är en serverprogramvara. Entiteten som överför ämnet till servern är publiceraren, och entiteten som tar emot ämnet från servern är prenumeranten.
 
Först, vänligen ställ in WiFi-anslutningsfunktionen för Access Control Core. För att göra detta, öppna Avancerad meny i Uiflow, välj 'Anslut till Wi-Fi SSID' och ange lösenordet i Nätverk. Du kommer sedan att uppmanas att ange namn och lösenord för accesspunkten på platsen där du tänker installera åtkomstkontrollsystemet. Välj 'Anslut till Wi-Fi SSID' och ange namn och lösenord för accesspunkten (AP) som kan anslutas till platsen där du vill installera åtkomstkontrollsystemet.
 
För att bekräfta om WiFi är online eller inte, lägg till en bedömningslogikfunktion och skärm-UI-rullningskomponent. När WiFi är online visas det grönt, och när det är offline visas det rött. Detta slutför nätverksinställningen online. Uiflow använder följande funktionskolumner: Följande funktioner har inkluderats: Bedömningslogik, WiFi-inställning och UI-komponent.
 

 
MQTT Broker som används av åtkomstkontrollsystemet är en gratis broker som tillhandahålls av HiveMQ till alla användare. Öppna din webbläsare och gå till Public Broker för att kontrollera värd och TCP-port för brokern.
 
Öppna sedan Avancerad meny i UiFlow, använd MQTT-värden för att ställa in och aktivera MQTT-funktionen, fyll i TCP-port och server för brokern, och ställ in ett användarnamn för klienten. Efter att inställningen är klar kommer Core att aktivera MQTT-tjänsten under Wifi-anslutning. Uiflow använder följande funktioner.

 

 

För att ställa in en mobiltelefon för att ta emot/skicka MQTT-meddelanden, sök efter IoT MQTT Panel i GOOGLE PLAY eller Apple App Store och ladda ner den för att öppna den. IOT MQTT Panel är ett lätt och enkelt att använda MQTT-verktyg med många UI-mallar redan inställda, och betalversionen ger realtidsnotiser på mobilen för att visa notiser när nya meddelanden tas emot.

 

 
Efter att ha öppnat appen, fyll först i den tidigare inställda CORE broker TCP-porten och servern (BrokerWeb) för att fylla i klienten och ställ in även ett användarnamn, kom ihåg att lägga till en funktion Dashboard annars kan den inte skapas!

 

 
Efter att ha skapat en bra Dashboard och sedan byggt UI-funktionsmodulen (Lägg till panel), måste vi bygga totalt två attribut för funktionsmodulen, en är posten av åtkomstkontroll som utlöses av Text Log, och en är fjärrkontroll av Switch-knappen.
 

 
Steg 4: Åtkomstkontroll-logg
 
Skapa en funktion för åtkomstkontrollinspelning, när åtkomstkontrollsystemet utlöses för att bekräfta identiteten ska funktionen skicka bekräftelseresultaten till denna post, arbetsprincipen är att skapa ett Topic (jag satte här som M5Stack_Log), för att tillhandahålla åtkomstkontrollsystemets Core att skicka ett meddelande till detta Topic. Funktionsmodulinställningar: justera antalet meddelanden som visas och teckenstorleken, tidsstämpeln, mobilens realtidsnotisfunktion (Aktivera notis) måste betalas för att användas. Aktivera notis måste betalas för att användas, efter inställningen är klar, tryck på SPARA för att slutföra skapandet.
 

 
Steg 5: Åtkomstkontrollfunktion--Fjärrupplåsning
 
Fjärrstyrning: Arbetsprincipen är att ställa in ett Topic på mobilen, enligt UI-brytarläget (PÅ/AV) på mobilen för att skicka ett meddelande (jag tar det som upplåsning/låsning), Core på dörrlåset läser meddelandet genom att prenumerera på Topic på mobilen, och kan sedan styra dörrlåsbrytaren.
Under krokfunktionskolumnen kan du lägga till längst ner Visa mottagen tidsstämpel och Visa skickad tidsstämpel för att koppla ihop för att registrera tidpunkten, mobilens realtidsnotisfunktion (Aktivera notis) måste betalas för att användas, efter inställningen är klar tryck på SPARA för att slutföra skapandet.

 

 
Se till att Uiflow är aktiverat, att fjärrkontrollfunktionen är konfigurerad och att åtkomstkontroll CORE-prenumerationsbrokern Topic (Lock_Action) är inställd. När mobilen aktiveras ska upplåsningssubrutinen (UNLOCK) köras för att öppna dörrlåset och åtkomstkontrollposten skickas till mobilens Topic (M5Stack_Log) med namnet Remote_OPEN. Observera att namnet måste anges korrekt, eftersom felaktig stavning leder till att meddelandet inte tas emot eller skickas. Meddelandets namn är 'Remote_OPEN'. Observera att namnet måste anges korrekt, eftersom ett felaktigt ämne leder till att meddelandet inte tas emot eller skickas. Uiflow använder följande funktionskolumner: MQTT-funktion, bedömningslogikfunktion, textimportsubrutin och andra funktioner finns tillgängliga.

 

 
Fjärrkontrollen resulterar i en lyckad solenoidventilsaktivering och visas på Core-skärmen. Loggningsmodulen på mobilen visar data med tidsstämpel.

 

 
Steg 6: Åtkomstkontrollfunktion--RFID
 
För att ställa in RFID-åtkomstkontrollfunktionen, lägg först till en huvudloop under den nuvarande MQTT-inställningsfunktionen, som huvudprogram för att utlösa bedömningen, och lägg till funktionen för att utlösa funktionen när ett RFID-kort är nära funktionen. Uiflow använder funktionskolumnerna: SKAPA HUVUDFUNKTION, bedömningslogikfunktion, RFID-funktionsbibliotek.
 

 
Skapa RFID-bedömningsfunktion (RFID_decision), RFID-subrutin (RFID_OK) och RFID-subrutin (RFID_Denied). Bedömningsfunktionen (RFID_decision) används som exekverbar subrutin (RFID_OK) plus systemsubrutin (UNLOCK) när RFID är korrekt, eller exekverbar subrutin (RFID_Denied) plus systemsubrutin (LOCK) när RFID är felaktig.
 
Kom ihåg att lägga till MQTT-pushfunktion i de två RFID-subrutinerna efter slutförandet, oavsett korrekt eller felaktigt kommer meddelandet att pushas till Topic (M5Stack_Log), RFID UID kan erhållas via Uiflow RFID-funktion. Uiflow använder funktionskolumnen: bygg RFID-subrutinfunktion, bedömningslogikfunktion, RFID-funktionsbibliotek, UI-komponenter, MQTT-funktioner, text, importsubrutinfunktioner.
 

 
Lyckad RFID-igenkänning av solenoidventilen kommer att aktiveras en gång och visa korrekt kort på Core, och kortet som känner av ett fel kommer att visa felet.
Loggningsmodulen på mobilen visar korrekt och felaktig (med tidsstämplar) information.
 

 
Steg 6: Åtkomstkontrollfunktion--Tangentbordslösenord
 
För att ställa in tangentbordslösenordsfunktionen, lägg till en tangenttryckningsutlösarfunktion under huvudprogrammet (Main) loopen, som utlöses när antalet siffror som matas in på tangentbordet är större än eller lika med 7. Uiflow använder följande funktionskolumner: Funktion, Bedömningslogikfunktion, Text, Tangentbordsmodulfunktion.
 
Följande funktioner och subrutiner bör skapas: Password_decision, RFID_OK och RFID_Denied. Password_decision-subrutinen används som en exekverbar subrutin (Type_OK) plus en systemsubrutin (UNLOCK) när lösenordet matas in korrekt, eller som en exekverbar subrutin (Type_Denied) plus en systemsubrutin (LOCK) när lösenordet matas in felaktigt.
 
När du har slutfört lösenordsinmatningssubrutinerna, lägg till MQTT-pushfunktionen till båda, oavsett om lösenordet matades in korrekt eller felaktigt. Meddelandet kommer sedan att pushas till Topic (M5Stack_Log). Uiflow använder följande funktionskolumner: Följande funktioner ska skapas: Lösenordsinmatningssubrutin, Bedömningslogik, Tangentbordsmodul, UI-komponent, MQTT, Text och Importsubrutin.

 

Solenoidventilen aktiveras en gång och visas korrekt på Core om lösenordet matas in korrekt, och visas felaktigt om lösenordet matas in felaktigt.
Loggningsmodulen på mobilen visar data för korrekta och felaktiga lösenord (med tidsstämplar).

 

 

Slutsats

 
Detta verkliga åtkomstkontrollsystem använder en rad teknologier, inklusive RFID, fingeravtrycksigenkänning, tangenttryckning och andra moduler, för att snabbt utveckla robusta hårdvarulösningar. Det använder MQTT-kommunikationsprotokoll för att fjärrupplåsa dörrlås och generera åtkomstkontrollposter. På grund av Blockys avancerade funktionalitet är funktioner som AI-ansiktsigenkänning för närvarande inte tillgängliga i UiFlow. Vi kommer dock att introducera avancerade YOLO-detekteringsfunktioner efter bildströmning inom en snar framtid.

 

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *

Sidopanel

Senaste inlägg

Denna sektion innehåller för närvarande inget innehåll. Lägg till innehåll i denna sektion med hjälp av sidofältet.

Registrera dig för vårt nyhetsbrev

Få den senaste informationen om våra produkter och specialerbjudanden.