- భాగాలు అవసరం
- సోలేనోయిడ్ లాక్
- సర్క్యూట్ రేఖాచిత్రం
- Arduino IDE లో ESP32 బోర్డ్ను ఇన్స్టాల్ చేయండి
- కోడ్ వివరణ
- పరీక్షించడం
ఈ రోజుల్లో ఎవరికైనా భద్రత చాలా ఆందోళన కలిగిస్తుంది, ఇది డేటా భద్రత లేదా వారి స్వంత ఇంటి భద్రత. సాంకేతిక పరిజ్ఞానం యొక్క అభివృద్ధి మరియు IoT యొక్క పెరుగుతున్న వాడకంతో, ఈ రోజుల్లో డిజిటల్ డోర్ లాక్స్ చాలా సాధారణం అయ్యాయి. డిజిటల్ లాక్కు భౌతిక కీ అవసరం లేదు, అయితే ఇది తలుపు లాక్ను నియంత్రించడానికి RFID, వేలిముద్ర, ఫేస్ ఐడి, పిన్, పాస్వర్డ్లు మొదలైన వాటిని ఉపయోగిస్తుంది. గతంలో, మేము ఈ వివిధ సాంకేతిక పరిజ్ఞానాలను ఉపయోగించి అనేక డిజిటల్ డోర్ లాక్స్ అనువర్తనాలను అభివృద్ధి చేసాము. ఈ ట్యుటోరియల్లో మేము ESP32-CAM ఉపయోగించి ఫేస్ ఐడి నియంత్రిత డిజిటల్ డోర్ లాక్ సిస్టమ్ను నిర్మిస్తాము.
AI- థింకర్ ESP32-CAM మాడ్యూల్ చాలా తక్కువ పరిమాణ OV2640 కెమెరా మరియు మైక్రో SD కార్డ్ స్లాట్తో తక్కువ ఖర్చుతో కూడిన అభివృద్ధి బోర్డు. ఇది అంతర్నిర్మిత వై-ఫై మరియు బ్లూటూత్ కనెక్టివిటీతో ESP32 S చిప్ను కలిగి ఉంది, 2 అధిక-పనితీరు 32-బిట్ LX6 CPU లు, 7-దశల పైప్లైన్ నిర్మాణంతో. మేము ఇంతకుముందు ESP32-CAM ని వివరంగా వివరించాము మరియు Wi-Fi డోర్ వీడియో డోర్బెల్ నిర్మించడానికి దీనిని ఉపయోగించాము. ఈసారి మేము రిలే మాడ్యూల్ మరియు సోలేనోయిడ్ లాక్ని ఉపయోగించి ఫేస్ రికగ్నిషన్ బేస్డ్ డోర్ లాక్ సిస్టమ్ను నిర్మించడానికి ESP32-CAM ని ఉపయోగిస్తాము.
భాగాలు అవసరం
- ESP32 CAM
- ఎఫ్టిడిఐ బోర్డు
- రిలే మాడ్యూల్
- సోలేనోయిడ్ లాక్
- జంపర్ వైర్లు
సోలేనోయిడ్ లాక్
ఎలక్ట్రానిక్-మెకానికల్ లాకింగ్ విధానంపై సోలేనోయిడ్ లాక్ పనిచేస్తుంది. ఈ రకమైన లాక్ స్లాంట్ కట్ మరియు మంచి మౌంటు బ్రాకెట్ కలిగి ఉంటుంది. శక్తిని ప్రయోగించినప్పుడు, DC ఒక అయస్కాంత క్షేత్రాన్ని సృష్టిస్తుంది, అది స్లగ్ను లోపలికి కదిలిస్తుంది మరియు తలుపును అన్లాక్ చేసిన స్థితిలో ఉంచుతుంది. శక్తిని తొలగించే వరకు స్లగ్ దాని స్థానాన్ని నిలుపుకుంటుంది. శక్తి డిస్కనెక్ట్ అయినప్పుడు, స్లగ్ బయట కదిలి తలుపు తీస్తుంది. ఇది లాక్ చేయబడిన స్థితిలో ఏ శక్తిని ఉపయోగించదు. సోలేనోయిడ్ లాక్ని నడపడానికి, మీకు 12V @ 500mA ఇవ్వగల శక్తి వనరు అవసరం.
ఆర్డునో ఆధారిత RFID డోర్ లాక్ నిర్మించడానికి మేము ఇంతకుముందు సోలేనోయిడ్ లాక్ని ఉపయోగించాము.
సర్క్యూట్ రేఖాచిత్రం
ESP32-CAM ఫేస్ రికగ్నిషన్ డోర్ లాక్ సిస్టమ్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
పైన ఉన్న సర్క్యూట్ FTDI బోర్డు, రిలే మాడ్యూల్ మరియు సోలేనోయిడ్ లాక్తో కలిపి ఉంటుంది. UST కనెక్టర్ లేనందున కోడ్ను ESP32-CAM లోకి ఫ్లాష్ చేయడానికి FTDI బోర్డు ఉపయోగించబడుతుంది, అయితే రిలే మాడ్యూల్ సోలేనోయిడ్ లాక్ను ఆన్ లేదా ఆఫ్ చేయడానికి ఉపయోగించబడుతుంది. FTDI బోర్డు మరియు రిలే మాడ్యూల్ యొక్క VCC మరియు GND పిన్స్ ESP32-CAM యొక్క Vcc మరియు GND పిన్తో అనుసంధానించబడి ఉన్నాయి. FTDI బోర్డు యొక్క TX మరియు RX ESP32 యొక్క RX మరియు TX తో అనుసంధానించబడి ఉన్నాయి మరియు రిలే మాడ్యూల్ యొక్క IN పిన్ ESP32-CAM యొక్క IO4 కి అనుసంధానించబడి ఉంది.
ESP32-CAM |
ఎఫ్టిడిఐ బోర్డు |
5 వి |
వీసీసీ |
GND |
GND |
UOR |
టిఎక్స్ |
UOT |
RX |
ESP32-CAM |
రిలే మాడ్యూల్ |
5 వి |
వీసీసీ |
GND |
GND |
IO4 |
IN |
గమనిక: కోడ్ను అప్లోడ్ చేసే ముందు, IO0 ని భూమికి కనెక్ట్ చేయండి. ESP32 ఫ్లాషింగ్ మోడ్లో ఉందో లేదో IO0 నిర్ణయిస్తుంది. GPIO 0 GND కి కనెక్ట్ అయినప్పుడు, ESP32 ఫ్లాషింగ్ మోడ్లో ఉంటుంది.
సర్క్యూట్ రేఖాచిత్రం ప్రకారం హార్డ్వేర్ను కనెక్ట్ చేసిన తర్వాత, ఇది క్రింద ఉన్నట్లుగా ఉండాలి:
Arduino IDE లో ESP32 బోర్డ్ను ఇన్స్టాల్ చేయండి
ఇక్కడ Arduino IDE ESP32-CAM ను ప్రోగ్రామ్ చేయడానికి ఉపయోగించబడుతుంది. దాని కోసం, మొదట, ఆర్డునో IDE లో ESP32 యాడ్-ఆన్ను ఇన్స్టాల్ చేయండి.
మీ Arduino IDE లో ESP32 బోర్డ్ను ఇన్స్టాల్ చేయడానికి, ఫైల్> ప్రాధాన్యతలకు వెళ్లండి .
ఇప్పుడు క్రింది లింక్ను కాపీ చేసి, క్రింద ఉన్న చిత్రంలో చూపిన విధంగా “అదనపు బోర్డు మేనేజర్ URL లు” ఫీల్డ్లో అతికించండి. అప్పుడు, “సరే” బటన్ క్లిక్ చేయండి:
https://dl.espressif.com/dl/package_esp32_index.json
ఇప్పుడు ఉపకరణాలు> బోర్డు> బోర్డుల నిర్వాహకుడికి వెళ్లండి
బోర్డ్ మేనేజర్లో, ESP32 కోసం శోధించండి మరియు “ESP32 బై ఎస్ప్రెస్సిఫ్ సిస్టమ్స్” ని ఇన్స్టాల్ చేయండి.
కోడ్ వివరణ
మేము మునుపటి వ్యాసంలో ESP32 తో ఫేస్ రికగ్నిషన్ గురించి వివరించాము; ఇక్కడ మేము సోలేనోయిడ్ డోర్ లాక్ని నియంత్రించడానికి అదే కోడ్ను సవరించాము. పూర్తి కోడ్ నాలుగు భాగాలుగా విభజించబడింది. ఒకటి కెమెరా మరియు రిలే మాడ్యూల్ యొక్క ప్రధాన కోడ్, ఇక్కడ ESP32 ముఖ గుర్తింపు ప్రకారం తలుపు లాక్ చేస్తుంది లేదా అన్లాక్ చేస్తుంది మరియు మిగిలిన మూడు సంకేతాలు వెబ్ పేజీ, కెమెరా ఇండెక్స్ మరియు కెమెరా పిన్ల కోసం. ఈ పేజీ చివరిలో పూర్తి కోడ్ ఇవ్వబడింది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
అన్ని లైబ్రరీ ఫైళ్ళను చేర్చడం ద్వారా ప్రోగ్రామ్ను ప్రారంభించండి.
# చేర్చండి "esp_camera.h" # చేర్చండి
తదుపరి పంక్తిలో, మీరు ESP32 తో ఉపయోగిస్తున్న కెమెరా మాడ్యూల్ను అన్కామ్ చేయండి. కోడ్లో, ఐదు వేర్వేరు కెమెరా నమూనాలు నిర్వచించబడ్డాయి. ఈ సందర్భంలో, మేము AI-THINKER మోడల్ని ఉపయోగిస్తున్నాము.
// # CAMERA_MODEL_WROVER_KIT ని నిర్వచించండి // # CAMERA_MODEL_ESP_EYE ని నిర్వచించండి // # CAMERA_MODEL_M5STACK_PSRAM ని నిర్వచించండి // # CAMERA_MODEL_M5STACK_WIDE # CAMERA_MODEL_AI_THIN ని నిర్వచించండి
ఆ తరువాత, కింది వేరియబుల్స్లో మీ నెట్వర్క్ ఆధారాలను చొప్పించండి:
const char * ssid = "Wi-Fi పేరు"; const char * password = "Wi-Fi password";
అప్పుడు రిలే మాడ్యూల్ కనెక్ట్ చేయబడిన పిన్ను నిర్వచించండి. నిర్ణీత వ్యవధిలో తలుపును అన్లాక్ చేసిన తర్వాత దాన్ని లాక్ చేయడానికి మేము మిల్లీస్ () ఫంక్షన్ను ఉపయోగిస్తాము, ఇక్కడ ఇది 5 సెకన్లు.
# రిలేను నిర్వచించండి 4 long prevMillis = 0; పూర్ణాంక విరామం = 5000;
లో సెటప్ () ఫంక్షన్, డీబగ్గింగ్ ప్రయోజనాల కోసం 115200 ఒక బాడ్ రేటు వద్ద సీరియల్ మానిటర్ ప్రారంభించడం. తరువాత పంక్తులలో, రిలే మాడ్యూల్ కోసం పిన్ మోడ్ను నిర్వచించండి మరియు రిలేను ప్రారంభంలో తక్కువ స్థానంలో సెట్ చేయండి.
void setup () {Serial.begin (115200); పిన్ మోడ్ (రిలే, U ట్పుట్); డిజిటల్ రైట్ (రిలే, తక్కువ);
లూప్ () ఫంక్షన్ లోపల, నమోదు చేసిన ముఖంతో ముఖం సరిపోతుందో లేదో తనిఖీ చేయండి. అవును అయితే, తలుపును 5 సెకన్ల పాటు అన్లాక్ చేయండి మరియు 5 సెకన్ల తర్వాత మళ్ళీ తలుపు లాక్ చేయండి.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; డిజిటల్ రైట్ (రిలే, హై); prevMillis = మిల్లిస్ (); } if (activeRelay == true && milis () - prevMillis> విరామం) {activeRelay = false; matchFace = తప్పుడు; డిజిటల్ రైట్ (రిలే, తక్కువ); }
పరీక్షించడం
చివరగా కోడ్ను అప్లోడ్ చేయడానికి, మీ ల్యాప్టాప్కు ఎఫ్డిటిఐ బోర్డ్ను కనెక్ట్ చేయండి మరియు మీ బోర్డుగా 'ESP32 వ్రోవర్ మాడ్యూల్' ఎంచుకోండి. అలాగే, క్రింది చిత్రంలో చూపిన విధంగా ఇతర సెట్టింగులను మార్చండి:
కోడ్ను అప్లోడ్ చేయడానికి ముందు IO0 పిన్ను GND కి కనెక్ట్ చేయడం మర్చిపోవద్దు మరియు ESP32 రీసెట్ బటన్ను నొక్కండి, ఆపై అప్లోడ్ బటన్ పై క్లిక్ చేయండి.
గమనిక: కోడ్ను అప్లోడ్ చేసేటప్పుడు మీకు లోపాలు వస్తే, IO0 GND కి కనెక్ట్ అయిందని తనిఖీ చేయండి మరియు మీరు టూల్స్ మెనులో సరైన సెట్టింగులను ఎంచుకున్నారు.
కోడ్ను అప్లోడ్ చేసిన తర్వాత, IO0 మరియు GND పిన్లను తొలగించండి. అప్పుడు సీరియల్ మానిటర్ తెరిచి, బాడ్ రేట్ను 115200 కు మార్చండి. ఆ తరువాత, ESP32 రీసెట్ బటన్ను నొక్కండి, అది ESP IP చిరునామాను మరియు పోర్ట్ నెం. సీరియల్ మానిటర్లో.
ఇప్పుడు బ్రౌజర్కు నావిగేట్ చేయండి మరియు కెమెరా స్ట్రీమింగ్ను యాక్సెస్ చేయడానికి సీరియల్ మానిటర్ నుండి కాపీ చేయబడిన ESP IP చిరునామాను నమోదు చేయండి. ఇది మిమ్మల్ని స్ట్రీమింగ్ పేజీకి తీసుకెళుతుంది. వీడియో స్ట్రీమింగ్ ప్రారంభించడానికి, పేజీ దిగువన ఉన్న 'స్టార్ట్ స్ట్రీమ్' బటన్ పై క్లిక్ చేయండి.
ESP32-CAM తో ముఖాలను గుర్తించడానికి, మొదట, మేము ముఖాలను నమోదు చేయాలి. దాని కోసం, సెట్టింగుల నుండి ఫేస్ రికగ్నిషన్ మరియు డిటెక్షన్ ఫీచర్లను ఆన్ చేసి, ఆపై ఎన్రోల్ ఫేస్ బటన్పై క్లిక్ చేయండి. ముఖాన్ని కాపాడటానికి అనేక ప్రయత్నాలు అవసరం. ముఖాన్ని సేవ్ చేసిన తరువాత, ఇది ముఖాన్ని విషయం 0 గా గుర్తిస్తుంది, ఇక్కడ సున్నా ముఖ సంఖ్య.
ముఖాలను నమోదు చేసిన తరువాత, వీడియో ఫీడ్లో ఒక ముఖం గుర్తించబడితే, ESP32 తలుపును అన్లాక్ చేయడానికి రిలే మాడ్యూల్ను అధికంగా చేస్తుంది.
కాబట్టి ముఖం గుర్తింపు ఆధారిత భద్రతా వ్యవస్థను నిర్మించడానికి ESP32-CAM ను ఈ విధంగా ఉపయోగించవచ్చు. ఈ లింక్ నుండి పూర్తి కోడ్ను డౌన్లోడ్ చేసుకోవచ్చు మరియు ప్రదర్శన వీడియోతో పాటు క్రింద ఇవ్వబడుతుంది.