Odată cu lansarea modulului de cameră Raspberry Pi, luarea de imagini de înaltă calitate sau video cu Pi a devenit foarte simplă.
În acest tutorial, vă voi arăta cum să atașați modulul Pi cu camera dvs. Pi și să controlați wireless o platformă pentru tilt. În acest proces, voi aborda subiecte care includ atașarea modulului de cameră Pi, conectarea și controlul servo-urilor cu ajutorul comenzii dvs. Pi, controlul liniei de comandă a camerei și unele comenzi de streaming video la nivel scăzut.
Configurați și asamblați componentele de bază Pi cu următorii pași.
La pornire, Pi va trece prin prima configurare de boot a raspi-config. Există o mulțime de opțiuni privind partiția de card SD, regiune, tastatură etc., care nu sunt acoperite aici. Selectați opțiunile potrivite pentru setarea dvs. și plătiți o notă specială la următoarele opțiuni:
După ce Pi repornește pe un desktop, urmați aceste instrucțiuni despre cum să utilizați instrumentul GUI pentru a configura rețeaua Wi-Fi. Asigurați-vă că ați notat adresa IP pe care Pi este alocată pentru o utilizare ulterioară atunci când o utilizați SSH pentru telecomandă. În cele din urmă, urmați pașii de mai jos pentru a reconfigura configurația Pi pentru a porni la o consolă de text. Mediul grafic desktop nu va fi necesar.
sudo raspi-config
Suportul camerei vine cu niște dispozitive de fixare din plastic care se potrivesc prin cele patru găuri cu piulițe care se înșurubează de la spate. Consultați imaginile produsului de pe site-ul furnizorului pentru a vedea imagini apropiate despre modul în care se potrivesc aceste componente.
Suportul vine cu trei părți metalice și un set de șuruburi și șaibe. Urmați ghidul de asamblare pentru a pune suportul împreună. Voi oferi câteva sugestii pe care să le luați în considerare în timp ce urmați instrucțiunile.
Suportul nu se va ridica singur, deoarece este susținut numai de servo-ul mic. Este acceptabilă orice metodă de securizare a axei de fund sau a servomotorului. Lego poate fi folosit pentru a face o bază rapidă și ușoară. Luați timp pentru a construi o bază pentru servo-ul de jos care o va menține în siguranță și va permite ca brațul să se rotească liber.
Fixați servomotorul în bază înainte de a conecta suportul pentru cameră la bază. Acest lucru va face conectarea camerei la Pi mult mai ușor. Puteți vedea în imaginea de mai jos că am reușit să construiesc un suport simplu de bază utilizând un set de pereți Lego plat și pereți înalți din două cărămizi cu un spațiu lat. știft este termenul oficial pentru loviturile de pe o cărămidă Lego conform site-ului Lego. Vocabularul precis este important aici.
Procesul de conectare a modulului camerei este foarte simplu. Există un videoclip detaliat cu instrucțiuni de pe pagina oficială a Modului de Modul pentru Păstrăvi de Raspberry Pi. Voi rezuma pașii de aici:
Folosind șurubul 6-32, înșurubați orificiul de montare din suportul camerei în suport. Utilizați slotul mai mic din consola pentru a atașa camera foto în apropierea zonei frontale, mai degrabă decât a orificiului central mare. Am folosit modelul 6-32 deoarece, după multă încercare și eroare, am descoperit că nu aveam o combinație de piulițe / șuruburi suficient de mici și într-un ultim efort de a evita o excursie la magazinul de hardware am încercat niște șuruburi de șasiu PC pe care le aveam în jur . Sa intamplat perfect in partea superioara a suportului si nu a necesitat un bolt. Deci, fă ce lucrează pentru dvs..
Servo-urile au trei fire pentru conectarea la un controler. Cablurile roșu, negru și alb sunt destinate conectării la putere, sol și respectiv semnal. Pentru aceste instrucțiuni se va face referire la servo controlul inferior sau pan servo ca servo 0 și servo controlul superior sau înclinat ca servo 1. Această distincție este importantă și va deveni mai clară în secțiunea Servoblaster a tutorialului. Diagrama pinui pe elinux.org are un detaliu frumos pe pinii și scopurile lor. Imaginea de mai jos prezintă barele M / F colorate conectate la știfturile corecte pentru acest tutorial.
Pentru asamblare, conectați capătul mascul al jumperului la cablajul servo pentru fiecare dintre cele trei culori. Deoarece pachetul meu de jumper nu avea alb, am folosit galben. Utilizați o culoare consistentă în schema dvs. pentru a vă asigura că nu amestecați funcțiile.
Acum, când hardware-ul este asamblat și conectat, software-ul pentru controlul servo-ului este necesar. Site-ul cu servoblaster github are o bună documentație despre software dacă doriți să citiți mai mult.
În esență, instalarea servoblasterului adaugă un script init pentru a porni procesul de servoblaster la boot. Procesul de servoblaster creează o / Dev / servoblaster
intrare care, atunci când este adresată, controlează corect semnalul PWM care controlează poziția servomotorului. Din consola Pi sau din sesiunea SSH, executați comenzile de mai jos pentru a descărca și instala software-ul.
wget https://github.com/richardghirst/PiBits/zipball/master mv master pibits.zip unzip pibits.zip #unzip codul cd richardghirst-PiBits-ab34d81 / ServoBlaster / utilizator sudo face instalare #instalați software-ul #change timeout de la 2000 până la 500 /etc/init.d/servoblaster sudo pico /etc/init.d/servoblaster sudo reboot
După ce Pi a repornit procesul de servomlaster care rulează acum, puteți încerca câteva comenzi pentru a muta brațul în jurul acestuia. SSH în Pi și încercați comenzile de mai jos.
Următoarea comandă va muta servo-ul servo, servomotorul de pe tavă sau stânga / dreapta. Înlocuiți X cu o valoare cuprinsă între 60 și 240. Aceasta va deplasa servomotorul în jur. Încercați câteva valori diferite.
echo 0 = X> / dev / servoblaster
Următoarea comandă va deplasa servo-ul de înclinare sau în sus / în jos, servo 1. Înlocuiți Y cu o valoare cuprinsă între 60 și 240. Aceasta va mișca servomotorul în jur. Încercați câteva valori diferite.
echo 1 = Y> / dev / servoblaster
Fotografia cu Pi este foarte simplă. Încercați comanda de mai jos pentru a prinde o imagine în fișierul named output.jpg. Va trebui să scoateți fișierul de pe computerul dvs. Pi pentru a vedea acest lucru, dar veți obține imaginea.
raspistill -o output.jpg
Pentru a face un videoclip, comanda de bază este, de asemenea, destul de simplă. Următoarele creează un fișier video codat h264, care are o durată de 10000 milisecunde sau 10 secunde. Din nou, scp este obligat să copiați acest lucru de pe Pi și să îl vizualizați.
raspivid -o video.h264 -t 10000
Acum că aveți elementele de bază pentru deplasarea camerei prin intermediul consolei / servomotorului și a comenzilor pentru a face fotografii, este simplu să scrieți un script care va muta camera în unghiuri predefinite și va capta imagini sau imagini. Dacă configurați apache pe Pi, puteți pune aceste imagini sau videoclipuri în / Var / www /
pentru vizualizare ulterioară.
O sarcină cron ar putea fi, de asemenea, creată pentru a executa scenariul la intervale periodice. Aveți toate elementele de bază pentru un proiect de natură sau pentru animale de companie. Mai jos este un exemplu de script pe care l-am scris pentru a testa proiectul și un videoclip al sistemului în acțiune.
############################################################################################################################################# raspistill -o step2.jpg echo 0 = 130> / dev / servoblaster somn 1 raspistill -o step3.jpg echo 0 = 60> / dev / servoblaster somn 1 echo 1 = 60> / dev / servoblaster somn 1 raspistill -o step4. jpg echo 1 = 140> / dev / servoblaster somn 1 raspistill -o step5.jpg echo 1 = 220> / dev / servoblaster somn 1 raspistill -o step6.jpg echo 1 = 135> / dev / servoblaster somn 1 raspistill -o step7 .jpg
Videoclipul arată panoul / panta care răspunde la scriptul de mai sus:
Imaginile statice sunt distractive, dar în următorul experiment veți putea transmite în flux video de la aparatul de fotografiat la computerul dvs. din întreaga rețea. În funcție de viteza calității dvs. de WiFi pot varia. Am folosit un computer Linux ca receptor sau receptor video. Mplayer și Netcat există atât pentru Windows cât și pentru sistemul de operare OS X, însă unele sintaxe pot varia în funcție de sistemele de operare respective. Utilizați ifconfig, ipconfig sau ipconfig pentru a vă determina adresa IP pe Linux, Windows sau OS X respectiv. În acest exemplu, 192.168.1.100 este adresa laptop-ului țintă.
Comanda de mai jos va asculta pe computerul țintă videoclipul primit pe portul 5001 și va afișa:
nc -k -l 192.168.1.100 5001 | mplayer -fps 31-cache 1024 -
Comanda de mai jos va începe să înregistreze videoclipul pe Pi și să îl transmită către computerul afișat țintă:
raspivid -t 100000 -o - | nc 192.168.1.100 5001 &
& La sfârșitul comenzii de pe Pi scade instrucțiunea în fundal pentru a putea folosi terminalul deschis pentru a emite comenzi de mișcare. Încercați unele comenzi servo ca cele de mai jos și urmăriți modul în care video răspunde.
echo 0 = 60> / dev / servoblaster echo 1 = 60> / dev / servoblaster echo 1 = 140> / dev / servoblasterBacsis: Emiterea comenzilor către servomecanele care le provoacă pe ambele să funcționeze în același timp a provocat o instabilitate a rețelei pentru mine. Pentru rezultate mai bune, ar putea fi necesară o sursă externă de alimentare de 5V pentru a nu suprasolicita Pi.
Felicitări! Aveți acum o cameră wireless, pan / tilt pe care o puteți scana și hack pentru nevoile dvs. specifice. Ca o etapă următoare, ați putea încerca să o îmbunătățiți construind o carcasă full lego pentru Pi și pentru bracket împreună. Un alt exercițiu ar putea fi să configurați o lucrare cron pentru a fotografia în anumite momente și direcții și să o trimiteți prin e-mail către dvs..
Acest tutorial te-a învățat cum să atașați și să configurați modulul de cameră Pi, cum să conectați și să controlați mai multe servomecanisme, cum să controlați linia de comandă a aparatului foto pentru fotografii și clipuri video și, în sfârșit, cum să vă testați setările cu unele nivel comenzi de streaming video. Cu aceste instrumente de bază puteți adăuga acum o platformă versatilă pentru camerele dvs. viitoare.