- Tarvittavat komponentit
- Solenoidilukko
- Piirikaavio
- Asenna ESP32 Board Arduino IDE: hen
- Koodin selitys
- Testaus
Turvallisuus on nykyään korkeintaan huolenaihe kenellekään, olipa kyse sitten tietoturvasta tai oman kodin turvallisuudesta. Teknologian kehittyessä ja IoT: n käytön lisääntyessä digitaaliset ovilukot ovat yleistyneet nykyään. Digitaalinen lukitus ei vaadi fyysistä avainta, mutta se käyttää RFID: tä, sormenjälkeä, kasvotunnusta, PIN-koodia, salasanoja jne. Oven lukituksen hallintaan. Aiemmin olemme kehittäneet monia digitaalisia ovilukkosovelluksia käyttämällä näitä erilaisia tekniikoita. Tässä opetusohjelmassa rakennamme Face ID -ohjatun digitaalisen ovenlukitusjärjestelmän ESP32-CAM: n avulla.
AI-Thinker ESP32-CAM -moduuli on edullinen kehityskortti, jossa on erittäin pieni OV2640-kamera ja mikro-SD-korttipaikka. Siinä on ESP32 S -piiri, jossa on sisäänrakennettu Wi-Fi ja Bluetooth-yhteys, 2 suuritehoista 32-bittistä LX6-prosessoria, 7-vaiheinen putkistoarkkitehtuuri. Olemme aiemmin selittäneet ESP32-CAM: n yksityiskohtaisesti ja käyttäneet sitä Wi-Fi-oven Video-ovikellon rakentamiseen. Tällä kertaa käytämme ESP32-CAM-mallia kasvojentunnistukseen perustuvan oven lukitusjärjestelmän rakentamiseen relemoduulilla ja solenoidilukolla.
Tarvittavat komponentit
- ESP32 CAM
- FTDI-hallitus
- Releyksikkö
- Solenoidilukko
- Neulalangat
Solenoidilukko
Magneettilukko toimii elektronimekaanisessa lukitusmekanismissa. Tämän tyyppisessä lukossa on viisto leikkaus ja hyvä kiinnike. Kun virta kytketään, tasavirta luo magneettikentän, joka liikuttaa etanaa sisällä ja pitää oven lukitsemattomassa asennossa. Etana säilyttää asemansa, kunnes virta katkaistaan. Kun virta katkaistaan, etana liikkuu ulkopuolelle ja lukitsee oven. Se ei käytä virtaa lukitussa tilassa. Magneettilukon ajamiseksi tarvitset virtalähteen, joka voi antaa 12 V @ 500 mA.
Aikaisemmin käytimme solenoidilukkoa rakentamaan Arduino-pohjaisen RFID-oven lukon.
Piirikaavio
Piirikaavion ESP32-CAM kasvojentunnistus ABS-järjestelmä on esitetty alla:
Yllä oleva piiri yhdistettynä FTDI-korttiin, relemoduuliin ja solenoidilukkoon. FTDI-korttia käytetään koodin välittämiseen ESP32-CAM: iin, koska siinä ei ole USB-liitintä, kun relemoduulia käytetään solenoidilukon kytkemiseen päälle tai pois päältä. FTDI-kortin ja relemoduulin VCC- ja GND-nastat on kytketty ESP32-CAM: n Vcc- ja GND-nastoihin. FTDI-kortin TX ja RX on kytketty ESP32: n RX: ään ja TX: ään ja relemoduulin IN-nasta on kytketty ESP32-CAM: n IO4: ään.
ESP32-CAM |
FTDI-hallitus |
5 V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Releyksikkö |
5 V |
VCC |
GND |
GND |
IO4 |
SISÄÄN |
Huomautus: Liitä IO0 maahan ennen koodin lataamista. IO0 määrittää, onko ESP32 vilkkuvassa tilassa vai ei. Kun GPIO 0 on kytketty GND: hen, ESP32 on vilkkuvassa tilassa.
Kun laitteisto on kytketty kytkentäkaavion mukaisesti, sen pitäisi näyttää jotain alla olevalta:
Asenna ESP32 Board Arduino IDE: hen
Täällä Arduino IDE: tä käytetään ESP32-CAM: n ohjelmointiin. Asenna ensin ESP32-lisäosa Arduino IDE: hen.
Asenna ESP32-levy Arduino IDE -laitteeseen valitsemalla Tiedosto> Asetukset.
Kopioi nyt alla oleva linkki ja liitä se ”Hallituksen lisäosoitteiden URL-osoitteet” -kenttään alla olevan kuvan mukaisesti. Napsauta sitten “OK” -painiketta:
https://dl.espressif.com/dl/package_esp32_index.json
Siirry nyt Työkalut> Lauta> Levyjen hallinta
Etsi Board Managerista ESP32 ja asenna ESP32 by Espressif Systems.
Koodin selitys
Selitimme kasvojentunnistuksen ESP32: lla edellisessä artikkelissa; tässä muokkaamme samaa koodia ohjaamaan solenoidin oven lukitusta. Koko koodi on jaettu neljään osaan. Yksi on kameran ja relemoduulin pääkoodi, jossa ESP32 lukitsee tai avaa oven kasvojentunnistuksen mukaisesti, ja kolme muuta koodia ovat verkkosivulle, kameran hakemistolle ja kameranastoille. Täydellinen koodi on tämän sivun lopussa. Tässä selitämme joitain tärkeitä koodin osia.
Aloita ohjelma sisällyttämällä kaikki kirjastotiedostot.
#include "esp_camera.h" #include
Poista seuraavalla rivillä kameramoduuli, jota käytät ESP32: n kanssa. Koodissa määritellään viisi erilaista kameramallia. Tässä tapauksessa käytämme AI-THINKER-mallia.
// # define CAMERA_MODEL_WROVER_KIT // # define CAMERA_MODEL_ESP_EYE // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
Lisää sen jälkeen verkon tunnistetiedot seuraaviin muuttujiin:
const char * ssid = "Wi-Fi-nimi"; const char * password = "Wi-Fi-salasana";
Määritä sitten tappi, johon relemoduuli on kytketty. Käytämme MILLIS () lukitsemaan oven lukituksen avauksen jälkeen sitä määritelty aikaväli, tässä se on 5 sekuntia.
#define rele 4 pitkä prevMillis = 0; int-väli = 5000;
Että asennus () funktio, alusta Serial Monitor siirtonopeus 115200 virheenkorjausta varten. Määritä sitten seuraavilla riveillä relemoduulin nastatila ja aseta rele aluksi matalaan asentoon.
void setup () {Sarja.alku (115200); pinMode (rele, OUTPUT); digitalWrite (rele, LOW);
Sisällä silmukka () funktio, tarkista jos kasvot tulitikut kanssa ilmoittautunut kasvot. Jos kyllä, avaa sitten oven lukitus 5 sekunniksi ja lukitse ovi 5 sekunnin kuluttua.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = tosi; digitalWrite (rele, HIGH); prevMillis = millis (); } if (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = väärä; digitalWrite (rele, LOW); }
Testaus
Lopuksi lataa koodi liittämällä FDTI-kortti kannettavaan tietokoneeseen ja valitsemalla tauluksi 'ESP32 Wrover Module'. Muuta myös muut asetukset alla olevan kuvan mukaisesti:
Älä unohda liittää IO0-nastaa GND: hen ennen koodin lataamista. Paina myös ESP32-nollauspainiketta ja napsauta sitten latauspainiketta.
Huomaa: Jos koodin lataamisessa ilmenee virheitä, tarkista, että IO0 on kytketty GND: hen, ja valitsit oikeat asetukset Työkalut-valikosta.
Kun olet ladannut koodin, poista IO0- ja GND-nastat. Avaa sitten sarjamonitori ja vaihda siirtonopeudeksi 115200. Paina sen jälkeen ESP32-nollauspainiketta, se tulostaa ESP: n IP-osoitteen ja porttinumeron. sarjaliitännässä.
Siirry nyt selaimeen ja kirjoita sarjanäytöltä kopioitu ESP IP-osoite kameran suoratoistoa varten. Se vie sinut suoratoistosivulle. Aloita videon suoratoisto napsauttamalla sivun alaosassa olevaa Käynnistä suoratoisto -painiketta.
Kasvojen tunnistamiseksi ESP32-CAM: lla meidän on ensin rekisteröitävä kasvot. Ota tätä varten käyttöön kasvojen tunnistus- ja tunnistusominaisuudet asetuksista ja napsauta sitten Rekisteröi kasvot -painiketta. Kasvojen pelastaminen vie useita yrityksiä. Kasvojen tallentamisen jälkeen se tunnistaa kasvot kohteeksi 0, jossa nolla on kasvojen numero.
Kasvojen rekisteröinnin jälkeen, jos kasvot tunnistetaan videosyötteessä, ESP32 tekee relemoduulin korkeaksi oven lukituksen avaamiseksi.
Joten ESP32-CAM-moduulia voidaan käyttää kasvojentunnistukseen perustuvan turvajärjestelmän rakentamiseen. Täydellinen koodi voidaan ladata tältä linkiltä, ja se annetaan myös alla esittelyvideon kanssa.