System inteligentnej kontroli dostępu oparty na RFID M5Stack

Wchodząc w erę inteligencji, oparte na chmurze inteligentne urządzenia komunikacyjne stały się bardzo popularne w naszym życiu. Ten artykuł wykorzysta interfejs programistyczny UiFlow firmy M5Stack (Blocky) do stworzenia systemu kontroli dostępu z funkcją rejestracji w chmurze, obejmującego cztery rodzaje zamków uwierzytelniających (zdalne odblokowywanie telefonem, karta RFID, hasła wpisywane na klawiaturze, identyfikacja odcisku palca), a także przesyłanie zapisów kontroli dostępu za pomocą protokołu MQTT.

 

Konfiguracja sprzętu

 
System kontroli dostępu wykorzystuje modułowy pakiet M5Stack Faces. Pakiet FACES składa się z rdzenia sterującego (M5Stack Core) oraz szeregu urządzeń wejściowych, w tym kalkulatora, klawiatury QWERTY i innych urządzeń wejściowych. W tym przypadku używamy modułu klawiatury kalkulatora do wprowadzania znaków. Należy pamiętać, że moduł Faces powinien być wymieniany ostrożnie, trzymając obie strony modułu podczas odłączania, aby uniknąć uszkodzenia pinów. Ważne jest zachowanie ostrożności podczas wymiany modułu Faces, aby zapobiec uszkodzeniu pinów.
 
Następnym krokiem jest skonfigurowanie trzech modułów jednostkowych. Należy zauważyć, że moduł M5Stack RFID używa interfejsu komunikacyjnego I2C i można uzyskać do niego dostęp z lewej strony portu Core Port-A. Moduł rozpoznawania odcisków palców M5Stack używa interfejsu komunikacyjnego UART i można uzyskać do niego dostęp z portu Core. Należy zauważyć, że GPIO Core może być obrócone na tył Core, gdzie znajdziesz wskazówkę dotyczącą odpowiadającego pinu interfejsu. Moduł GPIO z tyłu Core również będzie miał wskazówkę dotyczącą odpowiadającego pinu interfejsu. Interfejs GPIO z tyłu Core (GND, 5V, R2(16), T2(17)) oraz moduł przekaźnika M5Stack są sterowane przez I/O i podłączone do portu Core-B (GND, 5V, DA(26), AD(36)).

 

 

Po zakończeniu konfiguracji okablowania trzech modułów jednostkowych należy utworzyć obwód do podłączenia modułu przekaźnika (jak pokazano), aby sterować zamkiem elektromagnetycznym. Tym razem należy użyć napięcia roboczego zamka elektromagnetycznego DC 12V. Należy zauważyć, że moduł przekaźnika M5Stack obsługuje zasilanie do DC 30V 3A.

 

 

Po skonfigurowaniu sprzętu obwodu przekaźnikowego, program do pisania będzie korzystał z oficjalnego interfejsu programistycznego M5Stack, Uiflow. Biorąc pod uwagę powolną aktualizację obecnej wersji UiFlow offline host, zaleca się, aby w przypadku wystarczającej prędkości bezprzewodowego Wifi, używać zdalnego zapisu Blocky. Kolejnym krokiem będzie wprowadzenie metody bezprzewodowego pisania programów za pomocą Wifi dla M5Stack. W następnej sekcji zostanie przedstawiony proces pisania programów do M5Stack Core przez Wifi.

 

Ustawienie UiFlow

 
Zaktualizuj oprogramowanie układowe
Przed podłączeniem należy pobrać oficjalny program do nagrywania (M5Burner), aby zaktualizować wersję oprogramowania układowego do najnowszej. Po podłączeniu kabla program do nagrywania pokaże numer portu COM, wybierz najnowszą wersję oprogramowania CORE UiFlow i naciśnij Burn, aby zakończyć nagrywanie.
 

 
Nawiąż połączenie
Po aktualizacji oprogramowania układowego przełącz Core na "Tryb Internet", wybierz "Wi-Fi przez AP", a następnie wejdź na stronę online, zobaczysz migający symbol Ziemi.
 

 
Aby połączyć się z WiFi laptopa, wpisz nazwę SSID w polu wyszukiwania. Należy pamiętać, że nazwa każdego Core nie jest taka sama. W tym przykładzie nazwa to M5-FB50. Po połączeniu otwórz przeglądarkę i wpisz następujący adres w polu wyszukiwania: [192.168.4.1]. To przeniesie Cię do strony ustawień online. Wprowadź SSID i hasło, z którymi chcesz się połączyć.
 
