Ansluta en analog kamera till en raspberry pi. Videoövervakningsserver som använder Raspberry Pi. Skapar timelapse-video
Låt oss titta på metoder för att korrekt ansluta kameran till Raspberry Pi och arbeta med den genom terminalfönstret och använda Python-programmeringsspråket.Relaterat material:
När du ansluter kameran till Raspberry, kom ihåg följande:
- Kameran är rädd för statisk elektricitet, det är tillrådligt att röra den under drift genom antistatiskt material
- kameran förbrukar 250 mA - när du använder en medelmåttig Malina-strömförsörjning kan anslutning av kameran orsaka brist på ström när kameran arbetar aktivt
- det finns ingen mikrofon i kameran
- toppen av kameran är placerad på den sida som är motsatt kabelutgången, men det finns ett speciellt kommando för att reflektera bilden vertikalt - mer om det nedan.
Förbindelse
Det är lämpligt att ansluta kameran till en avstängd Raspberry. Du kan snabbt stänga av Raspberry med kommandotsudo avstängning nu
CSI daisy chain-kontakten är placerad bredvid HDMI: Fördelen med att ansluta kameran via denna kontakt, till skillnad från USB, är att den avlastar processorn vid överföring av data via CSI-gränssnittet
För enkel kamerafixering finns det färdiga lösningar, till exempel - Akrylhållare.
![](https://i2.wp.com/systop.ru/uploads/posts/2018-05/1527699779_vydelenie_298.png)
![](https://i0.wp.com/systop.ru/uploads/posts/2018-05/1527699865_vydelenie_300.png)
![](https://i2.wp.com/systop.ru/uploads/posts/2018-05/1527699957_vydelenie_301.png)
För att fungera med kameran har Raspbian redan nödvändiga verktyg och drivrutiner förinstallerade. Låt oss uppdatera paketen för att använda de senaste versionerna: sudo apt-get update -y sudo apt-get dist-upgrade -y Om allt är gjort korrekt, låt oss försöka få en testram från kameran - skapa en mapp för foton, gå till den och kör kommandot bildfångst: mkdir ~/pi_cam/ cd ~/pi_cam/ raspistill -v -o test.jpg
![](https://i0.wp.com/systop.ru/uploads/posts/2018-05/1527700014_vydelenie_302.png)
Följande paket för att arbeta med kameran är förinstallerade i Raspbian OS:
- raspivid, raspvidyuv - videoinspelning
- raspistill, raspiyuv - ta bilder
Alla verktyg startas från terminalen och är ganska lätta att använda.
Paket med namn som slutar på "yuv" använder inte kodningskomponenten - de lagrar den "råa" obearbetade informationen som tas emot av kamerasensorn. Låt oss titta på att arbeta med varje paket, men först ska vi bekanta oss med listan över kameraparametrar som är gemensamma för alla paket, och sedan ska vi titta på specifika argument och specifika exempel deras ansökningar.
Vanliga parametrar
Låt oss titta på parametervärdena. Det är värt att notera:- Om ett argument inte anges när verktyget anropas, används dess standardvärde.
- OM KOLUMNEN "TILLÅTNA VÄRDEN" ÄR TOM, behöver inga ytterligare värden skickas - det räcker att bara passera själva argumentet.
- Förhandsvisningen visas endast på en fysisk bildskärm som är ansluten till hallon. Om du kommer åt Raspberry via fjärrskrivbord (VNC), kommer förhandsgranskningen inte att visas vid några inställningar eftersom förhandsgranskningsbilden skickas direkt till monitorn ovanpå resten av informationen
- Liknar att titta på videor via skrivbordet
Argument | Beskrivning | Giltigt intervall | Standardvärde |
-s | Förhandsgranska fönsteralternativ | bredd, höjd, x-koordinat, y-koordinat | |
-f | Förhandsvisning i helskärm | Nej |
|
-n | Ingen förhandsvisning | ||
-op | Förhandsgranska fönstertransparens | 0...255 | 255 |
-sh | Skärpa | -100...100 | 0 |
-co | Kontrast | -100...100 | 0 |
-br | Belysning | 0...100 | 50 |
-sa | Mättnad | -100...100 | 0 |
-ISO | Kamerasensorkänslighet | -100...100 | 0 |
-mot | Videostabilisering (endast video) | Nej |
|
-ev | Exponeringskompensation | -10...10 | 0 |
-ex | Utläggning |
| bil |
-awb | vitbalans |
| bil |
-ifx | Olika effekter | ingen, negativ, solarisera, posterisera, whiteboard, svart tavla, skiss, denoise, relief, oljefärg, lucka, gpen, pastell, akvarell, film, oskärpa, mättnad, färgbyte, uttvättad, färgpunkt, färgbalans, tecknad film | ingen |
-cfx | Färgbalans | 0...255:0...255 | 128:128 |
-mm | Exponeringsmätning |
| genomsnitt |
-ruttna | Sväng | 0 ... 359 | 0 |
-hf | Horisontell reflektion | Nej |
|
-vf | Vertikal reflektion | Nej |
|
-roi | Sensor ROI | koordinater från det övre vänstra hörnet och områdets bredd och höjd 0 … 1,0 … 1,0 … 1,0 … 1 | 0,0,1,1 |
-ss | Slutartid | i mikrosekunder | 6000000 |
-drc | Dynamisk intervallkompression | av |
|
-st | visa statistik | Nej |
raspistill - fotofångst
Det här verktyget producerar en kodad komprimerad bild, och för att utföra denna åtgärd finns det en hel del parametrar som skickas som argument när raspistill körs.Argument
Argument | Beskrivning | Giltigt intervall | Standardvärde |
-w | Bredd | 0...max | Max |
-h | Höjd | 0...max | Max |
-q | Kvalitet | 0...100 | 75 |
-o | Filnamn | sökvägen till filen | - |
-v | Utgång till terminal | Information om fångstprocessen | Nej |
-t | Fördröjning innan åtgärd | i millisekunder | 0 |
-tl | Tidsförlopp | exempel: -tl 2000 -o image%04d.jpg 2000 - intervall %04d - 4-siffrigt nummermönster | - |
-e | Kodning för att formatera | jpg, bmp, gif och png | jpg |
-x | Lägger till EXIF-taggar | upp till 32 taggar | - |
-r | Lagring av en Bayer-array i metadata för en kodad bild | - |
Exempel
Låt oss titta på specifika exempel på hur du använder raspistill:Ta en standardbild efter 2 sekunder och spara den i filen image.jpg (i den mapp du befinner dig i). Upplösningen blir standard (max) raspistill -t 2000 -o image.jpg Samma sak, men i en upplösning på 640x480 raspistill -o image.jpg -w 640 -h 480 Ta en bild med en reducerad kvalitet på 5% och spara den till en fil image.jpg (i den mapp du befinner dig i). Med denna kvalitet blir bildstorleken betydligt mindre raspistill -o image.jpg -q 5 Skaffa en bild kodad i PNG-format och spara den till filen image.png raspistill -o image.png –e png Skaffa en standardbild med två inbäddade EXIF-taggar: Artist - Boris, GPS-höjd - 123,5 m raspistill -o image.jpg -x IFD0.Artist=Boris -x GPS.GPSAltitude=1235/10 Skapa en time-lapse-uppsättning bilder som kommer att fångas med intervaller på 10 sekunder under 10 minuter (600 000 ms) och kallas image_num_001_today.jpg, image_num_002_today.jpg och så vidare. Den slutliga bilden kommer att heta latest.jpg raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l latest.jpg Ta bilder när du trycker på Enter, filerna sparas sida vid sida och får namnet my_pics01.jpg my_pics02. jpg osv. raspistill -t 0 -k -o my_pics%02d.jpg
raspiyuv
Lanseringsargumenten är exakt desamma som raspistillens (se ovan), av vilka endast följande INTE är TILLGÄNGLIGA:-q - kvalitet
-e - ange målbildformatet
-x - Lägg till EXIF-taggar
-r - Lagra en Bayer-array i metadata för den kodade bilden
Det finns dock ett EGET argument
-rgb - spara "rå" rådata i RGB888-format (8 bitar/kanal)
raspivid - videoinspelning
Startparametrar
Argument | Beskrivning | Giltigt intervall | Standardvärde |
-w | Bredd | 0...max | 1920 |
-h | Höjd | 0...max | 1080 |
-b | Video bitrate | antal bitar per sekund. 10Mbits/s är satt till -b 10000000 | |
-o | Filnamn | sökvägen till filen | - |
-v | Utgång till terminal | Information om fångstprocessen | |
-t | Fördröjning innan åtgärd | i millisekunder | 0 |
-fps | Framerate | Antal bilder per sekund 2...30 | |
-k | Starta/stoppa inspelningen genom att trycka på Enter | processen avbryts genom att trycka på "X" | |
-sg | Spara videosegment med en bestämd varaktighet i separata filer | Ställ in varaktigheten för ett segment och filmask -sg 3000 -o video%04d.h264 | |
-wr | Begränsning av det maximala antalet filer under segmentering | Används med argumentet -sg och implementerar i huvudsak cyklisk omskrivning som i DVR:er |
Låt oss titta på specifika exempel:
Spela in en 5-sekunders standardvideo (1920x1080, 30 bilder/sek) och spara till en fil video.h264 raspivid -t 5000 -o video.h264 Spela in en 5-sekunders video med en upplösning på 1080p och en specifik bithastighet på 3,5Mbits /s och spara till filen video.h264 raspivid -t 5000 -o video.h264 -b 3500000 Spela in 5 sekunder av standardupplösningsvideo med 5 fps bildhastighet och spara till filen video.h264 raspivid -t 5000 -o video.h264 -f 5 Om en bildskärm är ansluten till Raspberry via HDMI kan den inspelade videon ses med omxplayer-spelaren: sudo apt-get install omxplayer #om spelaren ännu inte är installerad omxplayer video.h264 Videovisning är inte tillgänglig via VNC
Felkoder
- 0 - framgångsrikt slutförande
- 64 - ogiltigt kommando skickat (syntaxfel)
- 70 - fel i verktyget eller vid kommunikation med kameran
- 130 - körningen avbröts av användaren (tangentkombination Ctrl + C)
PiCamera bibliotek
Detta är ett bibliotek för programmeringsspråket Python som låter dig förenkla och automatisera arbetet med Raspberry-kameranFullständig beskrivning av biblioteket på engelska
I moderna versioner av Raspbian-distributionen är biblioteket redan förinstallerat, du kan kontrollera detta genom Python-konsolen python3 import picamera I händelse av ett fel måste du lämna konsolen genom att ange kommandot exit() eller använda Ctrl + D tangentkombination och installera biblioteket med kommandot sudo apt-get install python3-picamera Arbeta med kameran från Python-kod liknande terminalkommandona som diskuterats ovan. Du kan enkelt få en standardbild från en kamera direkt i Python-konsolen: importera picamera #importera kamerabiblioteket kamera = picamera.PiCamera() #skapa ett kameraobjekt camera.capture("image.jpg") #ringa kamerabilden fångstmetod kamera .close() #stäng kamerasessionen Bilden kommer att sparas i filen image.jpg i den aktuella mappen.
För två år sedan, när jag först började arbeta på multikoptrar, var jag tvungen att göra en liten. Eftersom quadcoptern var tänkt att vara rent autonom krävdes allt av denna fjärrkontroll att styra drönaren under testning och installation.
I princip klarade fjärrkontrollen alla uppgifter som tilldelats den ganska framgångsrikt . Men det fanns också allvarliga brister.
- Batterierna fick inte plats i fodralet, så jag var tvungen att tejpa fast dem på fodralet med eltejp :)
- Parametrarna justerades med hjälp av fyra potentiometrar, som visade sig vara mycket känsliga för temperatur. Du ställer in några värden inomhus, går ut - och de är redan olika, de har flytit iväg.
- U Arduino Nano, som jag använde i fjärrkontrollen, det finns bara 8 analoga ingångar. Fyra var upptagna av avstämningspotentiometrar. En potentiometer fungerade som gas. Två ingångar kopplades till joysticken. Endast en utgång var ledig och det fanns många fler parametrar att konfigurera.
- Den enda joysticken var inte en pilot alls. Att styra gasen med en potentiometer var också ganska frustrerande.
- Och fjärrkontrollen gjorde inga ljud, vilket ibland är extremt användbart.
För att eliminera alla dessa brister bestämde jag mig för att radikalt göra om fjärrkontrollen. Både hårdvarudelen och mjukvaran. Här är vad jag ville göra:
- Gör ett stort fodral så att du kan stoppa in allt du vill nu (inklusive batterier) i det, och vad du vill senare.
- Lös problemet med inställningarna på något sätt, inte genom att öka antalet potentiometrar. Lägg dessutom till möjligheten att spara parametrar i fjärrkontrollen.
- Gör två joysticks, som på vanliga pilotkonsoler. Tja, sätta joysticks själva ortodoxa.
Ny byggnad
Idén är extremt enkel och effektiv. Vi skär ut två plattor från plexiglas eller annat tunt material och ansluter dem med ställ. Hela innehållet i fodralet är fäst på antingen över- eller bottenplattan.
Kontroller och menyer
För att styra ett gäng parametrar måste du antingen placera ett gäng potentiometrar på fjärrkontrollen och lägga till en ADC, eller göra alla inställningar via menyn. Som jag redan sa, justering med potentiometrar är inte alltid en bra idé, men du bör inte ge upp det heller. Så det beslutades att lämna fyra potentiometrar i fjärrkontrollen och lägga till en fullständig meny.
För att navigera genom menyn och ändra parametrar används vanligtvis knappar. Vänster, höger, upp, ner. Men jag ville använda en kodare istället för knappar. Jag fick den här idén från en 3D-skrivarkontroller.
Naturligtvis, på grund av tillägget av menyn, har fjärrkontrollkoden utökats flera gånger. Till att börja med lade jag bara till tre menyalternativ: "Telemetri", "Parametrar" och "Store params". Det första fönstret visar upp till åtta olika indikatorer. Än så länge använder jag bara tre: batterikraft, kompass och höjd.
I det andra fönstret finns sex parametrar tillgängliga: PID-regulatorkoefficienter för X/Y-, Z-axlarna och accelerometerns korrigeringsvinklar.
Den tredje posten låter dig spara parametrar i EEPROM.
Joysticks
Jag tänkte inte länge på valet av pilotjoysticks. Det hände så att jag fick den första Turnigy 9XR-joysticken från en kollega i quadcopterbranschen - Alexander Vasiliev, ägaren till den välkända webbplatsen alex-exe.ru. Jag beställde den andra direkt från Hobbyking.
Den första joysticken var fjäderbelastad i båda koordinaterna - för att styra gir och stigning. Den andra jag tog var samma, så att jag sedan kunde omvandla den till en joystick för att kontrollera dragkraft och rotation.
Näring
I den gamla fjärrkontrollen använde jag en enkel LM7805 spänningsregulator, som matades med ett gäng 8 AA-batterier. Ett fruktansvärt ineffektivt alternativ, där 7 volt spenderades på att värma regulatorn. 8 batterier - eftersom det bara fanns ett sådant fack till hands och LM7805 - eftersom det här alternativet vid den tiden tycktes mig vara det enklaste, och viktigast av allt, det snabbaste.
Nu bestämde jag mig för att agera klokare och installerade en ganska effektiv regulator på LM2596S. Och istället för 8 AA-batterier installerade jag ett fack för två LiIon 18650-batterier.
Resultat
När vi satte ihop allt fick vi den här enheten. Inifrån.
Men med locket stängt.
Locket på en potentiometer och locken på joysticks saknas.
Slutligen en video om hur inställningarna konfigureras via menyn.
Slutsats
Fjärrkontrollen är fysiskt monterad. Nu jobbar jag på att färdigställa koden för fjärrkontrollen och quadcoptern för att återställa dem till sin tidigare starka vänskap.
Vid installationen av fjärrkontrollen upptäcktes brister. För det första vilar de nedre hörnen av fjärrkontrollen i dina händer: (Jag kommer förmodligen att göra om plattorna lite, jämna ut hörnen. För det andra räcker inte ens en 16x4-skärm för en vacker telemetriskärm - jag måste förkorta parameternamn till två bokstäver I nästa version av enheten kommer jag att installera en punktdisplay eller omedelbart en TFT-matris.
Raspberry Pi enkelkortsdator låter dig skapa riktigt intressanta och användbara saker: från multimediacenter till hemautomationssystem. Genom att ansluta olika moduler till Raspberry Pi kan du avsevärt utöka funktionaliteten hos denna minidator.
En av dessa extra plug-ins är en kamera, som gör att du kan ta bilder eller filma. Idag finns det ett antal kameror för Raspberry Pi på marknaden, och i den här artikeln kommer vi att ge en kort genomgång av dem.
Låt oss titta på sex av de mest populära kamerorna: ZeroCam Noir, ZeroCam FishEye, Raspberry Pi-kompatibel Fisheye-kamera, Raspberry Pi Camera V2, Raspberry Pi Camera V2 Noir och Raspberry Pi Camera 1.3.
ZeroCam Noir är en kameramodul för Raspberry Pi Zero eller Raspberry Pi Zero W, så om du vill använda den i Raspberry Pi 3 eller 2 behöver du använda en adapterkabel. Den här kameran har inget IR-filter på objektivet, vilket gör den idealisk för fotografering i svagt ljus. Här är några av dess huvudsakliga egenskaper: 5 megapixel sensor, 2592 × 1944 pixlar, 1080p vid 30 FPS (eller 60 FPS vid 720p, 90 FPS vid 480p), brännvidd 3,60 mm, 53,50 grader horisontellt, ca 41,41 grader vertikalt. brädans mått med kamera: 60 x 11,4 x 5,1 mm.
Detta är fisheye-versionen av ZeroCam, vilket betyder att den har en vidvinkelbild. Den här kameran är också gjord för Pi Zero eller Pi Zero W, så för att använda den med en annan Pi-panel behöver du en adapterkabel.
Detta är en Raspberry Pi-kompatibel fisheye-kamera som lätt kan hittas på olika handelsplattformar online som AliExpress, TaoBao, eBay. Den kännetecknas av en vidvinkelvy på 175º. Den är baserad på Omnivision 5647-sensorn med en upplösning på 5 megapixlar (2592 x 1944 pixlar).
Den här kameran är utrustad med en 8-megapixel Sony IMX219-bildsensor med en fast fokal lins, som kan visa 3280×2464 pixlar statiska bilder, den stöder 1080p30, 720p60 och 640×480p90 videor. Kameran är kompatibel med alla Raspberry Pi-kort, men om du vill använda den med Pi Zero behöver du en adapterkabel.
Den här kameran har alla funktioner i Raspberry Pi Camera V2-modulen, men den har inget IR-filter. Det betyder att det nästan är en idealisk kamera för fotografering i mörker.
Raspberry Pi Camera 1.3 är föregångaren till V2-modulen. Den är utrustad med en 5-megapixel OmniVision OV5647-sensor.
Jämförelse av synfält och bildkvalitet för kameror för Raspberry Pi
I detta test installeras alla kameror på ett avstånd av 1 meter från testbilden. Resultaten är följande:
Jämförelse av bildkvalitet och färgåtergivning av Raspberry Pi-kameror vid zoomning
Jämförelse av fotograferingskvalitet på natten
Resultaten nedan visar flera nattfotograferingsförberedda kameror som gör samma sak: testbild i mycket svagt ljus i mörker.
Slutsatser
Alla kameror presterar lite bättre än förväntat av så billiga moduler. Tyvärr finns det ingen allt-i-ett-kamera bland dem, och det finns en avvägning att göra eftersom det inte verkar finnas några vidvinkelkameror (fiskögon) med IR-klippfiltret borttaget. Så om du vill ha vidvinkel behöver du regelbunden belysning, och omvänt, på natten är det osannolikt att du tar vidvinkelbilder.
God dag!
På nyårsafton fick jag idén att bygga någon form av videoövervakning. Jag hade allt jag behövde till hands:
- Raspberry Pi Model B enkelkortsdator
- Webbkamera LOGITECH HD Webbkamera C270
Bekantskap
Så låt oss först bekanta oss med huvudkomponenten:Raspberry Pi utseende:
Egenskaper:
- Broadcom BCM2835 700MHz ARM1176JZFS-processor med FPU och Videocore 4 GPU
- GPU ger Open GL ES 2.0, hårdvaruaccelererad OpenVG och 1080p30 H.264 högprofilsavkodning
- GPU klarar av 1Gpixel/s, 1,5Gtexel/s eller 24GFLOPS med texturfiltrering och DMA-infrastruktur
- 512 MB RAM
- Startar från SD-kort, kör en version av operativsystemet Linux
- 10/100 BaseT Ethernet-uttag
- HDMI-videoutgång
- 2 x USB 2.0-uttag
- RCA-kompositvideoutgång
- SD-kortuttag
- Drivs från microUSB-uttag
- 3,5 mm ljudutgång
- Raspberry Pi HD videokamerakontakt
- Storlek: 85,6 x 53,98 x 17 mm
En lista över officiellt stödda distributioner finns. Jag valde Raspbian utan ett grafiskt skal.
Installationsprocessen är ganska enkel och kräver inte detaljerad beskrivning, så jag kommer att lista de viktigaste fakta som är värda att uppmärksamma:
- Ställa in tidszonen
- Ställa in datornamnet
- Aktiverar SSH-åtkomst
- Systemuppdatering
Förberedelse
Låt oss först installera alla nödvändiga paket:sudo apt-get installera imagemagick libav-tools libjpeg8-dev subversion
Ladda sedan ner och montera mjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Därför att Vi kommer att lagra all data i molnet, vi kommer att ställa in arbete med fjärrkontroll filsystem via WebDAV:
sudo apt-get install davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi
För att inte ange ditt användarnamn och lösenord varje gång måste du lägga till dem i filen
/etc/davfs2/secrets
/mnt/dav användarlösenord
Arbetsprocessen
Låt oss lägga till kommandon till /etc/rc.local för att montera WebDAV och köra skriptet för att sända till nätverket:montera -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi cd /home/pi/mjpg-streamer && ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.så -w ./www"
Nu, genom att gå till http://:8080/ får vi tillgång till kameran. Allt som återstår är att vidarebefordra porten på routern så kommer du åt kameran utanför det lokala nätverket.
Skapar timelapse-video
Först och främst måste vi få en bild från kameran. Därför att den är redan upptagen (bilden sänds av webbservern), då kommer vi att använda möjligheten att ta emot den aktuella bilden från webbservern:curl http://localhost:8080/?action=snapshot > out.jpg
Om vi vill rita datumet för fotot på bilden kan vi använda kommandot konvertera
timestamp=`stat -c %y out.jpg` convert out.jpg -fill svart -fill vit -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" out_.jpg
Full version manus:
#!/bin/bash filnamn=$(perl -e "utskriftstid") mappnamn=$(datum --rfc-3339=datum) curl http://localhost:8080/?action=snapshot > $filnamn timestamp=` stat -c %y $filnamn` mkdir /mnt/dav/out/$foldername konvertera $filnamn -fill svart -fill vit -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" /mnt /dav /ut/$mappnamn/$filnamn.jpg rm $filnamn
Videon sammanställs med kommandot avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Full version av videosammansättningsskriptet:
#!/bin/bash filnamn=$(datum --rfc-3339=datum) i=0 för f i `ls -tr /mnt/dav/out/$filnamn/*.jpg 2>/dev/null` do newf=`printf %06d $i`.jpg eko $f "-->" $newf mv $f $newf i=$((i+1)) klar rmdir -R /mnt/dav/out/$filnamn/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filnamn.avi rm *.jpg
Nu återstår bara att registrera körningen av skript i Cron-schemaläggaren:
* * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Exempel video
Slutsats
Detta tillvägagångssätt hjälper till att eliminera behovet av att spendera mycket tid på att titta på videor och minskar också kostnaden för slutprodukten. Tack vare närvaron av ett fullfjädrat OS blir det möjligt att utöka funktionaliteten i rätt riktning.Därför att Den här datorn har tillräcklig prestanda för att ta emot, lagra, bearbeta och överföra video från en kamera (till exempel från en USB-kamera) via wifi till andra enheter. Det finns specialkameror för Raspberry PI som ansluts till en speciell kontakt på den och USB-kameror som ansluts till valfri USB uttag på Raspberry PI. Därför att USB-kameror är som regel mycket billigare än speciella (om än värre), så härnäst kommer vi att överväga att använda en USB-kamera med Raspberry PI. Det finns ett antal program för att fånga video från en USB-kamera, eller så kan du skriva din egen, men för enkelhetens skull, låt oss först titta på att fånga och överföra video med hjälp av rörelseprogrammet. För att installera rörelseprogrammet på Raspberry PI måste du först ansluta till det via Putty-programmet (eller något annat terminalprogram med möjlighet att kommunicera via SSH) (för information om hur du gör detta, se föregående artikel "Raspberry PI 3 konfigurera och hantera GPIO via WIFI”). Efter att ha anslutit till Raspberry PI måste du uppdatera systemet med hjälp av kommandona
Sudo apt-get uppdatering
Sudo apt-get uppgradering
Efter en lyckad systemuppdatering måste du installera rörelseprogrammet med kommandot
Sudo apt-get installation motion
Under installationen kan du få frågan "Vill du fortsätta?" varefter du måste ange bokstaven "Y". Efter installation av rörelseprogrammet måste du göra några ändringar i konfigurationsfilerna. Öppna filen motion.conf i nanoredigeraren med kommandot
Sudo nano /etc/motion/motion.conf
Sedan
Ersatt av
Därefter hittar vi andra rader att ändra, för att göra detta, tryck på tangentkombinationen CTRL+W, skriv "stream_localhost" och tryck på enter, efter det ska den önskade raden hittas, om den inte hittas, sedan variabeln "stream_localhost" ” kallas något annat, till exempel “webcam_localhost” eller något liknande. Efter att raden med denna variabel har hittats måste du
Stream_localhost på
ersatt av
Stream_maxrate 1
Och ersätt med
Stream_maxrate 100
Ersatt av
Sedan
Minimum_frame_time 0
Ersatt av
Minimum_frame_time 1
Det senare görs så att bildrutor matas ut en gång per sekund - det här ser inte särskilt bra ut, men videon kommer inte att försvinna om bilden ändras plötsligt. Syftet med varje variabel kan läsas i kommentarerna.
Spara nu ändringarna genom att trycka CTRL+O och enter, tryck sedan CTRL+X och avsluta nano editor. Låt oss nu redigera en annan fil, för att göra detta anger vi kommandot
Sudo nano /etc/default/motion
Och byt ut linjen
Start_motion_daemon=nej
Start_motion_daemon=ja
Spara sedan ändringarna genom att trycka på CTRL+O och enter och tryck sedan på CTRL+X och avsluta nanoredigeraren. Nu kan du starta videoöverföring (USB-kameran måste vara ansluten till en av portarna) med kommandot
Sudo service motion start
Sluta med kommandot
Sudo service motion stop
För att se videon måste du öppna webbläsaren och ange IP-adressen för Raspberry PI i adressfältet, sätt sedan ett kolon och 8081 (IP-adress för Raspberry PI: 8081) och tryck på enter, varefter videon från USB-kameran ska visas i webbläsaren. Du kan se hur allt detta går till, se resultatet och något annat i videon:
Så här på ett enkelt sätt Du kan få video från en USB-kamera ansluten till Raspberry PI. Om det är en Raspberry PI 3 med inbyggt wifi och drivs av en powerbank (eller någon annan bärbar elkälla) (till exempel den här eller en billigare, även om det inte rekommenderas att använda en billig, Raspberry PI behöver en normal strömkälla för att använda alla dess möjligheter, det är också mycket lämpligt att installera en kylfläns för processorn och andra mikrokretsar som utvecklas under hallondrift, helst bör kylflänsen vara koppar och belagd med speciell svart färg), sedan baserat på alla detta kan du göra någon form av videoövervakningssystem, videokamera eller något liknande.