Raspberry Pi Kamera

 

Tillbaka till Raspberry Pi.

Kommandon att styra kameran med.
Ta en serie bilder.
Använda kameran via hemsida.
CCTV
Rörelsedetektor.
Pythonprogram.
Grafiskt program med Gtk.
ZeroCam NightVision kamera.
USB-kamera.
Streaming.
Trubbel.
Referenser.


Raspberry Pi Camera

Raspberry Pi Camera version 1.0, 5 Mpixel   Raspberry Pi Camera version 2.1, 8 Mpixel
Upplösning: 2592 x 1944 px                            Upplösning: 3280 x 2464 px.


Raspberry Pi High Quality Camera       USB-camera
12.3 Mpixel



 

Här är det tänkt att beskriva användningen av Raspberry Pi Camera.

 


 

Det första man måste göra är att uppdatera Raspberry Pi med de senaste:
sudo apt-get update
sudo apt-get upgrade
Därpå ska kameran aktiveras, "enable", med:
sudo raspi-config
Efter det att kameran aktiverat ska RPi startas om. Svara Ja på frågan om omstart.
Efter omstart installera programmet fbi:
sudo apt-get install fbi

Montering av kamera.
Stäng av Raspberry Pi.
Kameran monteras på följande sätt:
Koppla in kameran
Lyft försiktigt upp i Tabb.
Vänd bandkabelns blå nederdel mot nätverkskontakten (RJ45).
Stick ner bandkabeln försiktigt i kontakten. Se till att den sitter rakt.
Tryck ner Tabb för att låsa fast bandkabeln.
Starta Raspberry Pi.

Raspberry Pi med kameran monterad


Första bilden.
Nu är det dags att ta den första bilden:
raspistill -o /home/pi/Pictures/image.jpg -t 2000
Sedan är det tid att titta på bilden:
fbi image.jpg
Ifall fbi inte fungerar så kan man använda:
gpicview /home/pi/Pictures/image.jpg


Orginalstorlek = 2592 x 1944. (3,1MB)
Slutartid = 1/204 sek



Dokumentation om fbi (engelska)

 


Till början.



Kommandon att styra kameran med.

För att stänga av lysdioden: Editera filen /boot/config.txt och lägg till disable_camera_led=1
Välja storlek på fotografiet: raspistill -w 640 -h 480 -o foto1.jpg. Bredd = -w värde, höjd = -h värde

 


Till början.



Ta en serie bilder.

Ett program för att ta en serie bilder. Programmet skapar kommandot:
sudo raspistill -t 10000 -tl 1000 -w 680 -h 480 -o /home/pi/Pictures/2021-06-19,10:38_image%02d.jpg
-t anger tiden (i millisekunder) innan bilden tas.
-tl anger tiden (i millisekunder) mellan bilderna
Bilderna sparas i mappen /home/pi/Pictures/
Mer om inställningar för raspistill.


ta_bild.c

 


Till början.



Använda kameran via hemsida.
Först måste följande göras:
Börja med att skapa rätt behörighet för mappen /var/www:
sudo chown -R www-data:www-data /var/www
Fortsätt med att skapa användaren www-data genom att lägga in en rad i visudo:
sudo visudo
Lägg till detta i slutet på filen:
www-data ALL=NOPASSWD: ALL

Följand tre filer behövs:
index.html
foto.php
foto.c
foto.c ska kompileras med kommando: gcc -L/usr/local/lib -o foto foto.c och skapar då programmet foto
Samtliga filer ska placeras i /var/www/din_mapp.

index.html


foto.php


foto.c


Resultatet blir:
Vänster bild; börja med att bocka för Ta foto. Klicka sedan på SKICKA. Höger bild;
Kommer efter några sekunder och visar att fotot är taget. Klicka på TILLBACKA och man återvänder till vänster bild.
Bocka för Visa foto. Klicka sedan på SKICKA. Bilden kommer att visas samt uppmaning att klicka TILLBAKA.



Till början.



Fjärrstyrd CCTV.

En artikel i den engelska tidningen Linux Format intresserade mig att prova att utnyttja Raspberry Pi's kamera för att via internet se vad som händer framför kameran.
Programmet motion ska även kunna användas för att upptäcka och reagera på rörelser i bilden.

Installation.
Ladda ner programmet motion: sudo apt-get install motion
Editera /etc/default/motion med: sudo nano /etc/default/motion
Ändra raden: start_motion_daemon=no till start_motion_default=yes
Editera konfigurationsfilen motion.conf: sudo nano /etc/motion/motion.conf
Gör följande ändringar:
daemon on
width 640
hight 480
framerate 100
stream_localhost off

Starta om Raspberry Pi: sudo reboot
Dags att testa: sudo service motion start
Med en webbläsare i en annan dator skriv:
192.168.1.23:8081
IP-adressen ska vara IP-adressen till aktuell Raspberry Pi. Nu ska man kunna se en video i webbläsaren.