Po nawiązaniu pomyślnego połączenia, przeglądarka wyświetli następujący obraz. Ikona WiFi i online, znajdująca się w lewym górnym rogu wyświetlacza Core, pojawi się na zielono, a klucz API używany do połączenia zdalnego będzie widoczny na dole. Ta konfiguracja umożliwia Core dostęp do SSID i hasła, a następnie wykorzystanie trybu sieciowego do nawiązania bezpośredniego połączenia z Internetem. W przypadku użycia wielu punktów dostępowych (AP), opcja wyboru z listy jest dostępna przez Ustawienia > Serwer. Jeśli korzystałeś z wielu AP, możesz również uzyskać do nich dostęp przez Ustawienia > Serwer.
Następnie otwórz przeglądarkę na swoim komputerze, ponownie połącz się z Internetem, przejdź do wersji webowej Uiflow, wprowadź KLUCZ API, wybierz typ Core i naciśnij 'OK'.
 
 
Pasek stanu na dole pokaże KLUCZ API aktualnie podłączonego urządzenia oraz wyświetli "Połączono", co oznacza, że połączenie zdalne jest udane i możesz zacząć pisać programy za pomocą bloków Blocky.

 
Krok 1 Konfiguracja Blocky

 
Przed rozpoczęciem procesu pisania w Blocky, konieczne jest zaimportowanie konkretnej biblioteki modułów jednostkowych, która ma być użyta w tym przypadku. Aby to zrobić, kliknij znak plus znajdujący się w lewym dolnym rogu ekranu. Następnie wybierz Port B dla modułu przekaźnika, Port C dla modułu odcisku palca oraz Port A dla modułu RFID. Ważne jest, aby potwierdzić wybrany moduł, naciskając przycisk OK znajdujący się w prawym dolnym rogu ekranu.
 
 
Po zaimportowaniu modułu, zostanie on wyświetlony w lewym panelu wyświetlania, otwórz menu Jednostka, aby potwierdzić, czy moduł został poprawnie zaimportowany.
 
 
Krok 2 Napisz podprogramy do powszechnego użytku w systemie kontroli dostępu
 
Po zaimportowaniu modułu, aby uniknąć zbyt długiego programu, najpierw napisz kilka podprogramów, które będą wielokrotnie używane w systemie kontroli dostępu.

1. Domyślny stan systemu (STAY) :

Po wykonaniu dowolnego programu, powróci on do tego domyślnego stanu programu. Funkcja wyświetlania naciśnięć klawiszy oraz funkcja czyszczenia AC są tutaj zbudowane, znajdź wartość początkową przycisku AC (wartość początkowa), aby nadać definicję podczas naciskania przycisku. Uiflow używa kolumny funkcji: budowanie funkcji, funkcja logiki warunkowej, funkcja wprowadzania z klawiatury, komponent UI, reset przekaźnika.

 

2. ODBLOKUJ: Działanie, gdy tożsamość zostanie poprawnie potwierdzona za pomocą RFID, rozpoznawania odcisku palca, wprowadzenia hasła, pilota zdalnego sterowania, a w celu zapewnienia bezpieczeństwa działania przekaźnika, przekaźnik zostanie automatycznie wyłączony 3 sekundy po włączeniu. Uiflow używa następujących kolumn funkcji: budowanie funkcji, brzęczyk, funkcja logiki decyzyjnej, komponent UI, włączanie i resetowanie przekaźnika.

 

 

3.ZABLOKOWANIE: Działanie, gdy tożsamość zostanie poprawnie potwierdzona za pomocą RFID, rozpoznawania odcisków palców, wprowadzenia hasła, pilota itp. Uiflow używa następujących funkcji: funkcja budowania, brzęczyk, funkcja logiki decyzyjnej, komponent UI.

 

 

