Contactless facial recognition access control system
[Copy link]
This post was last edited by manhuami2007 on 2022-10-23 10:14
Contactless facial recognition access control system
1. Introduction
In the epidemic environment, people don’t want to touch things outside, so a non-contact facial recognition access control system is made. When a person is detected approaching the door, the facial recognition device is awakened to save power consumption, and the door is controlled to open when the facial recognition is passed.
The work mainly consists of two parts: the door control part and the face recognition part, which communicate with each other via Bluetooth BLE. The door control part acts as the BLE server, and the face recognition part acts as the BLE client.
The functions that need to be realized in the work mainly include: face recognition, Bluetooth BLE communication (including server and client), servo control, door magnetic switch drive, proximity sensor drive. The development boards used include "Maix BiT Kit", "BG22 - THUNDERBOARD" and "Arduino Nano 33 IOT". Among them, "Maix BiT Kit" and "BG22 - THUNDERBOARD" are combined as the face recognition part and BLE client, and "Arduino Nano 33 IOT" is used as the door control part and BLE server.
2. System Block Diagram
This system mainly consists of two parts: face recognition part and door control part.
2.1 Face Recognition
This part includes 2 development boards: Maix BIT and BG22-THUNDERBOARD. Maix BIT is responsible for implementing the face recognition function. BG22 is responsible for implementing the Bluetooth BLE client and communicating with the door control part through BLE. The two parts communicate through IO.
2.2 Door control part
This part includes the collection of multiple sensor data, and controls the opening and closing of the door through the servo, and also serves as the Bluetooth BLE server.
3. Functional description of each part
3.1 Maix BIT part
The program flow chart is as follows:
Maix BIT communicates with the BG22 - THUNDERBOARD development board through 1 input pin user_in_gpio and 1 output pin user_out_gpio.
Maix BIT enables the falling edge interrupt of the user_in_gpio pin. When "BG22 - THUNDERBOARD" sends a face detection signal, it pulls this pin low. After Maix BIT detects the interrupt, it sets the "face recognition flag" to start the face recognition process in the main process and turn on the LCD and camera at the same time.
When the main process detects that the "face recognition flag" is set, the face recognition process starts. When the face recognition passes, a 100ms low-level pulse is generated on the user_out_gpio pin to inform the "BG22 - THUNDERBOARD" that the face recognition passes, and the LCD and camera are turned off to save power consumption.
3.2 BG22-THUNDERBOARD
The program flow chart is as follows:
As a BLE client, BG22 is the bridge between face recognition and the gate control part. BG22 needs to obtain the face recognition notification sent by the gate control part, and then tell the Maix BIT development board to start face recognition by pulling down the user_in_gpio pin, and then detect the user_out_gpio pin to determine whether the face recognition is passed. When the face recognition is passed, the characteristic value of opening the door is written to the BLE server of the gate control part through BLE.
3.3 Arduino nano 33 iot part
The program flow chart is as follows:
Arduino Nano 33 iot is connected to three peripherals: door magnetic switch PS3150, proximity switch APDS9960 and servo SG90. The door magnetic switch is responsible for detecting whether the door is open, the proximity switch is used to detect whether there is someone in front of the door, and the servo controls the door opening and closing. At the same time, the Arduino Nano 33 iot development board also serves as the Bluetooth BLE server. When the proximity switch detects the approach of a person, it will send a notification to the BLE client to notify it to perform face detection. When the characteristic value of opening the door is written, the servo is controlled to open the door and automatically close the door after 3 seconds. Arduino Nano 33 iot determines whether the door is open by detecting the door magnetic switch.
4. Source Code
Including the source code of 3 development boards: (The resources are under review, so paste the link here first)
1. Arduino nano 33 iot source code
https://download.eeworld.com.cn/detail/manhuami2007/625229
2. BG22-THUNDERBOARD Bluetooth BLE client code
https://download.eeworld.com.cn/detail/manhuami2007/625230
3. Maix bit source code
https://download.eeworld.com.cn/detail/manhuami2007/625231
MaixBit人脸识别源码.rar
(983.19 KB, downloads: 6)
5. Function Demonstration Video
2022 Digi-Key Innovation Design Competition - Contactless Facial Recognition Access Control System - 2022 Digi-Key Innovation Design Competition - Contactless Facial Recognition Access Control System - EEWORLD University
The video includes a system introduction and function demonstration.
6. Project Summary
This event was great. You can choose your own development board and device, which greatly increased the flexibility and autonomy of the event. Through this event, I also learned how to use 3 different development boards. I was exposed to face recognition knowledge and microPython syntax, learned how to use silicon Bluetooth chips, and learned how to use Arduino BLE libraries. Through this event, I also built BLE client and server applications and gained a lot. Thanks to Digi-Key and EEWORLD Forum for the event.
Link to the post:
[Contactless facial recognition access control system] + unboxing post - 2022 Digi-Key Innovation Design Competition - Electronic Engineering World - Forum (eeworld.com.cn)
[Contactless facial recognition access control system] + 1-MAIX_BIT development environment construction- 2022 Digi-Key Electronics Innovation Design Competition- Electronic Engineering World-Forum (eeworld.com.cn)
【Contactless facial recognition access control system】+ 2-System composition and functions- 2022 Digi-Key Innovation Design Competition- Electronic Engineering World-Forum (eeworld.com.cn)
[Contactless facial recognition access control system] + 3-Arduino Bluetooth BLE library - 2022 Digi-Key Innovation Design Competition - Electronic Engineering World Forum (eeworld.com.cn)
[Contactless facial recognition access control system] + 4-door control part implementation - 2022 Digi-Key Innovation Design Competition - Electronic Engineering World Forum (eeworld.com.cn)
[Contactless facial recognition access control system] + Creation of 5-EFR32BG22 Bluetooth host - 2022 Digi-Key Innovation Design Competition - Electronic Engineering World Forum (eeworld.com.cn)
[Contactless facial recognition access control system] + 6-EFR32BG22 using GPIO - 2022 Digi-Key Innovation Design Competition - Electronic Engineering World-Forum (eeworld.com.cn)
VII. Documents for Submission of Works
|