Ifall videofönstret är grått och inte visar någon bild samt att man kan urskilja texten: UNABLE TO OPEN VIDEO DEVICE behöver följande göras:
Lägg till följande i /etc/modules:
bcm2835-v4l2
OBS:v4l2 ska vara med bokstaven l.
Fortsätt med: sudo modprobe bcm2835-v4l2
Efter att ånyo öppnat webbläsare enligt ovan ska det nu visas video.

Ifall apache inte är installerad är det nu dax att göra detta:
sudo apt-get install apache2 -y

Nu är det dags att i en texteditor skapa filen
cd
index.html:

Döp om den gamla indexfilen: sudo mv /var/www/html/index.html /var/www/html/index-old.html
Kopiera den nya indexfilen:
sudo cp /home/pi/index.html /var/www/html/

Nu är det dags att starta serverprogrammen:
sudo service apache2 start
sudo service motion restart

Nu kan man anropa den aktuella Raspberry Pi men utan tillägget :8081 och erhålla en video. Bilden blir lite hackig. Men det beror mest på att Raspberry Pi's CPU inte har tillräcklig kraft att leverera video med normal bildhastighet. Det går att ställa in men då "knäar" Raspberry Pi få det svårt att orka med andra processer.

Några kommandon:
sudo service motion start
sudo service motion restart
sudo service motion stop

 


Till början.



Rörelsedetektor.

Jag hittade en artikel om att använda Raspberry Pi Camera som rörelsedetecktor. Artikeln är skriven 2014 för Raspberry Pi B. Denna RPi är bestyckad med Broadcom BCM2835 SoC med ARMv6 CPU samt 512MB RAM.
Jag försökte köra programmet i Raspberry Pi 3 B som är bestyckad med Broadcom BCM2837 SoC med ARMv7 CPU samt 1GB RAM.

Först kör jag raspistill -o test.jpg vilket fungerar utmärkt. Därpå kör jag python motion-dectect.py vilket pekar på några stavfel i programmet. Sedan körde jag update, upgrade och reboot varpå programmet fungerade.



Till början.



Pythonprogram.

Pythonprogram med vilket förenklar hanteringen av RPi:s kamera. Programmet skapar en textfil med datum och klockslag när bilden togs. Textfilen sparas som /home/pi/Development/Python/bilddatum.txt.
Skriptet utnyttjar informationen för att sedan visa rätt bild. Varje bild får ett unikt namn baserat på datum och klockslag.

picamera_tes.py



Här även ett skript som hjälp att bilderna:
Behörigheten på filen måste ändras: sudo chmod +x picamera.sh

picamera.sh

Bilden visas med programmet gpicview.



Till början.



Gtk-program.

Jag har lyckats konstruera ett grafiskt gränssnitt för att ta en bild med Raspberry Pi Camera.



Resultat:



Till början.



ZeroCam NightVision kamera.


Egenskaper.
5MP sensor, 2592x1944 pixels
1080p video vid 30 FPS (eller 60 FPS vid 720p, 90 FPS vid 480p)
f2.4 lins, 1.85mm focus längd, 70° (standard) eller 160° (vidvinkel) FOV
Det medföljer 15cm Pi Zero kamerakabel , och 15cm standard kamerakabel
Lens cap
Dimensioner: 72.60 x 24mm (inklusive cabelkontakt)
Variabel focus

Montering:
NightVisionkameran monteras på samma sätt som ordinarie kamera.

Bildexempel:


Bilden är tagen klockan 1 på natten. Jag använde ett skript som initierades från crontab för att ta bilden. Jag tycker kvaliteten är god.
Skript: bild.sh

Rad i crontab:


Omdömme:

Jag saknar en "hållare" för att ställa upp kameran. Det får jag nog försöka tillverka själv.
Nu har jag hittat en hållare för kameran, tillika ett hölje till datorn.


Omdömme.
Höljet är helt OK men de fyra skruvarna som fäster kameran i höljet är 5 mm för korta, bar 10 mm, borde vara 15 mm. Istället för att skruva fast kaneran fick jag fästa den med tejp på insidan.
Det var riktigt pillrigt att montera ihop kamera och hölje.



Till början.



USB-kamera.

En USB-kamera med stödben kan införskaffas från PiHut.
Följande programvara behöver installeras:


I Menyn öpnar man, först Ljud och video och sedan Webcamoid.
Det kan vara lämpligt att justera upplösningen, förslagsvis till 640x480.


Ett skript för att ta stillbilder med USB.kamera.




Till början.



Trubbel.

Felmeddelande:

Detta kan bero på att ett annat program ( i detta fall motion ) redan körs.
Lösning:


Felmedelandet kan även komma ifall man monterat kameran utan att stänga av Raspberry Pi.
Efter montering av kameran ska man starta om Raspberry Pi. Under uppstart kopplas nämligen kameran in som befintlig hårdvara.



Streaming av bild.

Här är en länk till information och exempel på hur man kan streama rörliga bilder (video).
Se till att programmet rpi_camera_surveillance_system.py körs( är "running")
Anropa hemsidan med IP-address:8000

 


Referenser.

Raspberry Pi Camera Module
Raspberry Pi Camera: turn off the LED
NigntVision Camera.
Boken The Camera module guide.
Raspberry Pi High Quality Camera



Till början.