Krok 3 Konfiguracja połączenia sieciowego i funkcji MQTT.
 
Celem tego eksperymentu jest skonfigurowanie sieci i połączenia, które umożliwią przesyłanie danych z każdego otwarcia drzwi do tymczasowego obszaru przechowywania w chmurze za pomocą protokołu MQTT. Konfiguracja zostanie wykonana przy użyciu WiFi. MQTT to protokół komunikacyjny oparty na mechanizmie „publikuj/subskrybuj”, który jest analogiczny do mechanizmu publikowania i subskrybowania wideo w mediach społecznościowych lub na YouTube.
 
W MQTT nadawca wiadomości jest analogiczny do kanału YouTube lub konta na Instagramie. Po wydaniu filmu lub opublikowaniu posta na Instagramie, nie jest on wysyłany bezpośrednio do subskrybentów. Zamiast tego jest przekazywany serwerowi lub stronie trzeciej (brokerowi), który koordynuje i zarządza kwestiami związanymi z publikacją i subskrypcją. Każdemu źródłu treści (np. filmowi lub artykułowi) przypisywana jest unikalna nazwa tematu (np. tytuł filmu lub artykułu), a proxy to oprogramowanie serwera. Podmiot, który przesyła temat do serwera, to wydawca, a podmiot, który odbiera temat od serwera, to subskrybent.
 
Po pierwsze, proszę skonfigurować funkcję połączenia WiFi w Access Control Core. Aby to zrobić, otwórz menu Zaawansowane w Uiflow, wybierz 'Połącz z Wi-Fi SSID' i wpisz hasło w Sieci. Następnie zostaniesz poproszony o podanie nazwy i hasła punktu dostępowego w miejscu, gdzie zamierzasz zainstalować system kontroli dostępu. Proszę wybrać 'Połącz z Wi-Fi SSID' i wpisać nazwę oraz hasło punktu dostępowego (AP), który można połączyć z lokalizacją, gdzie chcesz zainstalować system kontroli dostępu.
 
Aby potwierdzić, czy WiFi jest online, dodaj funkcję logiki oceny oraz komponent przewijania interfejsu użytkownika. Gdy WiFi jest online, będzie wyświetlane na zielono, a gdy jest offline, na czerwono. To kończy ustawienie sieci online. Uiflow używa następujących kolumn funkcji: Włączono następujące funkcje: Logika oceny, Ustawienia WiFi oraz Komponent UI.
 

 
Broker MQTT używany przez system kontroli dostępu to darmowy broker udostępniany przez HiveMQ wszystkim użytkownikom. Otwórz przeglądarkę i przejdź do Public Broker, aby sprawdzić Host i port TCP brokera.
 
Następnie otwórz menu Zaawansowane w UiFlow, użyj hosta MQTT, aby ustawić i włączyć funkcję MQTT, wypełnij port TCP i serwer brokera oraz ustaw nazwę użytkownika dla klienta. Po zakończeniu ustawień, Core włączy usługę MQTT podczas połączenia WiFi. UiFlow korzysta z następujących funkcji.

 

 

Aby skonfigurować telefon komórkowy do odbierania/wysyłania wiadomości MQTT, wyszukaj IoT MQTT Panel w GOOGLE PLAY lub Apple App Store i pobierz go, aby go otworzyć. IOT MQTT Panel to lekki i łatwy w użyciu narzędzie MQTT z wieloma gotowymi szablonami interfejsu użytkownika, a płatna wersja zapewnia powiadomienia w czasie rzeczywistym na telefonie komórkowym, które wyświetlają powiadomienia, gdy otrzymywane są nowe wiadomości.

 

 
Po otwarciu aplikacji, najpierw zgodnie z wcześniej ustawionym portem TCP brokera CORE i serwerem (BrokerWeb), aby wypełnić klienta, należy również ustawić nazwę użytkownika, tutaj pamiętaj, aby dodać funkcję Dashboard, w przeciwnym razie nie można jej utworzyć!

 

 
Po utworzeniu dobrego pulpitu nawigacyjnego, a następnie zbudowaniu modułu funkcji interfejsu użytkownika (Dodaj panel), musimy zbudować łącznie dwa atrybuty modułu funkcji, jeden to rejestr kontroli dostępu wywołany przez Dziennik tekstowy, a drugi to zdalne sterowanie przełącznikiem Switch.
 

 
Dziennik kontroli dostępu Krok4
 
