Mundarija:
- 1 -qadam: Pi -ni sozlash
- 2 -qadam: Sizning shaxsiy ma'lumotlaringizga SSHing
- 3 -qadam: Boot -da IP -manzilingizni elektron pochta orqali yuboring
- 4 -qadam: Harakatni o'rnatish va sozlash
- 5 -qadam: Aniqlash harakatidan videolarni elektron pochta orqali yuborish
- 6 -qadam: Muammolarni bartaraf etish va manbalar
Video: Raspberry Pi 3 harakatni aniqlash kamerasi jonli uzatishda: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Kirish
Ushbu loyihada siz kamerani tuzoq, uy hayvonlari/chaqaloqlar uchun monitor, xavfsizlik kamerasi va boshqa ko'p narsalarni ishlatishingiz mumkin bo'lgan harakatni aniqlash kamerasini qurishni o'rganasiz.
Ushbu loyiha bir necha bosqichlardan iborat:
- Kirish
- Pi -ni sozlash
- Sizning Pi -ga SSHing
- Yuklash paytida IP manzilingizni elektron pochta orqali yuborish
- Motion -ni o'rnatish va sozlash
- Aniqlashda Motion -dan videolarni elektron pochta orqali yuborish
- Muammolarni bartaraf etish va manbalar
Sizga nima kerak:
- Raspberry Pi 3 modeli - $ 35
- 8 gb Micro SD karta ~ ~ $ 10
- USB veb -kamerasi ~ ~ $ 20 (bu loyihada Logitech HD veb -kamerasi c270 ishlatilgan)
- micro usb kabeli ~ ~ $ 5
- yoki:
- qayta zaryadlanuvchi 5 voltli batareya to'plami (telefon zaxira batareyasi), bu sizning loyihangizni simsiz qiladi ~ ~ $ 20
- yoki
- usb devor adapteri ~ ~ $ 5
- Wi -Fi ulanishi
O'rnatish uchun sizga kerak bo'lgan narsalar:
- Monitor
- Sichqoncha va klaviatura
- SD -karta uyasi bo'lgan kompyuter
- Micro SD to SD karta konvertori (micro SD kartangiz bilan birga bo'lishi kerak)
1 -qadam: Pi -ni sozlash
Endi Pi -ni o'rnatamiz
Boshlash uchun, oxirgi qadamda barcha kerakli narsalar borligiga ishonch hosil qiling. Keyin Raspberry Pi veb -saytidagi Raspbian Jessie -ni Microsd kartangizga o'rnatish bo'yicha ko'rsatmalarga amal qiling.
Pi -ga Raspbian -ni o'rnatganingizdan so'ng, ba'zi asosiy funktsiyalarni o'rnatish vaqti keldi.
Wifi
Pi -dan maksimal foyda olish uchun birinchi qadam - uni Internetga ulash. Siz bu qadamni Pi ekranining yuqori o'ng burchagidagi WiFi belgisini topib, u erga kirganingiz yoki oxirgi bosqichda Raspbian -ni o'rnatishdan oldin xuddi shu ishni bajargan bo'lishingiz mumkin. Agar siz Wi -Fi tarmog'ingizga Pi -ning ish stoli interfeysidan kira olmasangiz, buyruq satri orqali Wi -Fi -ni sozlash bo'yicha ko'rsatmalarga amal qilishingiz mumkin.
SSH
Pi -dan foydalanganda sizga juda qulay bo'lgan asbob - bu sizning boshingizga "boshsiz" deb nomlangan buyruqlar berish. Secure SHell yoki SSH yordamida siz Pi -ni kompyuterdan masofadan boshqarishingiz mumkin. Ushbu usul yordamida siz Pi -ni tahrirlashingiz kerak bo'ladi, uni ushlab turish uchun quvvat manbai, endi monitor va klaviatura yo'q!
2 -qadam: Sizning shaxsiy ma'lumotlaringizga SSHing
Raspberry Pi -ga SSHing kiritish oson va juda foydali, chunki bu jarayon sizga Wi -Fi ulanishidan boshqa hech qanday kompyuterdan Pi -ga buyruqlar berishga imkon beradi.
Pi -ga SSH kiritish uchun siz ushbu 3 oddiy qadamni bajarishingiz kerak.
Birinchidan, siz Pi -da SSH -ni yoqishingiz kerak. Buning uchun Pi -da buyruqlar oynasini oching va kiriting:
sudo raspi-config
Bu buyruq konfiguratsiya menyusiga kirishga imkon beradi. u erdan siz o'q, yorliq va kirish tugmachalarini ishlatib, avval interfeys parametrlariga o'tishingiz kerak, keyin SSH va kamerani yoqing, keyin pi -dan chiqing va qayta yoqing.
Keyin siz Pi -ning IP -manzilini topishingiz kerak. Buyruq terminaliga quyidagilarni kiriting:
sudo ifconfig
Sizning IP -manzilingiz wlan0 bo'limida, Link encap: ethernet ostida bo'lishi kerak. Yuqoridagi demo rasmda IP manzili 192.168.1.10.
Nihoyat, siz Mac -da o'rnatilgan terminal ilovasini ochishingiz yoki Windows uchun uchinchi tomon ssh -ilovasi uchun ko'rsatmalarni topishingiz va ularga amal qilishingiz kerak bo'ladi. Terminal ilovasida quyidagilarni kiriting:
ssh pi@IP -ADRESINGIZ
Agar siz Raspi-config-da parolni o'zgartirmagan bo'lsangiz, so'ralganda kiritiladigan parolingiz standart parol bo'ladi: malina.
U erdan siz borishingiz kerak!
3 -qadam: Boot -da IP -manzilingizni elektron pochta orqali yuboring
Bu bosqichda biz sizning tarmog'ingizdan qat'i nazar, Raspberry Pi -ga qanday kirishni ko'rib chiqamiz. Tarmoqqa qarab Pi -ning IP -manzili o'zgaradi. Agar sizda monitor o'rnatilmagan bo'lsa, siz harakatni aniqlash protokolini ishga tushirish, harakat parametrlarini o'zgartirish yoki qurilmadagi boshqa narsalarga kirish uchun Pi -ga ssh kiritishingiz kerak bo'ladi. Ushbu muammoni hal qilish uchun biz Python skriptini yozamiz, u ishga tushganda bizga IP -ning IP -manzilini yuboradi. Python skripti quyidagicha va "fon" deb belgilangan katalogda saqlangan.
#uy katalogidan boshlang
CD ~
#fon jildini yarating
mkdir fon
#python skriptini yarating
sudo nano emailip.py
#emailip.py -da yozing
import rozetkasi
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
ulanish (("8.8.8.8", 80))
chop etish (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
smtplib import qilish
elektron pochtadan. MIMEM Multipart import MIMEMultipart
email. MIMEText import MIMEText
fromaddr = "MANZILINGIZ"
toaddr = "MANZIL QABUL QILINADI"
msg = MIMEMultipart ()
msg ['Kimdan'] = fromaddr
msg ['To'] = toaddr
msg ['Mavzu'] = "IP -manzil"
tana = xmsg.attach (MIMEText (tanasi, "oddiy"))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "Sizning parolingiz")
matn = msg.as_string ()
server.sendmail (danaddr, toaddr, matn)
server.quit ()
#keyin bu qayta yuklashda amalga oshadi
sudo nano /etc/rc.local
/etc/rc.local manziliga #kiriting
vaqt! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
uxlang 3
bajarildi
_IP = $ (hostname -I) || rost
agar ["$ _IP"]; keyin
printf "Mening IP manzilim - %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
chiqish 0
#va ishingiz tugadi
4 -qadam: Harakatni o'rnatish va sozlash
#pi -ni yangilang
sudo apt-get yangilanishi
sudo apt-get upgrade
#yuklash
sudo apt-get install motion
#Endi ushbu faylni quyidagi o'zgarishlar bilan tahrir qiling
sudo nano /etc/motion/motion.conf
#bu qo'llanma uchun standart o'rnatish uchun o'zgartiring
#################
demon yoqilgan
stream_localhost o'chirilgan
webcontrol_localhost o'chirilgan
ffmpeg_output_movies yoqilgan
target_dir/var/lib/harakat
##################
#mahalliy veb -brauzer oqim variantlari
##################
stream_maxrate 100 #Bu real vaqt rejimida uzatishga imkon beradi, lekin ko'proq tarmoqli kengligi va resurslarni talab qiladi
kadr tezligi 60 #Bu soniyada 60 kadrni olish imkonini beradi, bu qanchalik baland bo'lsa, videoni qayta ishlash sekinlashadi.
kengligi 640 #Bu tasvirning kengligini o'zgartiradi
balandligi 480 #Bu ko'rsatilgan tasvirning balandligini o'zgartiradi
##################
#/video.ailing video sozlamalari…/motion.conf
##################
Chiziq oldidagi ";" belgisini o'chirib tashlang, nuqta -vergul chiziqni izohlaydi
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astatik
##################
faylda tasvirlangan #tanlovlar
chiqish_rasmlari locate_motion_style
##################
#keyin o'zgartirish
sudo nano/etc/default/motion
#Aytmoq
start_motion_daemon = ha
#oxirgi, B **** ni boshlang
sudo xizmatining harakatini boshlash
#siz buyruqni "to'xtatish" yoki "qayta boshlash" ga o'zgartirishingiz mumkin.
5 -qadam: Aniqlash harakatidan videolarni elektron pochta orqali yuborish
Harakat aniqlanganda elektron pochta:
#Uydan boshlang
dircd ~
#harakat haqida ogohlantirish python skriptini yarating
sudo nano /home/pi/background/motionalert.py
#yozish
smtplib import qilish
datetime dan datetime import qilinadi
elektron pochtadan. MIMEM Multipart import MIMEMultipart
email. MIMEText import MIMEText
fromaddr = "SIZNING ADRESS"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['Kimdan'] = fromaddr
msg ['To'] = toaddr
msg ['Mavzu'] = "Harakat aniqlandi"
body = 'Harakat aniqlandi. / n Vaqt: % s' % str (datetime.now ())
msg.attach (MIMEText (asosiy, "oddiy"))
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOUR SIZNING SOLINGIZ")
matn = msg.as_string ()
server.sendmail (danaddr, toaddr, matn)
server.quit ()
Elektron pochta Video saqlanayotganda harakatlanish videosi:
#boshlang homedircd ~
#harakatli video python skriptlarini yaratish nano /home/pi/background/motionvid.py
smtplib import qilish
elektron pochtadan. MIMEM Multipart import MIMEMultipart
email. MIMEText import MIMEText
email. MIMEBase import MIMEBase
elektron pochta import kodlovchi -laridan
fromaddr = "Sizning elektron pochtangiz"
toaddr = "Siz yuborgan elektron pochta manzili"
msg = MIMEMultipart ()
msg ['Kimdan'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Harakat kamerasi faollashtirilgan"
tana = "Harakat videosi aniqlandi"
msg.attach (MIMEText (asosiy, "oddiy"))
import qilish os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) f uchun os.listdir (rootpath)]
filelist = [f uchun f uchun fayllar ro'yxatida, agar os.path.isfile (f)]
eng yangi = max (fayllar ro'yxati, kalit = lambda x: os.stat (x).st_mtime)
fayl nomi = eng yangi
import qilish os
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath, f) f uchun os.listdir (rootpath)]
filelist = [f uchun f uchun, agar os.path.isfile (f)]
eng yangi = max (fayllar ro'yxati, kalit = lambda x: os.stat (x).st_mtime)
biriktirma = ochiq (eng yangi, "rb")
qism = MIMEBase ('dastur', 'oktet-oqim')
part.set_payload ((ilova). o'qish ())
encoders.encode_base64 (qism)
part.add_header ("Tarkibni joylashtirish", "biriktirma; fayl nomi = % s" % fayl nomi)
xabar qo'shish (qism)
server = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "Sizning parolingiz")
matn = msg.as_string ()
server.sendmail (danaddr, toaddr, matn)
server.quit ()
6 -qadam: Muammolarni bartaraf etish va manbalar
Muammolarni bartaraf qilish; nosozliklarni TUZATISH:
Bu loyiha bir necha bosqichlardan iborat bo'lgani uchun, ishlarning noto'g'ri ketishi mumkin bo'lgan bir nechta nuqtalar mavjud. Quyida yuzaga kelishi mumkin bo'lgan xatolar va ularni tuzatish usullari keltirilgan.
- Sizga joriy IP -manzilini elektron pochta orqali yuborish uchun pi -ni o'rnatayotganda, rc.local faylini avval ko'rsatilgandek tahrir qilish juda muhim, chunki bu dastur qayta ishga tushirilgandan so'ng dasturni ishga tushirishidan oldin biroz kechiktirishga imkon beradi. Aks holda, pi hali Wi -Fi tarmog'iga ulanmaydi va elektron pochta yuborilmaydi.
- Motion.conf faylini tahrir qilayotganda, ba'zi parametrlar oldidagi nuqta -vergulni o'chirib tashlang. Nuqtali vergul berilgan harakatni bostiradi, aks holda o'zgarish kuchga kirmaydi.
- Motion.conf fayli juda yaxshi tashkil etilgan va batafsil. O'zingiz xohlaganingizcha sozlamalarni o'zgartiring, lekin ular harakatni ta'qib qilish tizimining muvaffaqiyatiga ta'sir qilishi mumkinligini tushuning.
- Elektron pochta xabarnomasi va elektron pochta orqali video yuborish variantlarini o'rnatganingizdan so'ng, harakatni aniqlagan videoning elektron pochtasi dastlabki ogohlantiruvchi elektron pochtaga qaraganda bir oz ko'proq vaqt talab qilinishini e'tiborga olish lozim. Buning sababi shundaki, video harakat aniqlanmaganidan bir necha soniya o'tgach tugaydi va elektron pochta qo'shimchasi bir necha daqiqani talab qiladigan darajada katta bo'lishi mumkin. Ba'zi hollarda, agar harakat juda uzoq vaqt davom etsa, uni yuborish juda katta bo'lishi mumkin. Shu sababli, elektron pochta xabarini olgandan so'ng, translyatsiyani tekshirish har doim yaxshi bo'ladi.
Nima uchun harakat?:
Loyihani boshlaganimizda, biz turli xil manbalarni ko'rib chiqdik. Birinchidan, biz malina pi uchun maxsus qurilgan kamera bo'lagi bo'lgan PiCam -dan foydalanishni ko'rib chiqdik. PiCam, albatta, qobiliyatli qurilma va ko'plab ilovalarga ega, lekin u faqat maxsus mo'ljallangan dasturlardan foydalanish bilan cheklangan va arzon ko'p maqsadli veb -kameralarga qaraganda ancha qimmat. Shunday qilib, ushbu loyihani kengroq auditoriya uchun ochiq qilish uchun biz oddiy USB veb -kamerasidan foydalanishga qaror qildik. Keyingi masala qaysi dasturiy ta'minotni o'z ichiga olishi edi. Biz dastlab OpenCV -ni ko'rib chiqdik, u har xil turdagi kompyuter ko'rish va tasvirlash loyihalarini amalga oshirishga imkon beradigan bepul dasturiy ta'minot. Bu erda muammo shundaki, OpenCV - bu katta xotira va uzoq vaqt sozlangan katta fayl. O'rnatish, shuningdek, xatolarga ko'proq joy qoldirib, bir necha bosqichlardan iborat. Biz aniqladikki, bizning maxsus loyihamiz uchun Motion -ni sozlash va ishga kirish osonroq, lekin uni bajarishda ancha mustahkam.
Manbalar
Kod manbalari:
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
Fotosuratlar:
SSH salyangozi:
Pochta logotipi:
Logitech veb-kamerasi:
SSH oynasi:
Tavsiya:
To'shak yoritgichi ostida harakatni aniqlash: 16 qadam (rasmlar bilan)
To'shak yoritgichi ostida harakatni sezish: Hech qachon biror narsadan yiqilib, butun uyni uyg'otish uchun tunda yotoqdan jimgina chiqishga harakat qilganmisiz? To'shak ostiga ehtiyotkorlik bilan o'rnatilgan harakatni sezuvchi tungi chiroqlar past darajadagi yorug'likni beradi, bu sizni adashgan LEGO g'ishtlari bo'ylab boshqaradi
Harakatni aniqlaydigan Arduino Security 3G/GPRS elektron pochta kamerasi: 4 qadam
Harakatni aniqlash bilan Arduino Security 3G/GPRS elektron kamera boshqa ko'rsatmalar: 1 -ko'rsatma va ko'rsatma
Xavfsizlik kamerasi sifatida eng oson veb -kamera - harakatni aniqlash va elektron pochta orqali yuborish: 4 qadam
Xavfsizlik kamerasi sifatida eng oson veb -kamera - Harakatni aniqlash va elektron pochta orqali yuborish: Siz veb -kamerangizdan elektron pochtangizga aniqlangan rasmlarni olish uchun dasturiy ta'minotni yuklab olishingiz yoki sozlashingiz shart emas - shunchaki brauzerdan foydalaning. Rasmni olish uchun Windows, Mac yoki Android-da Firefox, Chrome, Edge yoki Opera-ning dolzarb brauzeridan foydalaning
Trafik namunasi analizatori jonli ob'ektni aniqlash yordamida: 11 qadam (rasmlar bilan)
Yashash ob'ektlarini aniqlashdan foydalanadigan yo'l harakati analizatori: Zamonaviy dunyoda svetoforlar xavfsiz yo'l uchun muhim ahamiyatga ega. Biroq, ko'p hollarda, svetoforlar, xuddi qizil yonayotgan paytda, kimdir chiroqqa yaqinlashganda, bezovta qilishi mumkin. Bu vaqtni behuda sarflaydi, ayniqsa yorug'lik pr
Raspberry Pi yordamida harakatni aniqlash: 4 qadam
Raspberry Pi yordamida harakatni aniqlash: Oddiy harakat detektori yaratish uchun Raspberry Pi yordamida PIR (Passiv InfraRed) sensori qanday ishlatilishini bilib olamiz, u odamlarning, hayvonlarning yoki boshqa ob'ektlar. Ular odatda burgda ishlatiladi