![Raspberry Pi 3 қозғалысты анықтайтын камера: тікелей эфирде: 6 қадам Raspberry Pi 3 қозғалысты анықтайтын камера: тікелей эфирде: 6 қадам](https://i.howwhatproduce.com/images/003/image-7875-44-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
![Raspberry Pi 3 қозғалысты анықтайтын камера Raspberry Pi 3 қозғалысты анықтайтын камера](https://i.howwhatproduce.com/images/003/image-7875-45-j.webp)
Кіріспе
Бұл жобада сіз камераны ұстау, үй жануарларына/нәресте мониторы, қауіпсіздік камерасы және тағы басқалар ретінде қолдануға болатын қозғалысты анықтау камерасын жасауды үйренесіз.
Бұл жоба бірнеше кезеңнен тұрады:
- Кіріспе
- Pi параметрін орнату
- Pi -ге SSHing енгізіңіз
- Жүктеу кезінде сіздің IP мекенжайыңызға электрондық пошта жіберу
- Motion орнату және орнату
- Анықтау кезінде Motion -дан бейнелерді электрондық поштаға жіберу
- Ақаулықтарды жою және дереккөздер
Сізге не қажет:
- Raspberry Pi 3 моделі ~ $ 35
- 8 Гб Micro SD картасы ~ ~ 10 доллар
- USB веб -камерасы ~ ~ $ 20 (бұл жобада Logitech HD веб -камерасы c270 қолданылған)
- шағын USB кабелі ~ ~ 5 доллар
- не:
- қайта зарядталатын 5 вольтты аккумуляторлық батарея (телефонның резервтік батареясы), бұл сіздің жобаңызды сымсыз ~ ~ 20 долларға айналдырады
- немесе
- USB қабырға адаптері ~ ~ 5 доллар
- WiFi байланысы
Орнату үшін сізге не қажет:
- Монитор
- Тінтуір мен пернетақта
- SD картасының ұясы бар компьютер
- Micro SD to SD картасын түрлендіргіші (micro SD картаңызбен бірге болуы керек)
1 -қадам: Pi -ді орнату
![Pi параметрін орнату Pi параметрін орнату](https://i.howwhatproduce.com/images/003/image-7875-46-j.webp)
Енді Pi -ді орнатамыз
Бастау үшін соңғы қадамнан бастап барлық қажетті элементтер бар екеніне көз жеткізіңіз. Содан кейін Raspberry Pi веб -сайтында Raspbian Jessie -ді Microsd картасына орнату бойынша қадамдарды орындаңыз.
Pi -ге Raspbian орнатылғаннан кейін, кейбір негізгі мүмкіндіктерді орнату уақыты келді.
Сымсыз дәлдiк
Pi мүмкіндігін барынша тиімді пайдаланудың бірінші қадамы - оны интернетке қосу. Сіз бұл қадамды Pi экранының жоғарғы оң жақ бұрышындағы WiFi белгісін тауып, оған кіру арқылы немесе соңғы қадамда Raspbian орнатпас бұрын дәл солай жасау арқылы аяқтаған боларсыз. Егер сіз Wi -Fi желісіне Pi жұмыс үстелінің интерфейсінен кіре алмасаңыз, пәрмен жолы арқылы WiFi -ді орнату үшін мына нұсқауларды орындауға болады.
SSH
Pi -ді пайдалану кезінде сізге қол жетімді құралдардың бірі - бұл бассыз қондырғы деп аталатын Pi -ге командалар беру мүмкіндігі. Secure SHell немесе SSH көмегімен сіз Pi -ді компьютерден қашықтан басқара аласыз. Бұл әдіспен сізге Pi -ді өңдеу үшін қажет нәрсе - оны ұстап тұру үшін қуат көзі, енді монитор мен пернетақта жоқ!
2 -қадам: Сіздің PI -ге SSHing
![Сіздің PI -ге SSHing Сіздің PI -ге SSHing](https://i.howwhatproduce.com/images/003/image-7875-47-j.webp)
![Сіздің PI -ге SSHing Сіздің PI -ге SSHing](https://i.howwhatproduce.com/images/003/image-7875-48-j.webp)
Raspberry Pi -ге SSHing енгізу оңай және өте пайдалы, себебі бұл процесс Wi -Fi қосылымынан басқа ешбір компьютерден 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 -қадам: жүктеу кезінде IP мекенжайын электрондық поштаға жіберіңіз
![Жүктеу кезінде IP мекенжайын электрондық поштаға жіберіңіз Жүктеу кезінде IP мекенжайын электрондық поштаға жіберіңіз](https://i.howwhatproduce.com/images/003/image-7875-49-j.webp)
Бұл қадамда сіз желіде болсаңыз да, сіздің Raspberry Pi -ге қалай қол жеткізуге болатынын қарастырамыз. Желіге байланысты Pi -дің IP -адресі өзгереді. Егер сізде монитор орнатылмаса, қозғалысты анықтау хаттамасын іске қосу, қозғалыс параметрлерін өзгерту немесе құрылғыдағы басқа нәрсеге қол жеткізу үшін Pi ішіне ssh енгізу қажет. Бұл мәселені шешу үшін біз питон сценарийін жазамыз, ол іске қосылған кезде бізге IP -дің ағымдағы IP -адресін жібереді. Питон сценарийі келесідей және «фон» деп белгіленген каталогта сақталған.
#үй каталогында бастаңыз
cd ~
#фондық қалта жасаңыз
mkdir фон
#python сценарийін жасаңыз
sudo nano 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 импорттау
MIMEMultipart импорттау MIMEMultipart
MIMEText импорттау MIMEText
fromaddr = «Сіздің мекен -жайыңыз»
toaddr = «ҚАБЫЛ АЛУ»
msg = MIMEMultipart ()
msg ['Кімнен'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = «IP мекенжайы»
дене = xmsg.attach (MIMEText (негізгі, 'қарапайым'))
сервер = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, «СІЗДІҢ ПАРОЛЫҢЫЗ»)
мәтін = msg.as_string ()
server.sendmail (fromaddr, toaddr, мәтін)
server.quit ()
#содан кейін бұл қайта жүктеу кезінде жасайды
sudo nano /etc/rc.local
#etc /rc.local ішіне кіріңіз
кезінде! /sbin/ifconfig wlan0 | grep -q 'адрес: [0-9]';
ұйықтаңыз 3
жасалды
_IP = $ (хост атауы -I) || рас
егер [«$ _IP»]; онда
printf «Менің IP мекенжайым - %s / n» «$ _IP»
python /home/pi/Background/emailip.py &
fi
шығу 0
#ал сен аяқтадың
4 -қадам: Қозғалысты орнату және орнату
![Қозғалысты орнату және реттеу Қозғалысты орнату және реттеу](https://i.howwhatproduce.com/images/003/image-7875-50-j.webp)
#pi жаңарту
sudo apt-get жаңартуы
sudo apt-get жаңарту
#жүктеу
sudo apt-get install motion
#енді бұл файлды келесі өзгерістермен өңдеңіз
sudo nano /etc/motion/motion.conf
#осы оқулыққа стандарт қою үшін, өзгертіңіз
#################
демон қосылды
stream_localhost өшірулі
webcontrol_localhost өшірулі
ffmpeg_output_movies қосулы
target_dir/var/lib/motion
##################
#жергілікті веб -шолғыштың ағындық опциялары
##################
stream_maxrate 100 #Бұл нақты уақыттағы ағынға мүмкіндік береді, бірақ өткізу қабілеті мен ресурстарды қажет етеді
кадр жиілігі 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
##################
#эстетика
##################
#файлда сипатталған таңдау
шығару_суреттері locate_motion_style
##################
#содан кейін өзгертіңіз
sudo nano/etc/default/motion
#айту
start_motion_daemon = иә
#соңғы, B **** жоғарыдан бастаңыз
sudo қызметінің қозғалысын бастау
#пәрменді «тоқтату» немесе «қайта бастау» етіп өзгертуге болады
5 -қадам: Анықтау бойынша қозғалыстан бейнелерді электрондық поштаға жіберу
![Қозғалыстан бейнелерді электронды түрде жіберу Қозғалыстан бейнелерді электронды түрде жіберу](https://i.howwhatproduce.com/images/003/image-7875-51-j.webp)
Қозғалыс анықталған кезде электрондық пошта:
#үйде бастаңыз
dircd ~
#қозғалыс туралы ескерту python сценарийін жасаңыз
sudo nano /home/pi/background/motionalert.py
#жазу
smtplib импорттау
datetime импорттау datetime
MIMEMultipart импорттау MIMEMultipart
MIMEText импорт MIMEText
fromaddr = «YOURADDRESS»
toaddr = «RECIEVINGADDRESS»
msg = MIMEMultipart ()
msg ['Кімнен'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = «Қозғалыс анықталды»
дене = 'Қозғалыс анықталды. / 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 импорттау
MIMEMultipart импорттау MIMEMultipart
MIMEText импорттау MIMEText
email. MIMEBase импорттау MIMEBase
электрондық поштаны импорттау кодерлерінен
fromaddr = «ПОШТАҢЫЗ»
toaddr = «Сіз жіберетін электрондық пошта мекенжайы»
msg = MIMEMultipart ()
msg ['Кімнен'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = «Қозғалыс камерасы қосылды»
дене = «Қозғалыс бейнесі анықталды»
msg.attach (MIMEText (негізгі, 'қарапайым'))
импорттау os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) f үшін os.listdir (rootpath)]
filelist = [f үшін f үшін тізімдегі f, егер os.path.isfile (f)]
newest = max (filelist, key = lambda x: os.stat (x).st_mtime)
файл атауы = ең жаңа
импорттау os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) f үшін os.listdir (rootpath)]
filelist = [f үшін f үшін тізімдегі f, егер os.path.isfile (f)]
ең жаңа = max (файл тізімі, key = lambda x: os.stat (x).st_mtime)
тіркеме = ашық (ең жаңа, «rb»)
бөлік = MIMEBase ('қосымша', 'октет-ағын')
part.set_payload ((тіркеме).оқу ())
encoders.encode_base64 (бөлігі)
part.add_header ('Content-Disposition', «тіркеме; файл атауы = % s» % файл атауы)
msg.attach (бөлік)
сервер = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, «СІЗДІҢ ПАРОЛЫҢЫЗ»)
мәтін = msg.as_string ()
server.sendmail (fromaddr, toaddr, мәтін)
server.quit ()
6 -қадам: Ақаулықтарды жою және көздер
![Ақаулықтарды жою және дереккөздер Ақаулықтарды жою және дереккөздер](https://i.howwhatproduce.com/images/003/image-7875-52-j.webp)
Ақаулық себебін іздеу және түзету:
Бұл жоба бірнеше кезеңнен тұратындықтан, қате кетуі мүмкін бірнеше нүктелер бар. Төменде мүмкін болатын қателіктер мен оларды қалай түзетуге болатыны көрсетілген.
- Сізге ағымдағы IP мекенжайын электрондық пошта арқылы жіберу үшін pi орнатқанда, rc.local файлын бұрын көрсетілгендей өңдеу өте маңызды, себебі бұл бағдарлама қайта жүктелгеннен кейін бағдарламаның іске қосылуынан сәл кешігуге мүмкіндік береді. Әйтпесе, pi әлі Wi -Fi желісіне қосылмайды және электрондық пошта жіберілмейді.
- Motion.conf файлын өңдеу кезінде белгілі бір параметрлердің алдынан нүктелі үтірді өшіруді ұмытпаңыз. Нүктелі үтір берілген әрекетті басады, сондықтан өзгеріс күшіне енбейді.
- Motion.conf файлы өте жақсы ұйымдастырылған және егжей -тегжейлі. Параметрлерді өз қалауыңыз бойынша өзгерте аласыз, бірақ олар қозғалысты түсіру жүйесінің табысына әсер етуі мүмкін екенін түсініңіз.
- Электрондық пошта ескертуі мен электрондық поштаның бейне опцияларын орнатқаннан кейін, қозғалыс анықталған бейненің электрондық поштасы бастапқы ескерту электрондық поштасына қарағанда жіберуге қарағанда біраз уақытқа созылатынын ескеру қажет. Бұл бейне қозғалыс анықталмаған соң бірнеше секундтан кейін аяқталады және электрондық пошта тіркемесі бірнеше минутты алатындай үлкен болуы мүмкін. Кейбір жағдайларда, егер қозғалыс өте ұзақ уақытқа созылса, оны жіберу тым үлкен болуы мүмкін. Осыған байланысты, алғашқы электрондық поштаны алғаннан кейін тікелей эфирді тексерген дұрыс.
Неліктен қозғалыс?:
Бұл жобаны алғаш бастаған кезде біз әр түрлі ресурстарды қарастырдық. Алдымен біз таңқурайға арналған арнайы PiCam камерасын қолдануды қарастырдық. PiCam, әрине, қабілетті құрылғы және көптеген қосымшалары бар, бірақ ол арнайы жасалған бағдарламаларды қолданумен шектелген және арзан көп мақсатты веб -камералармен салыстырғанда салыстырмалы түрде қымбат. Бұл жобаны үлкен аудиторияға қолжетімді ету үшін біз қарапайым USB веб -камерасын қолдануды шештік. Келесі мәселе - қандай бағдарламалық қамтамасыз етуді қосу керек болды. Біз алдымен OpenCV -ді қарастырдық, ол ақысыз бағдарламалық қамтамасыз ету болып табылады, ол әр түрлі Computer Vision және бейнелеу жобаларына мүмкіндік береді. Мәселелердің бірі - 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 терезесі:
Ұсынылған:
Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам
![Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам](https://i.howwhatproduce.com/images/001/image-1452-22-j.webp)
Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшырушы: Кевин Нитиема, Эстебан Поведа, Энтони Маттакчиона, Рафаэль Кей
ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: 5 қадам
![ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: 5 қадам ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: 5 қадам](https://i.howwhatproduce.com/images/005/image-14013-j.webp)
ESP32-CAM тақтасының көмегімен бетті анықтайтын IP камера: Бұл хабарлама басқалардан ерекшеленеді және біз таңқаларлықтай арзан (9 доллардан төмен) және қолдануға ыңғайлы ESP32-CAM тақтасын қарастырамыз. Біз қарапайым IP -камераны жасаймыз, оны 2 -де тірі бейне ағыны үшін қолдануға болады
Тікелей эфирде ойынды қалай бастау керек: 9 қадам
![Тікелей эфирде ойынды қалай бастау керек: 9 қадам Тікелей эфирде ойынды қалай бастау керек: 9 қадам](https://i.howwhatproduce.com/images/005/image-14816-j.webp)
Ойынның тікелей трансляциясын қалай бастау керек: Бұл нұсқаулық сізге трансляцияны Open Broadcaster бағдарламалық жасақтамасы арқылы қалай орнату керектігін көрсетеді немесе OBST көмегімен тікелей трансляцияны OBS көмегімен бастау үшін сізге келесі нәрселер қажет болады: сіздің ойынды басқара алатын компьютер. және ағынды бағдарламалық қамтамасыз ету
Arduino Security 3G/GPRS электрондық поштамен қозғалысты анықтайтын камера: 4 қадам
![Arduino Security 3G/GPRS электрондық поштамен қозғалысты анықтайтын камера: 4 қадам Arduino Security 3G/GPRS электрондық поштамен қозғалысты анықтайтын камера: 4 қадам](https://i.howwhatproduce.com/images/010/image-28563-j.webp)
Arduino Security 3G/GPRS қозғалыс анықтайтын электрондық пошта камерасы: Бұл нұсқаулықта мен қозғалыс детекторы бар қауіпсіздікті бақылау жүйесін құрудың және 3G/GPRS қалқаны арқылы пошта жәшігіне фотосуреттерді жіберудің бір нұсқасы туралы айтқым келеді. басқа нұсқаулар: нұсқаулық 1 және нұсқаулық
Қозғалысты басқаратын розетка - қозғалысты сезетін жарықтан: 6 қадам
![Қозғалысты басқаратын розетка - қозғалысты сезетін жарықтан: 6 қадам Қозғалысты басқаратын розетка - қозғалысты сезетін жарықтан: 6 қадам](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11125349-motion-controlled-outlet-from-a-motion-sensing-light-6-steps-j.webp)
Қозғалысты басқаратын розетка - Қозғалысты сезетін жарықтан: Сіз блоктағы ең қорқынышты үйге баратын алаяқ екеніңізді елестетіп көріңіз. Барлық елестерден, елестерден және зираттардан өткеннен кейін сіз ақырғы жолға жетесіз. Сіз кәмпиттерді алдыңыздағы тостағаннан көре аласыз! Бірақ содан кейін кенеттен гх