Utwórz funkcję rejestru kontroli dostępu, gdy system kontroli dostępu zostanie wywołany, aby potwierdzić tożsamość funkcji i wysłać wyniki potwierdzenia do tego rejestru. Zasada działania polega na utworzeniu Tematu (ustawiłem tutaj jako M5Stack_Log), aby zapewnić systemowi kontroli dostępu Core możliwość wysyłania wiadomości do tego Tematu. Ustawienia modułu funkcji: dostosuj liczbę wyświetlanych wiadomości i rozmiar czcionki, znacznik czasu, funkcję powiadomień w czasie rzeczywistym na telefon komórkowy (Włącz powiadomienia) wymaga opłaty za użytkowanie. Po zakończeniu ustawień naciśnij ZAPISZ, aby zakończyć tworzenie.
 

 
Krok 5. Funkcja kontroli dostępu -- Zdalne odblokowywanie
 
Zdalne przełączanie: Zasada działania polega na ustawieniu Tematu na telefonie komórkowym, zgodnie ze stanem przełącznika UI (WŁ./WYŁ.) na telefonie, aby wysłać wiadomość (traktuję to jako odblokowanie/blokadę), rdzeń zamka drzwi odczyta wiadomość, subskrybując Temat na telefonie, a następnie może kontrolować przełącznik zamka drzwi.
Poniżej kolumny funkcji hook, możesz umieścić dół funkcji Show received timestamp i Show sent timestamp, aby zarejestrować punkt czasowy, funkcja powiadomień w czasie rzeczywistym na telefonie komórkowym (Włącz powiadomienia) musi być opłacona, po zakończeniu konfiguracji zapisz, aby zakończyć tworzenie.

 

 
Proszę upewnić się, że Uiflow jest włączony, funkcja zdalnego sterowania jest skonfigurowana, a broker subskrypcji CORE kontroli dostępu ma ustawiony temat (Lock_Action). Po aktywacji telefonu komórkowego powinna zostać wykonana podprocedura odblokowania (UNLOCK), aby otworzyć zamek drzwi i przesłać rekord kontroli dostępu do tematu telefonu komórkowego (M5Stack_Log) o nazwie Remote_OPEN. Proszę zauważyć, że nazwa musi być wpisana poprawnie, ponieważ nieprawidłowa wielkość liter spowoduje nieodebranie i nieprzesłanie wiadomości. Nazwa wiadomości to 'Remote_OPEN'. Proszę zauważyć, że nazwa musi być wpisana poprawnie, ponieważ nieprawidłowy temat spowoduje, że wiadomość nie zostanie odebrana ani przesłana. Uiflow używa następujących kolumn funkcji: dostępne są funkcje MQTT, funkcje logiki warunkowej, podprocedura importu tekstu oraz inne funkcje.

 

 
Zdalne sterowanie powoduje pomyślne uruchomienie zaworu elektromagnetycznego i jest wyświetlane na ekranie Core. Moduł rejestrujący na telefonie komórkowym wyświetla dane z oznaczeniem czasu.

 

 
Krok 6 Funkcja kontroli dostępu--RFID
 
Aby skonfigurować funkcję kontroli dostępu RFID, najpierw dodaj główną pętlę pod aktualną funkcją ustawień MQTT, jako główny program do wywoływania oceny, oraz dodaj funkcję wywołującą funkcję, gdy karta RFID zbliży się do funkcji. Uiflow używa kolumn funkcji: tworzenie funkcji MAIN, funkcja logiki oceny, biblioteka funkcji RFID.
 

 
Utwórz funkcję oceny RFID (RFID_decision), podprogram RFID (RFID_OK) oraz podprogram RFID (RFID_Denied). Funkcja oceny (RFID_decision) jest używana jako podprogram wykonawczy (RFID_OK) plus podprogram systemowy (UNLOCK) gdy RFID jest poprawne, lub podprogram wykonawczy (RFID_Denied) plus podprogram systemowy (LOCK) gdy RFID jest niepoprawne.
 
