Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Panimula
Sa proyektong ito, matututunan mo kung paano bumuo ng isang camera ng pagkakita ng paggalaw na magagamit mo bilang isang bitag ng kamera, isang monitor ng alagang hayop / sanggol, isang security camera, at marami pa.
Ang Proyekto na ito ay inayos sa maraming mga hakbang:
- Panimula
- Pagse-set up ng iyong Pi
- SSHing sa iyong Pi
- Pag-email sa iyong IP address nang boot
- Pag-install at pag-set up ng Paggalaw
- Pag-email sa Mga Video mula sa Paggalaw sa pagtuklas
- Pag-troubleshoot at Mga Pinagmulan
Ano ang kakailanganin mo:
- Isang modelo ng Raspberry Pi 3 b ~~ $ 35
- 8gb Micro SD card ~~ $ 10
- USB Webcam ~~ $ 20 (ang proyektong ito ay gumamit ng isang Logitech HD Webcam c270)
- micro usb cable ~~ $ 5
- alinman sa:
- rechargeable 5 volt baterya pack (telepono backup baterya), ito ay gumagawa ng iyong proyekto wireless ~~ $ 20
- o
- usb wall adapter ~~ $ 5
- Isang koneksyon sa WiFi
Ano ang kailangan mo ng pag-access para sa pag-set up:
- Isang monitor
- Isang mouse at keyboard
- Isang computer na may puwang ng SD card
- Isang Micro SD to SD card converter (dapat kasama ang iyong micro SD card)
Hakbang 1: Pag-set up ng Iyong Pi
Ngayon ay i-set up natin ang iyong Pi
Upang magsimula, tiyaking mayroon ka ng lahat ng mga kinakailangang item mula sa huling hakbang. Pagkatapos, sundin ang mga hakbang sa website ng Raspberry Pi sa pag-install ng Raspbian Jessie sa iyong kard ng Mikros, na matatagpuan dito.
Kapag na-install mo na ang Raspbian sa iyong Pi, oras na upang makakuha ng ilang mga pangunahing tampok na na-set up.
WiFi
Ang unang hakbang upang masulit ang iyong Pi ay upang ikonekta ang iyong ito sa internet. Maaaring nakumpleto mo na ang hakbang na ito alinman sa pamamagitan ng paghanap ng simbolo ng WiFi sa kanang sulok sa itaas ng pangunahing screen ng iyong Pi at pag-sign in doon, o paggawa ng parehong bagay bago i-install ang Raspbian sa huling hakbang. Kung hindi ka makapag-sign in sa iyong WiFi network mula sa interface ng iyong Pi, maaari mong sundin ang mga tagubilin dito upang i-set up ang WiFi sa pamamagitan ng linya ng utos.
SSH
Ang isang napaka madaling gamiting tool na magagamit sa iyo kapag ginagamit ang iyong Pi ay ang pagpipilian upang mag-isyu ng mga utos sa iyong Pi sa kung ano ang kilala bilang isang walang ulong pag-setup. Sa pamamagitan ng paggamit ng isang Secure SHell, o SSH, maaari mong makontrol ang iyong Pi mula sa malayo mula sa isang computer. Sa pamamaraang ito, ang kailangan mo lamang i-edit ang iyong Pi ay isang mapagkukunan ng kuryente upang mapanatili ito, wala nang monitor at keyboard!
Hakbang 2: SSHing Sa Iyong PI
Ang SSHing sa iyong Raspberry Pi ay madali at kapaki-pakinabang, dahil pinapayagan ka ng proseso na mag-isyu ng mga utos sa iyong Pi mula sa anumang computer na walang higit sa isang koneksyon sa WiFi.
Upang SSH sa iyong Pi, kailangan mong sundin ang 3 simpleng mga hakbang na ito.
Una, kailangan mong paganahin ang SSH sa iyong Pi. Upang magawa ito, buksan ang isang window ng utos sa iyong Pi, at i-type ang:
sudo raspi-config
Pinapayagan ka ng utos na ito na magpasok ng isang menu ng pagsasaayos. mula doon gugustuhin mong gamitin ang arrow, tab, at ipasok ang mga key upang unang pumunta sa mga pagpipilian sa interfacing, pagkatapos ay upang paganahin ang SSH, pati na rin ang camera, pagkatapos ay lumabas at i-reboot ang pi.
Susunod, kakailanganin mong hanapin ang IP address ng iyong Pi. Sa isang terminal ng utos, uri:
sudo ifconfig
At ang iyong IP address ay dapat na nasa seksyon ng wlan0 na pop up, sa ilalim mismo ng Link encap: ethernet. Sa larawan ng demo sa itaas, ang IP Address ay 192.168.1.10.
Panghuli, kakailanganin mong buksan ang built in na terminal app sa isang mac, o hanapin at sundin ang mga tagubilin para sa isang 3rd party ssh app para sa mga bintana. Sa Terminal app, uri:
ssh pi @ IYONG IP ADDRESS
Kung hindi mo binago ang password habang nasa Raspi-config, pagkatapos ang iyong password na ipasok kapag na-prompt ay ang default na password: raspberry.
Mula doon, dapat ay mabuti kang pumunta!
Hakbang 3: I-email ang Iyong IP Address sa Boot
Sa hakbang na ito magtutuon kami sa kung paano i-access ang iyong Raspberry Pi, hindi alintana ang network kung nasaan ka. Depende sa network, nagbabago ang IP address ng Pi. At kung wala kang isang pag-setup ng monitor, kakailanganin mong mag-ssh sa Pi upang ma-trigger ang proteksyon ng paggalaw ng galaw, baguhin ang mga kagustuhan sa paggalaw, o mag-access ng anupaman sa aparato. Upang malutas ang problemang ito magsusulat kami ng isang script ng sawa na nag-email sa amin sa kasalukuyang IP address ng Pi sa pagsisimula. Ang script ng sawa ay ang mga sumusunod at naimbak sa isang direktoryo na minarkahan ng "background".
#start sa direktoryo ng bahay
cd ~
# Lumikha ng folder sa background
mkdir background
# Lumikha ng script ng sawa
sudo nano emailip.py
#sulat sa emailip.py
mag-import ng socket
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
print (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
import smtplib
mula sa email. MIMEMultipart import MIMEMultipart
mula sa email. MIMEText import MIMEText
fromaddr = "IYONG ADDRESS"
toaddr = "TUMANGGAP NG ADDRESS"
msg = MIMEMultipart ()
msg ['Mula'] = mula sadrad
msg ['To'] = toaddr
msg ['Paksa'] = "IP Address"
body = xmsg.attach (MIMEText (katawan, 'payak'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "IYONG PASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
#tapos ginagawa ito sa pag-reboot
sudo nano /etc/rc.local
#enter sa /etc/rc.local
habang! / sbin / ifconfig wlan0 | grep -q 'inet addr: [0-9]';
matulog ka 3
tapos na
_IP = $ (hostname -ako) || totoo
kung ["$ _IP"]; tapos
printf "Ang aking IP address ay% s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
exit 0
#at tapos ka na
Hakbang 4: Pag-install at Pag-set up ng Paggalaw
#update pi
sudo apt-get update
sudo apt-get upgrade
#download
sudo apt-get install na paggalaw
#ngayon i-edit ang file na ito sa mga sumusunod na pagbabago
sudo nano /etc/motion/motion.conf
#to magtakda ng pamantayan para sa tutorial na ito, baguhin
#################
daemon sa
naka-off ang stream_localhost
naka-off ang webcontrol_localhost
ffmpeg_output_movies sa
target_dir / var / lib / paggalaw
##################
#local na pagpipilian sa streaming ng web browser
##################
stream_maxrate 100 # Papayagan nito ang real-time streaming ngunit nangangailangan ng higit pang bandwidth at mga mapagkukunan
framerate 60 # Papayagan nito ang 60 mga frame na makuha bawat segundo # mas mataas ang nakukuha nito, mas mabagal ang pagproseso ng video
lapad 640 # Binabago nito ang lapad ng ipinakitang imahe
taas 480 # Binabago nito ang taas ng ipinakitang imahe
##################
#emailing ang mga setting ng video sa… / motion.conf
##################
#delete ang ";" sa harap ng linya, nagkomento ang semicolon ng linya
on_event_start python /home/pi/background/motionalert.py% f
on_movie_end python /home/pi/background/motionvid.py% f
##################
#astectics
##################
#choices na inilarawan sa file
output_pictures locate_motion_style
##################
#tapos magbago
sudo nano / etc / default / paggalaw
#ng sabihin
start_motion_daemon = oo
# huli, simulan ang B **** up
sudo magsimula ang paggalaw ng serbisyo
#pwede mong baguhin ang utos na "ihinto", o "muling simulan"
Hakbang 5: Pag-email sa Mga Video Mula sa Paggalaw sa Pagtuklas
Email kapag nakita ang paggalaw:
#start at home
dircd ~
# Lumikha ng script ng alerto sa paggalaw ng paggalaw
sudo nano /home/pi/background/motionalert.py
#sulat
import smtplib
mula sa datime import datime
mula sa email. MIMEMultipart import MIMEMultipart
mula sa email. MIMEText import MIMEText
fromaddr = "IYONG KADADALA"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['Mula'] = mula sadrad
msg ['To'] = toaddr
msg ['Paksa'] = "Nakita ang Paggalaw"
body = 'May kilos na napansin. / nTime:% s'% str (datetime.now ())
msg.attach (MIMEText (katawan, 'payak'))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "HISPASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Email Video ng paggalaw kapag nai-save ang video:
#start at homedircd ~
# Lumikha ng galaw ng video python scriptsudo nano /home/pi/background/motionvid.py
import smtplib
mula sa email. MIMEMultipart import MIMEMultipart
mula sa email. MIMEText import MIMEText
mula sa email. MIMEBase import MIMEBase
mula sa mga encoder ng pag-import ng email
fromaddr = "IYONG EMAIL"
toaddr = "Email ADDRESS NA IYONG PINADALA"
msg = MIMEMultipart ()
msg ['Mula'] = mula sadrad
msg ['To'] = toaddr
msg ['Paksa'] = "Na-aktibo ang Motion Cam"
body = "Nakita ang Video ng Paggalaw"
msg.attach (MIMEText (katawan, 'payak'))
import os
rootpath = '/ var / lib / paggalaw'
filelist = [os.path.join (rootpath, f) para sa f in os.listdir (rootpath)]
filelist = [f para sa f sa filelist kung os.path.isfile (f)]
pinakabagong = max (filelist, key = lambda x: os.stat (x).st_mtime)
filename = pinakabago
import os
rootpath = '/ var / lib / paggalaw'
filelist = [os.path.join (rootpath, f) para sa f in os.listdir (rootpath)]
filelist = [f para sa f sa filelist kung os.path.isfile (f)]
pinakabagong = max (filelist, key = lambda x: os.stat (x).st_mtime)
kalakip = bukas (pinakabago, "rb")
bahagi = MIMEBase ('application', 'octet-stream')
part.set_payload ((kalakip).read ())
encoders.encode_base64 (bahagi)
part.add_header ('Nilalaman-Disposisyon', "kalakip; filename =% s"% filename)
msg.attach (bahagi)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "IYONG PASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Hakbang 6: Pag-troubleshoot at Mga Pinagmulan
Pag-troubleshoot:
Dahil ang proyektong ito ay may maraming mga yugto, maraming mga punto kung saan maaaring magkamali ang mga bagay. Nasa ibaba ang ilan sa mga posibleng error na maaaring mangyari at kung paano ayusin ang mga ito.
- Kapag ang pag-set up ng iyong pi upang ma-email sa iyo ang kasalukuyang IP address, mahalaga na i-edit ang rc.local file tulad ng ipinakita nang mas maaga dahil pinapayagan nito ang isang kaunting pagkaantala bago mag-aktibo ang programa pagkatapos ng pag-reboot. Kung hindi man ay hindi pa konektado ang pi sa wifi, at hindi ipapadala ang email.
- Kapag ang pag-edit ng file ng motion.conf siguraduhing tanggalin ang mga semicolon sa harap ng ilang mga parameter. Pinipigilan ng semicolon ang isang naibigay na pagkilos, kung hindi man ay hindi magkakabisa ang pagbabago.
- Ang file ng motion.conf ay napakahusay na ayos at detalyado. Huwag mag-atubiling baguhin ang mga setting ayon sa gusto mo, ngunit maunawaan na maaari nilang maapektuhan ang tagumpay ng sistema ng paggalaw ng paggalaw.
- Matapos i-set up ang mga pagpipilian sa alerto sa email at email video, mahalagang tandaan na ang email ng kilos na napansin na video ay tatagal nang medyo mas matagal kaysa magpadala kaysa sa paunang email ng alerto. Ito ay dahil sa natapos ang video ng ilang segundo matapos ang paggalaw ay hindi na nakita, at dahil ang kalakip ng email ay maaaring sapat na malaki upang mangailangan ng ilang minuto upang matanggap. Sa ilang mga kaso, kung ang paggalaw ay napapanatili para sa isang napakahabang halaga ng oras maaari itong masyadong malaki upang maipadala ang lahat. Dahil dito palaging isang magandang ideya na suriin ang livestream pagkatapos matanggap ang paunang email ng alerto.
Bakit ang Paggalaw ?:
Nang unang pasimula sa proyektong ito ay isinasaalang-alang namin ang maraming iba't ibang mga mapagkukunan. Una naming isinasaalang-alang ang paggamit ng PiCam na isang unit ng camera na partikular na binuo para sa raspberry pi. Ang PiCam ay tiyak na isang may kakayahang aparato at maraming mga application, ngunit limitado ito sa paggamit ng mga programa na partikular na idinisenyo para dito at medyo mahal kumpara sa murang multipurpose na mga webcam. Kaya upang ma-access ang proyektong ito para sa isang mas malaking madla, nagpasya kaming gumamit ng isang karaniwang USB webcam. Ang susunod na isyu ay aling software ang isasama. Una naming isinasaalang-alang ang OpenCV na isang libreng software na nagbibigay-daan para sa maraming iba't ibang mga uri ng Computer Vision at mga proyekto sa imaging. Sa mga isyu dito ay ang OpenCV ay isang napakalaking file na tumatagal ng maraming memorya at isang mahabang oras na na-set up. Ang pag-setup ay mayroon ding maraming yugto, na iniiwan ang mas maraming lugar para sa error. Nalaman namin na para sa aming tukoy na proyekto, ang Motion ay mas simple upang mai-set up at magtrabaho, ngunit mas matatag sa pagpapatupad nito.
Pinagmulan
Mga Pinagmulan ng Code:
www.techradar.com/how-to/computing/how-to-b…
pimylifeup.com/raspberry-pi-webcam-server/
www.pyimagesearch.com/2015/06/01/home-surve…
naelshiab.com/tutorial-send-email-python/
www.raspberrypi.org/documentation/linux/us…
learn.adafruit.com/adafruits-raspberry-pi-…
learn.adafruit.com/adafruits-raspberry-pi-…
pinout.xyz/pinout/i2c
Mga kredito sa larawan:
SSH Snail:
Logo ng mail:
Logitech webcam:
SSH window: