M5Stack RFID-baseret Smart Adgangskontrolsystem

Når vi træder ind i intelligensens æra, er cloud-baserede intelligente kommunikationsenheder blevet meget populære i vores liv. Denne artikel vil bruge M5Stacks UiFlow udviklingsgrænseflade (Blocky) til at fuldføre adgangskontrolsystemet med cloud-baseret registreringsfunktion, inklusive fire typer autentifikationslåse (fjernoplåsning via mobiltelefon, RFID-kort, tastetryk-adgangskoder, fingeraftryksgenkendelse), og via MQTT-protokollen overføres adgangskontrolregistreringerne.

 

Hardwarekonfiguration

 
Adgangskontrolsystemet benytter M5Stack Faces modulpakken. FACES-pakken består af en kontrolkerne (M5Stack Core) og en række inputenheder, herunder en lommeregner, QWERTY-tastatur og andre inputenheder. I dette tilfælde bruger vi lommeregner-tastaturmodulet til tastetryk. Det er vigtigt at bemærke, at Faces-modulet skal udskiftes med forsigtighed, hvor begge sider af modulet holdes for at trække det ud for at undgå at beskadige stifterne. Det er vigtigt at udvise forsigtighed ved udskiftning af Faces-modulet for at forhindre skader på stifterne.
 
Næste trin er at opsætte tre enhedsmoduler. Bemærk venligst, at M5Stack RFID-modulet bruger kommunikationsgrænsefladen I2C og kan tilgås fra venstre side af Core Port-A. M5Stack fingeraftryksgenkendelsesmodulet bruger kommunikationsgrænsefladen UART og kan tilgås fra Core-porten. Bemærk, at Core's GPIO kan vendes til bagsiden af Core, hvor du vil finde en indikation af den tilsvarende interface PIN. GPIO-modulet på bagsiden af Core vil også have en indikation af den tilsvarende interface PIN. GPIO-grænsefladen bag på Core (GND, 5V, R2(16), T2(17)) og M5Stack Relay Module styres af I/O og er forbundet til Core port-B (GND, 5V, DA(26), AD(36)).

 

 

Når ledningskonfigurationen af de tre enhedsmoduler er færdig, skal der oprettes et kredsløb for at forbinde relæmodulet (som vist) for at styre solenoidlåsen. Denne gang skal solenoidlåsens driftsspænding være DC 12V. Bemærk, at M5Stack Relay Module understøtter op til DC 30V 3A strømindgang.

 

 

Når relækredsløbets hardware er konfigureret, vil skriveprogrammet bruge den officielle M5Stack udviklingsgrænseflade, Uiflow. På grund af den nuværende UiFlow offline host versions langsomme opdatering anbefales det, at hvis den trådløse Wifi-hastighed er tilstrækkelig, bruges den fjernskrevne Blocky. Det næste trin vil være at introducere Wifi trådløs metode til at skrive programmer til M5Stack. Følgende afsnit vil præsentere processen med at skrive programmer til M5Stack Core via Wifi.

 

UiFlow Indstilling

 
Opdater firmwaren
Før tilslutning skal du downloade den officielle brænder (M5Burner) for at opdatere firmwareversionen til den nyeste. Efter tilslutning af kablet vil brænderen vise COM-portnummeret, vælg den nyeste CORE UiFlow firmwareversion og tryk på Burn for at færdiggøre brændingen.
 

 
Opret forbindelse
Efter opdatering af firmwaren, skift Core til 'Internet Mode', vælg 'Wi-Fi via AP', og gå derefter ind på online-siden, hvor du vil se jord-symbolet blinke.
 

 
For at oprette forbindelse til laptopens WiFi, indtast SSID-navnet i søgefeltet. Bemærk, at navnet på hver Core ikke er det samme. I dette eksempel er navnet M5-FB50. Når forbindelsen er oprettet, åbn browseren og indtast følgende adresse i søgefeltet: [192.168.4.1]. Dette vil føre dig til online-indstillingssiden. Indtast SSID og adgangskode, som du ønsker at forbinde til.
 