Pamiętaj, aby dodać funkcję push MQTT w dwóch podprogramach RFID po ich zakończeniu, niezależnie od tego, czy jest poprawna, czy wystąpił błąd, wiadomość zostanie wysłana do tematu (M5Stack_Log). UID RFID można uzyskać za pomocą funkcji RFID Uiflow. Uiflow używa kolumny funkcji: buduj funkcję podprogramu RFID, funkcję logiki decyzyjnej, bibliotekę funkcji RFID, komponenty UI, funkcje MQTT, tekst, importuj funkcje podprogramów.
 

 
Pomyślne rozpoznanie RFID zaworu elektromagnetycznego zadziała jednokrotnie i wyświetli poprawną kartę na Core, a karta wykrywająca błąd wyświetli błąd.
Moduł rejestrowania na telefonie komórkowym wyświetla poprawne i niepoprawne informacje (z oznaczeniami czasowymi).
 

 
Krok 6 Funkcja kontroli dostępu -- Wprowadzanie hasła za pomocą naciśnięć klawiszy
 
Aby ustawić funkcję hasła na naciśnięcie klawisza, dodaj funkcję wyzwalającą funkcję naciśnięcia klawisza pod główną pętlą programu (Main), która jest wywoływana, gdy liczba cyfr wprowadzonych na klawiaturze jest większa lub równa 7. Uiflow używa następujących kolumn funkcji: Funkcja, Funkcja logiki oceny, Tekst, Funkcja modułu klawiatury.
 
Należy utworzyć następujące funkcje i podprogramy: Password_decision, RFID_OK oraz RFID_Denied. Podprogram Password_decision jest używany jako wykonywalny podprogram (Type_OK) oraz podprogram systemowy (UNLOCK) po poprawnym wprowadzeniu hasła, lub jako wykonywalny podprogram (Type_Denied) oraz podprogram systemowy (LOCK) po niepoprawnym wprowadzeniu hasła.
 
Po ukończeniu podprogramów wprowadzania hasła, proszę dodać funkcję wysyłania MQTT do obu, niezależnie od tego, czy hasło zostało wprowadzone poprawnie, czy niepoprawnie. Następnie wiadomość zostanie wysłana do tematu (M5Stack_Log). Uiflow używa następujących kolumn funkcji: Należy utworzyć następujące funkcje: Podprogram wprowadzania hasła, logika oceny, moduł klawiatury, komponent UI, MQTT, tekst oraz podprogram importu.

 

Zawór elektromagnetyczny działa raz i wyświetla się poprawnie na Core, jeśli hasło jest wprowadzone poprawnie, a wyświetla się niepoprawnie, jeśli hasło jest wprowadzone niepoprawnie.
Moduł logowania na telefonie komórkowym wyświetla dane poprawnych i niepoprawnych haseł (z oznaczeniami czasowymi).

 

 

Wniosek

 
Ten rzeczywisty system kontroli dostępu wykorzystuje szereg technologii, w tym RFID, rozpoznawanie odcisków palców, moduły do analizy naciśnięć klawiszy i inne, aby szybko opracować solidne rozwiązania sprzętowe. Wykorzystuje protokoły komunikacyjne MQTT do zdalnego odblokowywania zamków drzwi i generowania zapisów kontroli dostępu. Ze względu na zaawansowane funkcje Blocky, takie jak rozpoznawanie twarzy AI, nie są obecnie dostępne w UiFlow. Jednak w niedalekiej przyszłości wprowadzimy zaawansowane funkcje detekcji YOLO po przesyłaniu strumieniowym obrazu.

 

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola wymagane są oznaczone *

Pasek boczny

Najnowszy post

Ta sekcja nie zawiera obecnie żadnych treści. Dodaj treść do tej sekcji, korzystając z paska bocznego.

Zarejestruj się do naszego newslettera

Uzyskaj najnowsze informacje o naszych produktach i specjalnych ofertach.