فهرست مطالب:
- مرحله 1: تنظیم Pi خود را تنظیم کنید
- مرحله 2: SSHing به PI شما
- مرحله 3: آدرس IP خود را در بوت ایمیل کنید
- مرحله 4: نصب و راه اندازی حرکت
- مرحله 5: ارسال ویدئوها از طریق حرکت هنگام تشخیص
- مرحله 6: عیب یابی و منابع
تصویری: Raspberry Pi 3 Motion Detection Camera with Feed Live: 6 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
معرفی
در این پروژه ، نحوه ساخت یک دوربین تشخیص حرکت را یاد خواهید گرفت که می توانید از آن به عنوان یک تله دوربین ، مانیتور حیوان خانگی/کودک ، دوربین امنیتی و موارد دیگر استفاده کنید.
این پروژه در چند مرحله تنظیم شده است:
- معرفی
- تنظیم Pi خود
- SSH را به Pi خود وارد کنید
- ایمیل کردن آدرس IP خود در هنگام راه اندازی
- نصب و راه اندازی Motion
- ارسال ویدئوها از Motion هنگام تشخیص
- عیب یابی و منابع
آنچه شما نیاز دارید:
- رزبری پای 3 مدل b 35 35 دلار
- کارت حافظه 8 گیگابایتی Micro SD ~~ 10 دلار
- وب کم USB 20 پوند (این پروژه از وب کم Logitech HD c270 استفاده می کرد)
- کابل میکرو یو اس بی 5 دلار
- یا:
- بسته باتری 5 ولت قابل شارژ (باتری پشتیبان تلفن) ، این باعث می شود پروژه شما 20 پوند بی سیم باشد
- یا
- آداپتور دیواری usb 5 دلار
- اتصال WiFi
مواردی که برای راه اندازی نیاز دارید:
- یک مانیتور
- ماوس و صفحه کلید
- رایانه ای با شیار کارت SD
- مبدل Micro SD به کارت SD (باید همراه کارت میکرو SD شما باشد)
مرحله 1: تنظیم Pi خود را تنظیم کنید
حالا بیایید Pi شما را تنظیم کنیم
برای شروع ، مطمئن شوید که تمام موارد مورد نیاز مرحله آخر را در اختیار دارید. سپس مراحل مربوط به نصب Raspbian Jessie در کارت Microsd خود را که در اینجا یافت می شود ، در وب سایت Raspberry Pi دنبال کنید.
هنگامی که Raspbian را روی Pi خود نصب کردید ، وقت آن است که برخی از ویژگی های اساسی را تنظیم کنید.
وای فای
اولین قدم برای استفاده بیشتر از Pi خود ، اتصال آن به اینترنت است. ممکن است این مرحله را قبلاً یا با قرار دادن نماد WiFi در گوشه سمت راست بالای صفحه اصلی Pi خود و ورود به آنجا انجام داده باشید ، یا قبل از نصب Raspbian در آخرین مرحله ، همین کار را انجام دهید. اگر نمی توانید از رابط رومیزی Pi خود وارد شبکه WiFi خود شوید ، می توانید دستورالعمل های اینجا را برای تنظیم WiFi از طریق خط فرمان دنبال کنید.
SSH
یکی از ابزارهای بسیار کاربردی که هنگام استفاده از Pi خود در اختیار شما قرار می دهد ، این است که دستوراتی را برای Pi خود که در تنظیمات بدون سر شناخته می شود ، صادر کنید. با استفاده از Secure SHell یا SSH ، می توانید Pi خود را از راه دور از طریق کامپیوتر کنترل کنید. با استفاده از این روش ، تنها چیزی که برای ویرایش Pi خود نیاز دارید یک منبع قدرت برای روشن نگه داشتن آن است ، دیگر مانیتور و صفحه کلید وجود ندارد!
مرحله 2: SSHing به PI شما
SSHing در Raspberry Pi شما آسان و بسیار مفید است ، زیرا این فرایند به شما امکان می دهد دستوراتی را به Pi خود از هر رایانه ای ارسال کنید که چیزی بیشتر از اتصال WiFi ندارد.
برای SSH به Pi خود ، باید این 3 مرحله ساده را دنبال کنید.
ابتدا باید SSH را روی Pi خود فعال کنید. برای انجام این کار ، یک پنجره فرمان در Pi خود باز کنید و عبارت زیر را تایپ کنید:
sudo raspi-config
این دستور به شما اجازه می دهد تا منوی پیکربندی را وارد کنید. از آنجا می خواهید از پیکان ، برگه و کلیدهای وارد شده برای ورود به گزینه های رابط ، سپس برای فعال کردن SSH و همچنین دوربین استفاده کنید ، سپس pi را راه اندازی کرده و مجدداً راه اندازی کنید.
در مرحله بعد ، باید آدرس IP Pi خود را پیدا کنید. در ترمینال فرمان ، عبارت زیر را تایپ کنید:
sudo ifconfig
و آدرس IP شما باید در قسمت wlan0 که درست در زیر Link encap: ethernet ظاهر می شود ، باشد. در تصویر نمایشی بالا ، آدرس IP 192.168.1.10 است.
در نهایت ، شما باید برنامه ترمینال داخلی را در سیستم عامل مک باز کنید ، یا دستورالعمل های برنامه ssh شخص ثالث را برای Windows پیدا کرده و دنبال کنید. در برنامه ترمینال ، عبارت زیر را تایپ کنید:
ssh pi@آدرس IP شما
اگر گذرواژه را در حالت Raspi-config تغییر نداده اید ، پسوردی که هنگام درخواست وارد می شود رمز پیش فرض خواهد بود: تمشک.
از آنجا ، شما باید خوب بروید!
مرحله 3: آدرس IP خود را در بوت ایمیل کنید
در این مرحله ما بر نحوه دسترسی به رزبری پای خود صرف نظر از شبکه ای که در آن هستید تمرکز می کنیم. بسته به شبکه ، آدرس IP Pi تغییر می کند. و اگر تنظیمات مانیتور ندارید ، برای فعال کردن پروتکل تشخیص حرکت ، تغییر تنظیمات ترجیحی یا دسترسی به هر چیز دیگری در دستگاه ، باید به Pi وارد شوید. برای حل این مشکل ما یک اسکریپت پایتون می نویسیم که آدرس IP فعلی Pi را هنگام راه اندازی به ما ایمیل می کند. اسکریپت پایتون به شرح زیر است و در فهرست راهنمای "background" ذخیره شده است.
#در فهرست اصلی شروع کنید
سی دی
#ایجاد پوشه پس زمینه
mkdir پس زمینه
#ایجاد اسکریپت پایتون
sudo nano emailip.py
#در emailip.py بنویسید
سوکت واردات
s = socket.socket (سوکت. AF_INET ، سوکت. 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 ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "آدرس IP"
body = xmsg.attach (MIMEText (بدن ، "ساده"))
سرور = smtplib. SMTP ('smtp.gmail.com' ، 587)
server.starttls ()
server.login (fromaddr ، "گذرواژه شما")
text = msg.as_string ()
server.sendmail (fromaddr ، toaddr ، متن)
server.quit ()
#سپس این کار را هنگام راه اندازی مجدد انجام می دهد
sudo nano /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: نصب و راه اندازی حرکت
#به روز رسانی پی
sudo apt-get update
sudo apt-get upgrade
#دانلود
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 پایتون /home/pi/background/motionalert.py٪ f
پایتون on_movie_end /home/pi/background/motionvid.py٪ f
##################
#آستیک ها
##################
#انتخابهایی که در فایل توضیح داده شده است
خروجی_تصویرها location_motion_style
##################
#سپس تغییر دهید
sudo nano/etc/default/motion
#گفتن
start_motion_daemon = بله
#آخرین ، B **** را شروع کنید
شروع حرکت سرویس sudo
#می توانید فرمان را به "توقف" یا "راه اندازی مجدد" تغییر دهید
مرحله 5: ارسال ویدئوها از طریق حرکت هنگام تشخیص
ایمیل هنگام تشخیص حرکت:
#شروع در خانه
dircd
#ایجاد اسکریپت پایتون هشدار حرکت
sudo nano /home/pi/background/motionalert.py
#نوشتن
وارد کردن smtplib
از datetime وارد کردن datetime
از ایمیل. MIMEMultipart وارد کردن 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")
text = msg.as_string ()
server.sendmail (fromaddr ، toaddr ، متن)
server.quit ()
ایمیل فیلم حرکت هنگام ذخیره فیلم:
#شروع در homedircd
#ایجاد ویدئو حرکت پایتون اسکریپت سودو نانو /home/pi/background/motionvid.py
وارد کردن smtplib
از ایمیل. MIMEMultipart وارد کردن MIMEMultipart
از ایمیل. MIMEText وارد MIMEText
از ایمیل. MIMEBase وارد کردن MIMEBase
از رمزگذارهای واردات ایمیل
fromaddr = "ایمیل شما"
toaddr = "آدرس ایمیل شما برای ارسال"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "دوربین متحرک فعال شد"
body = "ویدیوی حرکت تشخیص داده شد"
msg.attach (MIMEText (بدنه ، "ساده"))
وارد کردن سیستم عامل
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath، f) for f در os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
newest = max (لیست فایل ، کلید = lambda x: os.stat (x).st_mtime)
نام فایل = جدیدترین
وارد کردن سیستم عامل
rootpath = '/var/lib/motion'
filelist = [os.path.join (rootpath، f) for f در os.listdir (rootpath)]
filelist = [f for f in filelist if os.path.isfile (f)]
newest = max (لیست فایل ، کلید = lambda x: os.stat (x).st_mtime)
پیوست = باز (جدیدترین ، "rb")
part = MIMEBase ('application'، 'octet-stream')
part.set_payload ((پیوست).read ())
encoders.encode_base64 (قسمت)
part.add_header ('Content-Disposition'، "attachment؛ filename =٪ s"٪ filename)
msg.attach (part)
سرور = smtplib. SMTP ('smtp.gmail.com' ، 587)
server.starttls ()
server.login (fromaddr ، "گذرواژه شما")
text = msg.as_string ()
server.sendmail (fromaddr ، toaddr ، متن)
server.quit ()
مرحله 6: عیب یابی و منابع
عیب یابی:
از آنجا که این پروژه دارای مراحل متعددی است ، چندین نقطه وجود دارد که در آن همه چیز ممکن است اشتباه پیش برود. در زیر برخی از خطاهای احتمالی که ممکن است رخ دهد و نحوه رفع آنها ذکر شده است.
- هنگام تنظیم pi برای ارسال آدرس IP فعلی به شما ، ویرایش فایل rc.local همانطور که قبلاً نشان داده شده بسیار مهم است زیرا این امر باعث می شود تا قبل از راه اندازی مجدد برنامه ، برنامه کمی فعال شود. در غیر این صورت pi هنوز به wifi متصل نمی شود و ایمیل ارسال نمی شود.
- هنگام ویرایش فایل motion.conf اطمینان حاصل کنید که نقطه ویرگول را در مقابل پارامترهای خاصی حذف کنید. نقطه ویرگول یک عمل معین را سرکوب می کند ، بنابراین در غیر این صورت تغییر اعمال نمی شود.
- فایل motion.conf بسیار منظم و دقیق است. با خیال راحت می توانید تنظیمات را به دلخواه تغییر دهید ، اما درک کنید که ممکن است بر موفقیت سیستم ضبط حرکت تأثیر بگذارد.
- پس از تنظیم گزینه های هشدار ایمیل و ویدئوی ایمیل ، توجه به این نکته ضروری است که ایمیل ویدئوی حرکت تشخیص داده شده کمی بیشتر از ارسال از ایمیل هشدار اولیه طول می کشد. این به این دلیل است که ویدیو چند ثانیه پس از آنکه حرکت دیگر تشخیص داده نمی شود ، به پایان می رسد و پیوست ایمیل ممکن است به اندازه ای بزرگ باشد که برای دریافت چند دقیقه نیاز باشد. در برخی موارد ، اگر حرکت برای مدت زمان طولانی ادامه یابد ، ممکن است برای ارسال آن بسیار بزرگ باشد. به همین دلیل همیشه ایده خوبی است که پس از دریافت ایمیل هشدار اولیه ، جریان مستقیم را بررسی کنید.
چرا حرکت ؟:
هنگام شروع این پروژه ما چندین منبع مختلف را در نظر گرفتیم. ابتدا ما از PiCam استفاده کردیم که یک واحد دوربین است که به طور خاص برای تمشک pi ساخته شده است. 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:
توصیه شده:
Lowcost 3D Fpv Camera for Android: 7 Step (with Pictures)
Lowcost 3D Fpv Camera for Android: FPV یک چیز بسیار جالب است. و در حالت سه بعدی حتی بهتر خواهد بود. بعد سوم در فواصل زیاد چندان منطقی نیست ، اما برای یک میکرو کوادکوپتر داخلی مناسب است. بنابراین من نگاهی به بازار انداختم. اما دوربین هایی که پیدا کردم همه او بود
Raspberry Pi Stop-Motion Rig Animation Rig: 16 Step (همراه با تصاویر)
Raspberry Pi Stop-Motion Rig Animation: انیمیشن Stop-Motion تکنیکی است که در آن اشیا دستکاری فیزیکی می شوند و فریم به فریم عکاسی می کنند تا توهم یک تصویر متحرک ایجاد شود. مینی نمایشگاه انیمیشن استاپ موشن ما با رزبری پای ساخته شده است ، که یک "ریز و دوست داشتنی" است
KS-Cat-Feed-Counter: 7 Step
KS-Cat-Feed-Counter: وضعیت هنگامی که در یک خانواده شلوغ زندگی می کنید ، اغلب نمی دانید که حیوان خانگی شما چند بار تغذیه شده است. احتمالاً شما به خانه می آیید و حیوان خانگی شما غذا می خواهد ، حتی اگر به تازگی توسط شخص دیگری تغذیه شده است که در حال حاضر در خانه نیست. به نحوی ، شما
موتور متحرک CAMERA Dolly: 5 Step (with Pictures)
Motorized CAMERA Dolly: این پروژه به عنوان دالی دوربین متحرک شروع شد ، اما تبدیل به یک دالی موتوری شد
انیمیشن Stop Motion Made Easy: 5 Step
انیمیشن Stop Motion Made Easy: این دستورالعمل امیدوار است به افراد عادی کمک کند تا اصول اولیه انیمیشن استاپ موشن را بشناسند و به آنها امکان ایجاد انیمیشن های رایگان خود را بدهند. از آنجا که این اولین دستورالعمل من است ، لطفاً منطقی باشید. انتقاد سازنده بسیار خوش آمدید