Når en vellykket forbindelse er etableret, vil browseren vise følgende billede. WiFi- og online-ikonet, placeret i øverste venstre hjørne af Core-displayet, vil være grønt, og API-nøglen, der bruges til fjernforbindelse, vil være synlig nederst. Denne konfiguration gør det muligt for Core at få adgang til SSID og adgangskode og derefter bruge netværkstilstand til at etablere en direkte forbindelse til internettet. Hvis flere AP'er er brugt, kan valgmuligheden for at vælge fra en liste tilgås via Setup > Server. Hvis du har brugt flere AP'er, kan du også tilgå dem via Setup > Server.
Åbn derefter din computers browser, genopret forbindelse til internettet, gå til Uiflow webversionen, udfyld API KEY, vælg typen af Core og tryk på 'OK'.
 
 
Statuslinjen nederst vil vise API KEY for den aktuelt tilsluttede enhed og vise 'Connected', hvilket indikerer, at fjernforbindelsen er vellykket, og du kan begynde at skrive programmer med Blocky-blokke.

 
Trin 1 Opsætning af Blocky

 
Før du påbegynder Blocky-skriveprocessen, er det nødvendigt at importere det specifikke Unit-modulbibliotek, der skal bruges denne gang. For at gøre dette skal du klikke på plus-tegnet nederst til venstre på skærmen. Derefter vælg Port B for Relay-modulet, Port C for Fingeraftryksmodulet og Port A for RFID-modulet. Det er vigtigt at bekræfte det valgte modul ved at trykke på OK-knappen nederst til højre på skærmen.
 
 
Efter import af modulet vises det i venstre visningspanel, åbn Unit-menuen for at bekræfte, om modulet er importeret korrekt.
 
 
Trin 2 Skriv underprogrammer til almindelig brug i adgangskontrolsystemet
 
Efter import af modulet, for at undgå at programmet bliver for langt, skriv først flere underprogrammer, som vil blive brugt gentagne gange i adgangskontrolsystemet.

1.System standardtilstand (STAY) :

Efter udførelse af ethvert program vil det vende tilbage til denne standardprogramtilstand. Visningsfunktionen for tastetryk og AC-rensefunktionen er indbygget her, find startværdien for AC-knappen (initialværdi) for at give definitionen ved tryk på knappen. Uiflow bruger følgende funktionskolonner: opbyg funktion, vurderingslogikfunktion, tastaturinputfunktion, UI-komponent, relæ nulstilling.

 

2.ÅBN: Handlingen når identiteten bekræftes korrekt via RFID, fingeraftryksgenkendelse, adgangskodeinput, fjernbetjening, og for at sikre sikkerheden af relædriften, vil relæet automatisk slukke 3 sekunder efter det er tændt. Uiflow bruger følgende funktionskolonner: opbyg funktion, buzzer, vurderingslogikfunktion, UI-komponent, relæ tænd og nulstil.

 

 

3.LÅS: Handlingen når identiteten bekræftes korrekt via RFID, fingeraftryksgenkendelse, adgangskodeinput, fjernbetjening osv. Uiflow bruger følgende funktioner: opbyg funktion, buzzer, vurderingslogikfunktion, UI-komponent.

 

 

Trin 3 Opsæt netværksforbindelse og MQTT-funktion.
 
Formålet med dette eksperiment er at opsætte et netværk og forbindelse, der muliggør overførsel af data fra hver døråbning til et midlertidigt cloud-lager via MQTT-protokollen. Opsætningen vil blive udført ved hjælp af WiFi. MQTT er en messaging-protokol baseret på 'publish/subscribe'-mekanismen, som svarer til videoopslag og abonnementsmekanismen på sociale medier eller YouTube.
 
I MQTT svarer afsenderen af beskeder til en YouTube-kanal eller en Instagram-konto. Når en film er udgivet eller et Instagram-opslag er lavet, sendes det ikke direkte til abonnenterne. I stedet overgives det til en server eller tredjepart (broker), som koordinerer og håndterer udgivelses- og abonnementsproblemer. Hver indholdskilde (f.eks. en film eller artikel) tildeles et unikt emnenavn (f.eks. titlen på filmen eller artiklen), og proxyen er en serversoftware. Enheden, der transmitterer emnet til serveren, er udgiveren, og enheden, der modtager emnet fra serveren, er abonnenten.
 
Først skal du opsætte WiFi-forbindelsesfunktionen for Access Control Core. For at gøre dette skal du åbne Avanceret-menuen i Uiflow, vælge 'Connect to Wi-Fi SSID' og indtaste adgangskoden i Netværk. Du vil derefter blive bedt om at indtaste navnet og adgangskoden til adgangspunktet på det sted, hvor du har til hensigt at opsætte adgangskontrolsystemet. Vælg venligst 'Connect to Wi-Fi SSID' og indtast navnet og adgangskoden til adgangspunktet (AP), der kan forbindes til det sted, hvor du ønsker at opsætte adgangskontrolsystemet.
 
