- Būtini komponentai:
- Darbinis paaiškinimas:
- Grandinės paaiškinimas:
- „Raspberry Pi“ konfigūravimo ir programavimo paaiškinimas:
„Raspberry Pi“ yra ARM žievės pagrindu sukurta populiari kūrimo lenta, skirta elektronikos inžinieriams ir mėgėjams. Turėdamas apdorojimo greitį ir atmintį, „Raspberry Pi“ vienu metu gali naudoti skirtingoms funkcijoms atlikti, pavyzdžiui, įprastam kompiuteriui, todėl delne jis vadinamas „Mini Computer“. Mes sukūrėme „Raspberry Pi“ mokymo programų seriją, pradedant nuo „Raspberry Pi“ nuo nulio, o tada kuriant aukšto lygio interneto projektus naudojant „Raspberry Pi“.
Šį kartą mes esame čia su savo kitu įdomiu projektu - lankytojų stebėjimo sistema su vaizdo fiksavimo funkcijomis. Čia mes sujungiame „Pi“ kamerą su „Raspberry Pi“, kad užfiksuotume kiekvieno lankytojo, įėjusio pro vartus ar duris, vaizdą. Šio projekto metu, kai tik kas nors atvyksta prie vartų, jis turi paspausti mygtuką, kad atidarytų vartus, ir kai tik jis / ji paspaus mygtuką, jo nuotrauka bus užfiksuota ir išsaugota sistemoje su data ir įrašo laikas. Tai gali būti labai naudinga saugumo ir priežiūros tikslais.
Ši sistema yra labai naudinga biuruose ar gamyklose, kur lankytojams įrašomas lankytojų įrašas, o darbuotojų lankomumo apskaita. Ši stebėjimo sistema skaitmenins ir automatizuos visus lankytojų įrašus ir lankomumą, todėl nereikės jų tvarkyti rankiniu būdu. Šią sistemą gali valdyti pats asmuo arba gali būti operatorius, kuris paspaudžia mygtuką labai lankytojui. Tai yra geras projektas norint pradėti naudotis „Pi“ kamera ir susieti ją su „Raspberry Pi“.
Būtini komponentai:
- Avietė Pi
- Pi kamera
- 16x2 LCD ekranas
- Nuolatinės srovės variklis
- IC L293D
- Buzeris
- LED
- Bandomoji Lenta
- Rezistorius (1k, 10k)
- Kondensatorius (100nF)
- Paspauskite mygtuką
- Jungiamieji laidai
- 10 tūkst. Puodo
- Maitinimo šaltinis
Darbinis paaiškinimas:
Šios „ Raspberry Pi“ stebėjimo sistemos darbas yra paprastas. Tuo metu „ Pi“ kamera naudojama lankytojų vaizdams užfiksuoti, kai paspaudžiamas arba įjungiamas mygtukas. Nuolatinės srovės variklis yra naudojamas kaip vartų. Kai kas nors nori įeiti į tą vietą, jis / ji turi paspausti mygtuką. Paspaudus mygtuką, „Raspberry Pi“ siunčia komandą „Pi Camera“, kad spustelėtų paveikslėlį ir jį išsaugotų. Po jo vartai kuriam laikui atidaromi ir tada vėl užsidaro. Skambėjimo signalas naudojamas garsui generuoti paspaudus mygtuką, o šviesos diodas naudojamas rodyti, kad „Raspberry Pi“ yra pasirengęs priimti mygtuko paspaudimą.
Čia lankytojų nuotraukos išsaugomos „Raspberry Pi“ su pavadinimu, kuriame yra įrašymo laikas ir data. Reiškia, nereikia datos ir laiko atskirai išsaugoti kitoje vietoje, nes mes nustatėme laiką ir datą kaip užfiksuoto paveikslėlio pavadinimą, žiūrėkite toliau pateiktą vaizdą. Mes nufotografavome langelio kaip lankytojo atvaizdą, patikrinkite visą jo demonstravimą vaizdo įraše pabaigoje.
Grandinės paaiškinimas:
Šios „ Raspberry Pi“ lankytojų stebėjimo sistemos grandinė yra labai paprasta. Čia skystųjų kristalų ekranas (LCD) naudojamas lankytojo atvykimo laikui / datai ir kai kuriems kitiems pranešimams rodyti. Skystųjų kristalų ekranas prijungtas prie „Raspberry Pi“ 4 bitų režimu. LCD, būtent RS, EN, D4, D5, D6 ir D7, kaiščiai yra prijungti prie „Raspberry Pi GPIO“ kontaktų 18, 23, 24, 16, 20 ir 21. „ Pi“ kameros modulis yra prijungtas prie „Raspberry Pi“ kameros angos. Nurodymo tikslu prie „Raspberry Pi“ 26 GPIO kaiščio prijungtas garsinis signalas. Šviesos diodas yra prijungtas prie GPIO kaiščio 5 per 1k rezistorių, o mygtukas 19 yra prijungtas prie GPIO kaiščio 19 žemės atžvilgiu, kad suaktyvintų kamerą ir atidarytų vartus. Nuolatinės srovės variklis (kaip vartai)yra sujungtas su „Raspberry Pi GPIO“ 17 ir 27 kaiščiais per variklio tvarkyklės IC (L293D). Likę jungtys parodyti grandinės schemoje.
Norėdami prijungti „Pi“ kamerą, įkiškite „Pi Camera“ juostelės laidą į fotoaparato angą, šiek tiek pakelkite jungtį prie „RPi“ plokštės ir įkiškite juostelės laidą į lizdą, tada vėl švelniai paspauskite skirtukus, kad pritvirtintumėte juostos kabelį.
„Raspberry Pi“ konfigūravimo ir programavimo paaiškinimas:
Programai čia naudojame Python kalbą. Prieš koduodamas vartotojas turi sukonfigūruoti „Raspberry Pi“. Žemiau turėtumėte pateikti dvi „Raspberry Pi“ darbo pradžios ir „Raspbian Jessie“ OS diegimo ir konfigūravimo „Pi“ instrukcijas:
- Darbo pradžia naudojant „Raspberry Pi“ - įvadas
- Darbo pradžia naudojant „Raspberry Pi“ - konfigūracija
Sėkmingai įdiegę „Raspbian OS“ į „Raspberry Pi“, turime įdiegti „Pi“ kameros bibliotekos failus, kad galėtumėte vykdyti šį projektą „Raspberry pi“. Norėdami tai padaryti, turime vykdyti nurodytas komandas:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Po to vartotojas turi įgalinti „Raspberry Pi“ kamerą naudodamas „Raspberry Pi“ programinės įrangos konfigūravimo įrankį („raspi-config“):
$ sudo raspi-config
Tada pasirinkite Įjungti kamerą ir Įgalinti.
Tada vartotojas turi iš naujo paleisti „Raspberry Pi“, išleisdamas „ sudo“ perkrovimą , kad būtų galima atlikti naują nustatymą. Dabar jūsų „Pi“ kamera yra paruošta naudoti.
$ sudo perkrauti
Šio projekto „Python“ programa atlieka labai svarbų vaidmenį atliekant visas operacijas. Visų pirma, mes įtraukiame reikalingas bibliotekas, inicijuojame kintamuosius ir nustatome LCD, LED, variklio ir kitų komponentų kaiščius.
importuoti RPi.GPIO kaip „gpio“ importuoti „picamera“ importavimo laiką m11 = 17 m12 = 27 LED = 5 buz = 26 mygtukas = 19 RS = 18……………
Funkcija def capture_image () sukurta norint užfiksuoti lankytojo vaizdą su laiku ir data.
def capture_image (): lcdcmd (0x01) lcdprint ("Palaukite, palaukite.."); duomenys = time.strftime ("% d_% b_% Y \% H:% M:% S") camera.start_preview () time.sleep (5) spausdinti duomenų kamerą.capture ('/ home / pi / Desktop / Visitors /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Vaizdas užfiksuotas") lcdcmd (0xc0) lcdprint ("Sėkmingai") time.sleep (2)
Funkcija def gate () parašyta nuolatinės srovės varikliui, kuris čia naudojamas kaip vartai, valdyti.
def vartai (): lcdcmd (0x01) lcdprint („Welcome“) gpio.output (m11, 1) gpio.output (m12, 0) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) time.sleep (3) gpio.output (m11, 0) gpio.output (m12, 1) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12, 0) lcdcmd (0x01)); lcdprint („Ačiū“) time.sleep (2)
Kai kurios funkcijos yra apibrėžtos LCD kaip Def pradėti () funkcija naudojama inicijuoti LCD, Def lcdcmd (CH) funkcija naudojama siuntimo komandą LCD, Def lcdwrite (CH) funkcija naudojama siųsti duomenis į LCD ir def lcdprint (STR) funkcija naudojama duomenų eilutėms siųsti į LCD. Visas šias funkcijas galite patikrinti vėliau pateiktame kode.
Tada mes inicijavome skystųjų kristalų ir „Pi“ fotoaparatą ir nuolat skaitome mygtuką „Push“ naudojant „ while loop“. Kai tik paspaudžiamas mygtukas, norint atidaryti vartus įvažiavimui, lankytojo vaizdas yra užfiksuojamas ir išsaugomas „Raspberry pi“ su data ir laiku, o vartai atsidaro. Žemiau patikrinkite visą kodą ir demonstracinį vaizdo įrašą.
o 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("Laikas:% s"% t) lcdcmd (0xc0) lcdprint ("Data:% s"% d) gpio.output (led, 1) jei gpio.input (mygtukas) == 0: gpio.output (buz, 1) gpio.output (led, 0) time.sleep (0.5) gpio.output (buz, 0) capture_image () gate () time.sleep (0.5)
Ši fotoaparato stebėjimo sistema turi daug galimybių atnaujinti, pvz., Programinę įrangą galima sukurti „Computer Vision“ arba „OpenCV“, kad ji atitiktų užfiksuotą lankytojo nuotrauką su jau išsaugotais vaizdais ir suteiktų lankytojui leidimą tik tuo atveju, jei buvo rastas koks atitikimas, atidarykite vartus įgaliotiems žmonėms.