Raspberry pi Camera V2
<- eelmine peatükk
järgmine peatükk ->
Selles praktikumis uurime, kuidas kasutada Raspberry Pi’le mõeldud kaamerat ning põnevat sellega teha saab.
Tee läbi kaamera ühendamine järgneva juhendi järgi. Ühendamisel jälgi, et Sinu mikroarvuti ei oleks ühendatud vooluvõrku. Seejärel jätka juhendiga kuni pildiefektide osani.
Juhend
Käsurea skript, mis teeb iga teatud aja tagant pildi
Järgnevalt vaatame skripti, mis skripti käivitamisel teeb iga kahe sekundi tagant pildi ning salvestab selle töölauale. Kui Skript on teinud ära 5 pilti, siis algab ring algusest peale ning eelnevad pildid kirjutatakse üle.
Skripti lugedes on lihtne leida üles numbrid, mis muudavad kahe pildistamise vahelist aega ning mälus hoitavate piltide arvu.
1. Ava käsurida ning kirjuta käsklus nano pildiring.sh
2. Järgnevalt kirjuta kood faili:
#!/bin/bash while : do for i in {0..5} do echo “Pildi number tsuklis $i “ raspistill -n -o /home/pi/Desktop/img$i.jpg -t 1 sleep 2 done echo “Algab uus tsukkel, eelnevad pildid salvestatakse üle.” done
3. Salvesta ning sulge fail.
4. Anna failile käivitamisõigused käsuga “sudo chmod +x pildiring.sh”.
5. Käivita skript käsuga “./pildiring.sh”.
Selline skript võib alguses tunduda ebavajalik, aga oletame, et sa oled läinud paariks päevaks kodust ära ning jätnud kassi üksi koju. Järgmises praktikumis õpime, kuidas teha kaugühendust oma Raspberry Pi’ga, see annaks sulle võimaluse lasta Raspberryl teha näiteks iga 15 minuti tagant uus pilt ning hoida mälus viimase kolme tunni pilte. Kaugühenduse loomisel saad vaadata, kuidas lemmikloom elab. Samas ei pea muretsema, et mälukaardi mälu saaks täis, kuna pilte ei looda mõttetult suures koguses.
Proovi muuta ka ise salvestatud piltide arvu ning pildistamise vahemikku. Uuri käsu “raspistill” erinevaid parameetreid ning katseta mõnda neist. Kui kogemata juhtub, et Raspberry teavitab sind probleemist seoses kaameraga või ei tee enam pilte, siis tee operatsioonisüsteemile reboot ning vaata oma käsklus uuesti üle - ilmselt läks midagi valesti.
Isetehtud fotoboks (Pythoniga)
Allikas:https://www.facebook.com/stimdisain/photos/a.1442584205879622/1474862692651773/?type=3&theater
Vaatame koodi, mis teeb iga 10 sekundi tagant pildi (kokku viis korda).
NB! Pane tähele, et pilte salvestatakse desktopil asuvasse kausta “peopildid”. Loo selline kaust.
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview(alpha=220) for i in range(5): sleep(10) camera.capture('/home/pi/Desktop/peopildid/image%s.jpg' % i) camera.stop_preview()
Fotoboksi põhimõte on toimida iseseisvalt. Kujuta näiteks ette, kui Sinu kooli kooliballil või muul üritusel oleks selline kaamera, mis teeb külalistest ise pilti ning salvestab need mälukaardile. Järgnevalt on Sinu ülesanne kirjutada kood, mis kuvaks kogu aeg ekraanil kaamera pilti ning iga klahvi “enter” vajutuse peale ootaks viis sekundit ja teeks seejärel pildi. Tehtud pildid tuleks salvestada kausta “peopildid”, iga pilt eraldi nimega. Järgnevalt on toodud mõned vihjed, mis aitavad Sul sellist lahendust kirjutada.
1.
n = 0 while True: n += 1 if n == 10: break #lõpetab while-tsükli töö print(“While-tsükkel sai läbi.”)
2.
kasutaja_vastus = input(“Sisesta oma nimi (kui ei soovi oma nime avaldada, siis vajuta enterit): “) if kasutaja_vastus == “Mari”: print(“Sul on lahe nimi, Mari”) if kasutaja_vastus == “”: print(“Pole hullu, võid oma nime enda teada jätta”)
Kui aega jääb üle
Liikumisanduriga turvakaamera
Kujuta ette, et lähed perega paariks päevaks kodust ära. Kes siis kodu valvama peaks? Raspberry pi valvab. Selleks loome turvakaamera, mis pildistab vaid siis, kui liikumisandur tuvastab ruumis liikumist.
Ühenda vajalikud sensorid alloleva joonise järgi. Ühele LEDile, takistile, helitekitajale ning kahele juhtmele on oranži värviga rist peale tehtud. Neid pole vaja ühendada.
Seejärel käivita Raspberry pi ning kirjuta Pythonis järgnev kood (kontrolli, et failitee oleks Sinule sobiv, vajadusel loo selleks uus kaust töölauale):
from gpiozero import MotionSensor from time import sleep from picamera import PiCamera cam = PiCamera() pir = MotionSensor(17) print("Programm ootab, kuni andur ei tuvasta liikumist.") pir.wait_for_no_motion() print("Programm alustab tööd.") pildi_number = 0 while True: pir.wait_for_motion() cam.capture("/home/pi/Desktop/pildid2/piltNR%s.jpg" % pildi_number) print("Tuvastati liikumine") pildi_number+=1 pir.wait_for_no_motion() sleep(1)
Pane kood tööle. Proovi ka pildi asemel salvestada viie-sekundiline video liikumise tuvastamisel.