For at bekræfte om WiFi er online eller ej, tilføj en vurderingslogikfunktion og skærm-UI-scroll-komponent. Når WiFi er online, vises det grønt, og når det er offline, vises det rødt. Dette fuldfører netværkets online-indstilling. Uiflow bruger følgende funktionskolonner: Følgende funktioner er inkluderet: Vurderingslogik, WiFi-indstilling og UI-komponent.
 

 
MQTT Broker brugt af adgangskontrolsystemet er en gratis broker leveret af HiveMQ til alle brugere. Åbn din browser og gå til Public Broker for at tjekke Host og TCP Port for Broker.
 
Åbn derefter Avanceret-menuen i UiFlow, brug MQTT-host til at indstille og aktivere MQTT-funktionen, udfyld TCP-port og server for broker, og indstil et brugernavn for klienten. Efter indstillingen er færdig, vil Core aktivere MQTT-tjenesten under Wifi-forbindelse. Uiflow bruger følgende funktioner.

 

 

For at opsætte en mobiltelefon til at modtage/sende MQTT-beskeder, søg efter IoT MQTT Panel i GOOGLE PLAY eller Apple App Store og download den for at åbne den. IOT MQTT Panel er et let og nemt at bruge MQTT-værktøj med mange UI-skabeloner allerede opsat, og den betalte version giver realtidsnotifikationer på mobilen, der popper op, når nye beskeder modtages.

 

 
Efter åbning af appen, udfyld først den tidligere opsatte CORE broker TCP Port og server (BrokerWeb) for at udfylde klienten og indstil også et brugernavn, husk at tilføje en funktion Dashboard, ellers kan det ikke oprettes!

 

 
Efter oprettelse af et godt Dashboard og derefter opbyg UI-funktionsmodulet (Tilføj panel), skal vi opbygge i alt to attributter af funktionsmodulet, en er registrering af adgangskontrol udløst af Tekstlog, og en er fjernbetjening af Switch-knappen.
 

 
Trin 4 Adgangskontrol Log
 
Opret en adgangskontrolregistreringsfunktion, når adgangskontrolsystemet udløses for at bekræfte identiteten af funktionen for at sende bekræftelsesresultaterne til denne registrering. Arbejdsprincippet er at oprette et Topic (jeg har sat det som M5Stack_Log), for at give adgangskontrolsystemets Core mulighed for at sende en besked til dette Topic. Funktionsmodulindstillinger: juster antallet af viste beskeder og skriftstørrelse, tidsstempel, mobiltelefonens realtidsnotifikationsfunktion (Aktiver notifikation) skal betales for at bruge. Aktiver notifikation) skal betales for at bruge, efter indstillingen er færdig, tryk på GEM for at fuldføre oprettelsen.
 

 
Trin 5 Adgangskontrolfunktion--Fjernoplåsning
 
Fjernbetjening: Arbejdsprincippet er at sætte et Topic på mobiltelefonen, ifølge UI-switch-status (TIL/FRA) på mobiltelefonen for at sende en besked (jeg tager det som oplåsning/låsning), Core på dørlåsen vil læse beskeden ved at abonnere på Topic på mobiltelefonen, og derefter kan den styre dørlåsens kontakt.
Under krogfunktionskolonnen kan du sætte bunden af Vis modtaget tidsstempel og Vis sendt tidsstempel til at registrere tidspunkterne, mobiltelefonens realtidsnotifikationsfunktion (Aktiver notifikation) skal betales for at bruge, opsætning efter færdiggørelse af GEM er at fuldføre oprettelsen.

 

 
Sørg for, at Uiflow er aktiveret, at fjernbetjeningsfunktionen er konfigureret, og at adgangskontrol CORE abonnement brokerens Topic (Lock_Action) er opsat. Når mobiltelefonen aktiveres, skal oplåsningsunderprogrammet (UNLOCK) udføres for at åbne dørlåsen, og adgangskontrolregistreringen sendes til mobiltelefonens Topic (M5Stack_Log) med navnet Remote_OPEN. Bemærk, at navnet skal indtastes korrekt, da forkert store/små bogstaver vil resultere i, at beskeden ikke modtages eller sendes. Beskedens navn er 'Remote_OPEN'. Bemærk, at navnet skal indtastes korrekt, da et forkert emne vil resultere i, at beskeden ikke modtages eller sendes. Uiflow bruger følgende funktionskolonner: MQTT-funktion, vurderingslogikfunktion, tekstimport-underprogram og andre funktioner er tilgængelige.

 

 
Fjernbetjeningsresultatet resulterer i en vellykket aktivering af solenoideventilen og vises på Core-skærmen. Logningsmodulet på mobiltelefonen viser data med tidsstempel.

 

 
Trin 6 Adgangskontrolfunktion--RFID
 
For at opsætte RFID-adgangskontrolfunktionen, tilføj først en hovedløkke under den nuværende MQTT-indstillingsfunktion som hovedprogram til at udløse vurderingen, og tilføj funktionen til at udløse funktionen, når der er et RFID-kort tæt på funktionen. Uiflow bruger funktionskolonnerne: Opret MAIN-funktion, vurderingslogikfunktion, RFID-funktionsbibliotek.
 

 
Opret RFID-vurderingsfunktion (RFID_decision), RFID-underprogram (RFID_OK) og RFID-underprogram (RFID_Denied). Vurderingsfunktionen (RFID_decision) bruges som udførelsesunderprogram (RFID_OK) plus systemunderprogram (UNLOCK), når RFID er korrekt, eller udførelsesunderprogram (RFID_Denied) plus systemunderprogram (LOCK), når RFID er forkert.
 
Husk at tilføje MQTT push-funktion i de to RFID-underprogrammer efter færdiggørelse, uanset korrekt eller fejl vil beskeden blive sendt til Topic (M5Stack_Log), RFID UID kan opnås gennem Uiflow RFID-funktion. Uiflow bruger funktionskolonner: opbyg RFID-underprogramfunktion, vurderingslogikfunktion, RFID-funktionsbibliotek, UI-komponenter, MQTT-funktioner, tekst, import-underprogramfunktioner.
 

 
Succesfuld RFID-genkendelse af solenoideventilen vil aktivere én gang og vise det korrekte kort på Core, og kortet, der registrerer en fejl, vil vise fejlen.
Logningsmodulet på mobiltelefonen viser korrekt og forkert (med tidsstempler) information.
 

 
Trin 6 Adgangskontrolfunktion--Tastetryk Adgangskodeindgang
 
For at opsætte tastetryk-adgangskodefunktionen, tilføj en tastetryksfunktion udløserfunktion under hovedprogrammet (Main) løkke, som udløses, når antallet af cifre indtastet på tastaturet er større end eller lig med 7. Uiflow bruger følgende funktionskolonner: Funktion, Vurderingslogikfunktion, Tekst, Tastaturmodulfunktion.
 
Følgende funktioner og underprogrammer skal oprettes: Password_decision, RFID_OK og RFID_Denied. Password_decision-underprogrammet bruges som et udførelsesunderprogram (Type_OK) plus et systemunderprogram (UNLOCK), når adgangskoden indtastes korrekt, eller som et udførelsesunderprogram (Type_Denied) plus et systemunderprogram (LOCK), når adgangskoden indtastes forkert.
 
Når du har færdiggjort adgangskodeinput-underprogrammerne, skal du tilføje MQTT push-funktionen til begge, uanset om adgangskoden blev indtastet korrekt eller forkert. Beskeden vil derefter blive sendt til Topic (M5Stack_Log). Uiflow bruger følgende funktionskolonner: Følgende funktioner skal oprettes: Adgangskodeinput-underprogram, vurderingslogik, tastaturmodul, UI-komponent, MQTT, tekst og import-underprogram.

 

Solenoideventilen aktiveres én gang og vises korrekt på Core, hvis adgangskoden er indtastet korrekt, og vises forkert, hvis adgangskoden er indtastet forkert.
Logningsmodulet på mobiltelefonen viser data for korrekte og forkerte adgangskoder (med tidsstempler).

 

Konklusion

 
Dette virkelige adgangskontrolsystem anvender en række teknologier, herunder RFID, fingeraftryksgenkendelse, tastetryk og andre moduler til hurtigt at udvikle robuste hardwareløsninger. Det bruger MQTT-kommunikationsprotokoller til fjernoplåsning af dørlåse og generering af adgangskontrolregistreringer. På grund af Blockys avancerede funktionalitet er funktioner som AI ansigtsgenkendelse ikke tilgængelige på UiFlow i øjeblikket. Vi vil dog introducere avancerede YOLO-detekteringsfunktioner efter billedstreaming i den nærmeste fremtid.

 

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Sidebjælke

Seneste indlæg

Denne sektion indeholder i øjeblikket ikke noget indhold. Tilføj indhold til denne sektion ved hjælp af sidepanelet.

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.