Turinys:

„Abellcadabra“(veido atpažinimo durų užrakto sistema): 9 žingsniai
„Abellcadabra“(veido atpažinimo durų užrakto sistema): 9 žingsniai

Video: „Abellcadabra“(veido atpažinimo durų užrakto sistema): 9 žingsniai

Video: „Abellcadabra“(veido atpažinimo durų užrakto sistema): 9 žingsniai
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Lapkritis
Anonim
„Abellcadabra“(veido atpažinimo durų užrakto sistema)
„Abellcadabra“(veido atpažinimo durų užrakto sistema)

Gulėdamas karantino metu, bandžiau rasti būdą, kaip nužudyti laiką, sukurdamas namo durų veido atpažinimą. Aš pavadinau ją Abellcadabra - tai derinys tarp Abrakadabra, stebuklinga frazė su durų skambučiu, kurią tik paspaudžiu. daug juoko

Šiaip ar taip, ši sistema atpažins veidą, naudodama „Amazon Rekognition“, kai vartotojas paspaudžia durų skambutį. „Rekognition“palygins užfiksuotą vaizdą su „Amazon S3“vaizdų kolekcija. Jei pripažinimas bus sėkmingas, durys bus atidarytos. Jei tai nepavyks, skambės garsinis signalas ir vartotojas galės pasirinkti atrakinti naudojant RFID žetoną. Taip pat namo viduje yra mygtukas, kuriuo namo savininkas gali atrakinti duris, jas paspausdamas.

Visi atlikti atpažinimai ir atrakinimai bus saugomi „Amazon DynamoDB“. Pabandysiu žingsnis po žingsnio paaiškinti, kaip sukurti visą sistemą. Aš naudoju jau turimas medžiagas, nes prireikė daug laiko, kad gautumėte ką nors kita, taigi tai yra.

1 žingsnis: medžiagos ir įrankiai

Medžiaga:

  • Raspberry Pi
  • Pi kamera
  • RC servo (veiks kaip durų užraktas)
  • Perjungimo mygtukas 2x
  • Garsinis signalas
  • Magnetinis jungiklis
  • RC-522 RFID skaitytuvas ir žyma
  • MF, MM, FF plokštės laidai
  • Polistireno ledo dėžutė - bet kokio dydžio būtų gerai, nes tai bus mūsų durys.
  • 1,5 colio vyriai 2x
  • 2,5 mm varžtas 4x

Įrankiai

  • Atsuktuvas
  • Dvipusė juosta

2 veiksmas: „Amazon Web Services“nustatymas

„Amazon Web Services“nustatymas
„Amazon Web Services“nustatymas

„Amazon Web Services“paprasta naudoti ir ji yra nemokama, kol nepasieksite 5000 API skambučių per mėnesį. Užsiregistruoti AWS paskyrai galite čia. Turėsite prisiregistruoti gauti nemokamą „Amazon Rekognition“pakopą. Šiam projektui nemokamos pakopos turėtų būti daugiau nei pakankamai.

Sėkmingai užsiregistravę spustelėkite Paslaugos> IAM. Iš čia sukursime vartotoją, kuris turės leidimus naudotis „Raspberry Pi“.

  1. Spustelėkite Vartotojai> Pridėti naują vartotoją
  2. Suteikite vartotojo sukurtą vardą. Norėdami gauti prieigos tipą, pažymėkite langelį Programinė prieiga.
  3. Spustelėkite Pirmyn.
  4. Spustelėkite Pridėti esamą politiką tiesiogiai. Patikrinkite šią politiką:
  • AWSLambdaFullAccess
  • „AmazonS3FullAccess“
  • „AmazonDynamoDBFullAccess“
  • „AmazonRekognitionFullAccess“
  • AdministratorAccess
  1. Dar kartą spustelėkite Pirmyn ir Kitas, nes mums nereikia pridėti žymos.
  2. Patikrinkite, ar pasirinkta politika yra tokia pati, kaip nurodyta, tada spustelėkite Sukurti vartotoją.

Atsisiųskite CSV failą, kuriame yra prieigos rakto ID ir slaptas prieigos raktas, kuris bus naudojamas kitame žingsnyje. Spustelėkite Uždaryti.

3 veiksmas: sukonfigūruokite „Amazon S3“ir „Amazon DynamoDB“

„AWS Console“spustelėkite Paslaugos> S3

S3 veikia kaip „Google“diskas, kuriame galite saugoti dokumentus ir vaizdus. Šiam projektui mums reikės dviejų kibirų, iš kurių vienas yra vaizdų rinkinys, skirtas naudoti „Amazon Rekognition“(o antrasis - išsaugoti užfiksuotą vaizdą.

  1. Spustelėkite Sukurti grupę.
  2. Įveskite talpyklos pavadinimą ir dar kartą spustelėkite Pirmyn ir Kitas.
  3. Atžymėkite laukelį „Blokuoti visą viešą prieigą“.
  4. Pažymėkite langelį „Pripažįstu, kad dėl dabartinių nustatymų šis segmentas ir objektai gali tapti vieši“.
  5. Spustelėkite Pirmyn ir Sukurkite grupę.
  6. Pakartokite žingsnį antram kibirui.
  7. spustelėkite Paslaugos> „DynamoDB“

Šiame projekte bus naudojama „Amazon DynamoDB“, skirta išsaugoti atpažinimą ir atrakinti išsamią informaciją. Išsami informacija, kuri bus saugoma, yra nuoroda į užfiksuotą vaizdą, atpažįstamo vaizdo pavadinimas arba, jei neatpažįstamas, vardas bus išsaugotas kaip „nežinomas“, atpažinimo data ir laikas bei būsena, ar ji buvo sėkminga, neatitiko nei veidų, nei veidų aptiktas, atrakintas RFID arba atrakintas iš vidaus.

  1. Spustelėkite Pridėti naują lentelę.
  2. Įveskite bet kurį lentelės pavadinimą.
  3. Jei naudojate pirminį raktą, įveskite „rid“kaip pagrindinį raktą.
  4. Spustelėkite Sukurti.

4 veiksmas: sukonfigūruokite AWS „Raspberry Pi“

Pirmasis žingsnis yra įvesti AWS kredencialus. Norėdami tai padaryti „Raspberry Pi“konsolėje, atlikite šiuos veiksmus:

aws konfigūruoti

Tada įveskite savo sukurtus AWS IAM kredencialus ir įsitikinkite, kad įvedėte „us-west-2“kaip savo regioną (arba atitinkamą regioną, kurį nustatėte AWS atpažinimui). Palikite tuščią numatytąjį išvesties formatą.

5 veiksmas: prijunkite elementus prie „Raspberry Pi“

Taigi elementų jungtys yra tokios, kaip nurodyta toliau.

  • RC Servo - 1, 11, Žemė
  • Magnetinis jungiklis - 8, įžeminimas
  • Garsinis signalas - 32, Žemė
  • Išorinis mygtukas - 16, įžeminimas
  • Viduje mygtukas - 18, žemė
  • SDA kaištis RFID skaitytuve - 24
  • SCK kaištis RFID skaitytuve - 23
  • MOSI kaištis RFID skaitytuve - 19
  • RFID skaitytuvo MISO kaištis - 21
  • GND kaištis ant RFID skaitytuvo - įžeminimas
  • RST kaištis RFID skaitytuve - 22
  • 3,3 V kištukas ant RFID skaitytuvo - 17

Prašome prisijungti prie artimiausios žemės.

6 žingsnis: kodai

Visą reikalingą kodą galite rasti mano „Git“saugykloje.

Jei norite sužinoti, kaip pridėti veidus ir naudoti „Index Faces.py“, žr. Šį vaizdo įrašą.

7 žingsnis: sukurkite prototipą

Prototipo kūrimas
Prototipo kūrimas
Prototipo kūrimas
Prototipo kūrimas

Kadangi aš nefotografavau savo kūrimo metu, aš tiesiog paliksiu savo gatavo prototipo nuotrauką.

Prototipas sukurtas vaizduoti duris. Vaizdas iš namo rodo durų vaizdą iš išorės. „Pi“kamera buvo sumontuota pagal vidutinį žmogaus akių linijos aukštį, kad būtų užtikrinta, jog užfiksuotame vaizde bus atpažįstamas veidas. Durų skambučio mygtukas, kuris suaktyvins „Pi“kamerą fotografuoti, yra po „Pi“kamera. RFID skaitytuvas taip pat dedamas ant durų, kad vartotojas prie durų atrakintų duris naudodamas RFID žymę, jei atpažinimo nepavyko.

Raudonas mygtukas yra vidinis mygtukas, kuris bus naudojamas durims atrakinti iš namo vidaus. „Raspberry Pi“dedamas namo viduje, todėl žmonės iš išorės negali jo sugadinti. „RC Servo“yra dešinėje durų pusėje kaip durų spyna. Garsinis signalas yra patalpintas namo viduje, kad garsinis signalas būtų girdimas iš namo viduje esančių žmonių. Magnetinis jungiklis yra tarp durų ir rėmo.

8 žingsnis: išbandykite prototipą

Prototipo bandymas
Prototipo bandymas

Paleiskite kodą terminale

sudo python3 failo pavadinimas.py

Tiesiog paspaudėte geltoną mygtuką namo išorėje ir ši nuotrauka užfiksuota.

Patikrinkite „Amazon DynamoDB“, kad patikrintumėte, ar lentelė atnaujinta, ir S3 grupes, kad pamatytumėte, ar užfiksuotas vaizdas yra išsaugotas.

9 žingsnis: uždarymas

Jei nuspręsite patys sukurti šį projektą, praneškite man komentaruose (:

Dėkojame, kad perskaitėte.

Rekomenduojamas: