Агуулгын хүснэгт:

Raspberry Pi 3 Live Feed бүхий хөдөлгөөн мэдрэгч камер: 6 алхам
Raspberry Pi 3 Live Feed бүхий хөдөлгөөн мэдрэгч камер: 6 алхам

Видео: Raspberry Pi 3 Live Feed бүхий хөдөлгөөн мэдрэгч камер: 6 алхам

Видео: Raspberry Pi 3 Live Feed бүхий хөдөлгөөн мэдрэгч камер: 6 алхам
Видео: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Арванхоёрдугаар сар
Anonim
Raspberry Pi 3 Хөдөлгөөн илрүүлэх камер
Raspberry Pi 3 Хөдөлгөөн илрүүлэх камер

Танилцуулга

Энэхүү төсөлд та камер барих, гэрийн тэжээвэр амьтан/хүүхдийн монитор, хамгаалалтын камер гэх мэт ашиглах боломжтой хөдөлгөөн мэдрэгч камерыг хэрхэн бүтээх талаар сурах болно.

Энэхүү төслийг хэд хэдэн үе шаттайгаар зохион байгуулдаг.

  • Танилцуулга
  • Pi -гээ тохируулж байна
  • Таны Pi руу SSHing хийх
  • Ачаалах үед таны IP хаягийг имэйлээр илгээх
  • Motion -ийг суулгах, тохируулах
  • Илрүүлэх тухай Motion -аас видеог имэйлээр илгээх
  • Алдааг олж засварлах, эх сурвалж

Танд хэрэгтэй зүйл:

  • Raspberry Pi 3 загвар b ~~ 35 доллар
  • 8gb Micro SD карт ~ ~ 10 доллар
  • USB вэб камер ~ ~ 20 доллар (энэ төсөл нь Logitech HD вэбкамер c270 ашигласан)
  • микро USB кабель ~ ~ 5 доллар
  • аль нь:
  • цэнэглэдэг 5 вольтын батерейны багц (утасны нөөц зай), энэ нь таны төслийг утасгүй болгодог ~ ~ 20 доллар
  • эсвэл
  • USB ханын адаптер ~ ~ 5 доллар
  • WiFi холболт

Тохируулахын тулд танд хандах шаардлагатай зүйл:

  • Монитор
  • Хулгана ба гар
  • SD картны үүртэй компьютер
  • Micro SD to SD карт хөрвүүлэгч (таны микро SD карттай хамт ирэх ёстой)

Алхам 1: Pi -ээ тохируулах

Pi -гээ тохируулж байна
Pi -гээ тохируулж байна

Одоо Pi -ээ тохируулъя

Эхлэхийн тулд сүүлийн алхамаас шаардлагатай бүх зүйл байгаа эсэхийг шалгаарай. Дараа нь Raspberry Pi вэбсайт дээрх Raspbian Jessie -ийг Microsd картан дээрээ суулгах алхмуудыг дагана уу.

Та Pi дээрээ Raspbian суулгасны дараа зарим үндсэн функцүүдийг тохируулах цаг болжээ.

WiFi

Pi -г бүрэн ашиглах хамгийн эхний алхам бол үүнийг интернетэд холбох явдал юм. Та Pi -ийн үндсэн дэлгэцийн баруун дээд буланд WiFi тэмдгийг олж, нэвтрэх эсвэл Raspbian -ийг суулгахын өмнө ижил алхам хийх замаар энэ алхамыг аль хэдийн дуусгасан байж магадгүй юм. Хэрэв та WiFi сүлжээнд Pi -ийн ширээний интерфейсээс нэвтэрч чадахгүй байгаа бол энд байгаа зааврыг дагаж тушаалын мөрөөр WiFi -г тохируулж болно.

SSH

Таны Pi -г ашиглахад ашиглах боломжтой нэг хэрэгсэл бол толгойгүй тохиргоо гэж нэрлэдэг Pi -д тушаал өгөх сонголт юм. Secure SHell буюу SSH ашигласнаар та Pi -гээ компьютерээс алсаас удирдах боломжтой. Энэ аргын тусламжтайгаар та Pi -ээ засварлахад шаардлагатай бүх зүйл бол үүнийг асаах тэжээлийн эх үүсвэр бөгөөд дэлгэц, гар байхгүй болно!

Алхам 2: Таны PI рүү SSHing оруулах

Таны PI руу SSHing оруулах
Таны PI руу SSHing оруулах
Таны PI руу SSHing оруулах
Таны PI руу SSHing оруулах

Raspberry Pi -д SSHing хийх нь маш хялбар бөгөөд маш ашигтай, учир нь энэ процесс нь WiFi холболтоос өөр ямар ч компьютерээс өөрийн Pi руу тушаал өгөх боломжийг олгодог.

Pi руу SSH оруулахын тулд та эдгээр 3 энгийн алхамыг дагаж мөрдөх хэрэгтэй.

Нэгдүгээрт, та Pi дээр SSH -ийг идэвхжүүлэх хэрэгтэй. Үүнийг хийхийн тулд Pi дээрээ командын цонх нээгээд дараах үгийг бичнэ үү.

sudo raspi-config

Энэ тушаал нь тохиргооны цэс рүү орох боломжийг танд олгоно. тэндээс та сум, таб, түлхүүрүүдийг ашиглан интерфэйсийн тохиргоонд орж, дараа нь SSH, камерыг идэвхжүүлж, дараа нь pi -ээс гараад дахин ачаална уу.

Дараа нь та Pi -ийн IP хаягийг олох хэрэгтэй болно. Командын терминал дээр бичнэ үү:

sudo ifconfig

Таны IP хаяг wlan0 хэсэгт Link encap: ethernet доор байх ёстой. Дээрх демо зураг дээр IP хаяг нь 192.168.1.10 байна.

Эцэст нь та Mac дээр суулгасан терминал програмыг нээх эсвэл Windows -д зориулсан гуравдагч талын ssh програмын зааврыг олж, дагаж мөрдөх шаардлагатай болно. Терминал аппликешнд дараахийг бичнэ үү.

ssh pi@ТАНЫ IP ХАЯГ

Хэрэв та Raspi-config-д байхдаа нууц үгээ өөрчилөөгүй бол таны асуух үед оруулах нууц үг нь анхдагч нууц үг байх болно: бөөрөлзгөнө.

Тэндээс та явахдаа сайн байх ёстой!

Алхам 3: Boot дээр IP хаягаа имэйлээр илгээх

Boot дээр IP хаягаа имэйлээр илгээнэ үү
Boot дээр IP хаягаа имэйлээр илгээнэ үү

Энэ алхам дээр бид таны сүлжээнд байгаа эсэхээс үл хамааран Raspberry Pi рүү хэрхэн нэвтрэх талаар анхаарлаа хандуулах болно. Сүлжээнээс хамааран Pi -ийн IP хаяг өөрчлөгддөг. Хэрэв танд монитор тохиргоо байхгүй бол та хөдөлгөөнийг илрүүлэх протоколыг идэвхжүүлэх, хөдөлгөөний тохиргоог өөрчлөх эсвэл төхөөрөмж дээрх бусад зүйлд хандахын тулд Pi руу ssh оруулах хэрэгтэй болно. Энэ асуудлыг шийдэхийн тулд бид Python скриптийг бичиж эхлэх үед Pi -ийн одоогийн IP хаягийг бидэнд илгээнэ. Питон скрипт нь дараах байдалтай байгаа бөгөөд "дэвсгэр" гэсэн тэмдэглэгээ бүхий санд хадгалагдаж байсан.

#гэрийн лавлахаас эхлүүлэх

cd ~

#дэвсгэр хавтас үүсгэх

mkdir дэвсгэр

#питон скрипт үүсгэх

sudo нано emailip.py

emailip.py дээр #бичих

импортын сокет

s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)

s.connect (("8.8.8.8", 80))

хэвлэх (s.getsockname () [0]) x = s.getsockname () [0] s.close ()

smtplib импортлох

имэйлээс. MIMEM Multipart импортлох MIMEMultipart

имэйлээс. MIMEText импортлох MIMEText

fromaddr = "ТАНЫ ХАЯГ"

toaddr = "ХАЯГ ХҮЛЭЭЖ БАЙНА"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "IP хаяг"

body = xmsg.attach (MIMEText (үндсэн, 'энгийн'))

сервер = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "ТАНЫ НУУЦ ҮГ")

текст = msg.as_string ()

server.sendmail (fromaddr, toaddr, текст)

server.quit ()

#Дараа нь үүнийг дахин ачаалах үед үүнийг хийдэг

sudo нано /etc/rc.local

#etc/rc.local -д ороорой

байхад! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';

унтах 3

хийсэн

_IP = $ (хостын нэр -I) || үнэн

хэрэв ["$ _IP"]; дараа нь

printf "Миний IP хаяг бол %s / n" "$ _IP"

python /home/pi/Background/emailip.py &

fi

гарах 0

#тэгээд та дууссан

Алхам 4: Хөдөлгөөнийг суулгах, тохируулах

Хөдөлгөөнийг суулгах, тохируулах
Хөдөлгөөнийг суулгах, тохируулах

#pi шинэчлэх

sudo apt-get update

sudo apt-get шинэчлэлт

#татаж авах

sudo apt-get суулгах хөдөлгөөн

#одоо энэ файлыг дараах өөрчлөлтүүдээр засаарай

sudo нано /etc/motion/motion.conf

#Энэ хичээлийн стандартыг тогтоохын тулд өөрчилнө үү

#################

демон асаалттай байна

stream_localhost унтраалттай байна

webcontrol_localhost унтраалттай байна

ffmpeg_output_movies асаалттай байна

target_dir/var/lib/хөдөлгөөн

##################

#орон нутгийн вэб хөтчийн дамжуулах сонголтууд

##################

stream_maxrate 100 #Энэ нь бодит цаг хугацаанд дамжуулах боломжтой боловч илүү их зурвасын өргөн, нөөц шаарддаг

framerate 60 #Энэ нь секундэд 60 кадр авах боломжийг олгоно #энэ нь өндөр байх тусам видео боловсруулалт удааширна

өргөн 640 #Энэ нь харуулсан зургийн өргөнийг өөрчилдөг

өндөр 480 #Энэ нь харуулсан зургийн өндрийг өөрчилдөг

##################

видео имэйлийн тохиргоог…/motion.conf

##################

Шугамын урд байгаа ";" -г устга, цэг таслал нь мөрийг тайлбарлана

on_event_start python /home/pi/background/motionalert.py %f

on_movie_end python /home/pi/background/motionvid.py %f

##################

#ид шид

##################

Файлд тайлбарласан #сонголтууд

output_pictures locate_motion_style

##################

#дараа нь өөрчил

sudo нано/etc/анхдагч/хөдөлгөөн

#хэлэх

start_motion_daemon = тийм

#сүүлд, B **** -г эхлүүлээрэй

sudo үйлчилгээний хөдөлгөөн эхлэх

#та тушаалыг "зогсоох" эсвэл "дахин эхлүүлэх" болгож өөрчилж болно.

Алхам 5: Илрүүлэх хөдөлгөөнөөс видеог имэйлээр илгээх

Илрүүлэх тухай хөдөлгөөнөөс видеог имэйлээр илгээх
Илрүүлэх тухай хөдөлгөөнөөс видеог имэйлээр илгээх

Хөдөлгөөн илрэх үед имэйл илгээх:

#гэртээ эхэл

dircd ~

#хөдөлгөөнт дохио өгөх питон скрипт үүсгэх

sudo нано/home/pi/background/motionalert.py

#бичих

smtplib импортлох

datetime -аас datetime импортлох

имэйлээс. MIMEM Multipart импортлох MIMEMultipart

имэйлээс. MIMEText импортлох MIMEText

fromaddr = "YOURADDRESS"

toaddr = "RECIEVINGADDRESS"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Хөдөлгөөнийг илрүүлсэн"

body = 'Хөдөлгөөн илэрсэн. / nХугацаа: % s' % str (datetime.now ())

msg.attach (MIMEText (үндсэн, 'энгийн'))

сервер = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "YOURPASSWORD")

текст = msg.as_string ()

server.sendmail (fromaddr, toaddr, текст)

server.quit ()

Имэйл Видео хадгалагдах үеийн хөдөлгөөний видео:

#эхлэх homedircd ~

#хөдөлгөөнт видео python скрипт үүсгэх nano /home/pi/background/motionvid.py

smtplib импортлох

имэйлээс. MIMEM Multipart импортлох MIMEMultipart

имэйлээс. MIMEText импортлох MIMEText

имэйлээс. MIMEBase импортлох MIMEBase

имэйлийн импортын кодлогчоос

fromaddr = "ТАНЫ ИМЭЙЛ"

toaddr = "ТАНД ИЛҮҮЛСЭН МЭЙЛ ХАЯГ"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Хөдөлгөөнт камер идэвхжсэн"

бие = "Хөдөлгөөний бичлэгийг илрүүлсэн"

msg.attach (MIMEText (үндсэн, 'энгийн'))

импортлох os

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f for f in filelist in os.path.isfile (f)]

хамгийн сүүлийн = хамгийн их (файлын жагсаалт, түлхүүр = lambda x: os.stat (x).st_mtime)

файлын нэр = хамгийн шинэ

импортлох os

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f for f in filelist in os.path.isfile (f)]

хамгийн сүүлийн = хамгийн их (файлын жагсаалт, түлхүүр = lambda x: os.stat (x).st_mtime)

хавсралт = нээлттэй (хамгийн сүүлийн, "rb")

хэсэг = MIMEBase ('програм', 'octet-stream')

part.set_payload ((хавсралт). унших ())

encoders.encode_base64 (хэсэг)

part.add_header ('Агуулга-Диспозиция', "хавсралт; файлын нэр = % s" % файлын нэр)

msg.attach (хэсэг)

сервер = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "ТАНЫ НУУЦ ҮГ")

текст = msg.as_string ()

server.sendmail (fromaddr, toaddr, текст)

server.quit ()

Алхам 6: Алдааг олж засварлах, эх сурвалж

Алдааг олж засварлах, эх сурвалж
Алдааг олж засварлах, эх сурвалж

Алдааг олж засварлах:

Энэхүү төсөл нь олон үе шаттай байдаг тул зарим зүйл буруу болж магадгүй юм. Доорх нь гарч болзошгүй алдаанууд, тэдгээрийг хэрхэн засах талаар доор харуулав.

  • Таны одоогийн IP хаягийг имэйлээр илгээхээр pi -ээ тохируулахдаа rc.local файлыг өмнө үзүүлсэн шиг засварлах нь маш чухал юм, учир нь энэ нь програмыг дахин ачаалсны дараа идэвхжихээс өмнө бага зэрэг хойшлуулах боломжийг олгодог. Үгүй бол pi нь wifi -д хараахан холбогдоогүй бөгөөд имэйл илгээхгүй болно.
  • Motion.conf файлыг засварлахдаа тодорхой параметрүүдийн урд байгаа цэг таслалыг устгахаа мартуузай. Цэг таслал нь өгөгдсөн үйлдлийг дардаг тул өөрөөр хэлбэл өөрчлөлт хүчин төгөлдөр болохгүй.
  • Motion.conf файл нь маш сайн зохион байгуулалттай, нарийвчилсан байдаг. Тохиргоог хүссэнээрээ өөрчилж болно, гэхдээ энэ нь хөдөлгөөн хийх системийн амжилтанд нөлөөлж болохыг ойлгоорой.
  • Имэйл дохио болон имэйлийн видео сонголтыг тохируулсны дараа хөдөлгөөнийг илрүүлсэн видеоны имэйл нь анхны анхааруулах имэйлээс илгээхээс арай илүү хугацаа шаардагдах болно гэдгийг анхаарах нь чухал юм. Учир нь видео нь хөдөлгөөнийг илрүүлээгүйгээс хэдхэн секундын дараа дуусдаг бөгөөд имэйлийн хавсралт нь хүлээн авахад хэдхэн минут шаардагдах хэмжээний хэмжээтэй байж болох юм. Зарим тохиолдолд, хэрэв хөдөлгөөн маш удаан хугацаанд үргэлжлэх юм бол илгээх нь хэтэрхий том байж магадгүй юм. Ийм учраас анхны сэрэмжлүүлгийн имэйлийг хүлээн авсны дараа шууд дамжуулалтыг шалгах нь зүйтэй юм.

Яагаад хөдөлгөөн гэж ?:

Энэхүү төслийг эхлүүлэхдээ бид янз бүрийн нөөцийг авч үзсэн. Эхлээд бид бөөрөлзгөнө pi -д зориулан бүтээсэн камерын хэсэг болох PiCam -ийг ашиглах талаар бодож үзсэн. PiCam бол үнэхээр чадвартай төхөөрөмж бөгөөд олон програмтай боловч зөвхөн тусгайлан зориулагдсан програмуудыг ашиглахад хязгаарлагдмал бөгөөд хямд олон зориулалттай вэбкамертай харьцуулахад харьцангуй өндөр үнэтэй байдаг. Тиймээс энэхүү төслийг өргөн хүрээний үзэгчдэд хүртээмжтэй болгохын тулд бид ердийн USB вэбкамер ашиглахаар шийдсэн. Дараагийн асуудал нь ямар програм хангамжийг нэгтгэх тухай байв. Бид эхлээд OpenCV -ийг авч үзсэн бөгөөд энэ нь янз бүрийн төрлийн компьютерийн хараа, дүрслэл хийх боломжтой үнэгүй програм хангамж юм. Энд тулгарч буй асуудлын нэг бол OpenCV бол маш их санах ой эзэлдэг, удаан хугацаанд тохируулагдсан асар том файл юм. Тохиргоо нь хэд хэдэн үе шаттай бөгөөд алдаа гаргахад илүү их зай үлдээдэг. Бидний тодорхой төслийн хувьд Motion -ийг тохируулах, ажиллуулахад илүү хялбар боловч гүйцэтгэлийн хувьд илүү бат бөх болохыг олж мэдсэн.

Эх сурвалж

Кодын эх сурвалж:

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

Фото зургийн кредит:

SSH эмгэн:

Шуудангийн лого:

Logitech вэбкамер:

SSH цонх:

Зөвлөмж болгож буй: