Агуулгын хүснэгт:
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Заримдаа зурагт үзэж байхдаа хаалга онгойлгохыг хүсдэггүй. Энэхүү төсөл нь Amazon -ийн Echo төхөөрөмжид "Alexa, хаалганы дэлгэцийг асаагаарай" гэж хэлэх замаар хаалган дээр байгаа хүнийг харах боломжийг танд олгоно. Та ТВ -ийн дэлгэц дээр хэн гарч ирэхийг шалгаад "Alexa, ТВ асаагаарай" гэсэн ердийн телевизийн програм руу буцна уу. Энэ систем нь өндөр настай хүмүүс эсвэл хүүхдүүдэд үнэ цэнэтэй байж болох бөгөөд энэ нь худалдагч, хулгайч гэх мэт хүмүүсийн давуу талыг ашиглах эрсдэлтэй байдаг. Энэ нь таны зугаа цэнгэлийн системийн том дэлгэцтэй ТВ нь зөвхөн урд хаалганы камер төдийгүй бусад аюулгүй байдлын камерын дэлгэцийн дэлгэц байх боломжийг олгодог. Үнэндээ үүнийг наран шарлагын камер гэх мэт интернет камераас авсан видеог харуулахаар сунгаж болно.
Эд анги:
Зугаа цэнгэлийн систем:
Хэд хэдэн HDMI оролттой ТВ (ихэнх ТВ -тэй байдаг)
Кабель эсвэл DVR хайрцаг
Кабелийн хайрцгаар чиглүүлэгч ба интернет холболт (хэрэв танд WiFi байгаа бол шаардлагагүй байж магадгүй)
Амазоны цуурай ("Alexa")
Хармони төв
Камер
Урд хаалган дээрх IP камер (Power over Ethernet -POE- type илүүд үздэг)
Raspberry Pi3 нь HDMI кабель бүхий төслийн хайрцагт (анхны Pi ажиллах боломжтой)
Arduino Pro Mini 8 Mhz, 3.3v
IR модуль (хамгийн түгээмэл төрөл ажиллах болно)
Алхам 1: Тохиргоо, урьдчилсан програмчлал (туршилт)
Энэхүү төсөл нь тоног төхөөрөмжийн хурдатгалаар видеог тайлдаг Pi3 omxplayer дээр суурилдаг. Omxplayer -ийг Pi терминалын командын мөрөөс камерын тохирох rtsp: // user@password@ipaddress форматыг ашиглан турших боломжтой. Pi нь Ethernet -тэй холбогдсон байх ёстой (гэхдээ Pi3 -ийг WiFi -ээр холбож болох боловч туршиж үзээгүй), зугаа цэнгэлийн төвд физик байрлалтай байх ёстой бөгөөд ингэснээр Pi -ийн HDMI гаралтын кабель нь ТВ -ийн HDMI оролтын залгуурт хүрэх боломжтой болно. Arduino болон IR модуль нь Pi -д холбогдох бөгөөд телевизийн алсын удирдлагын товчлуурыг дарж уншсанаар олж авсан мэдээллээ дамжуулах болно. Pi нь энэ декодчилолыг IR модулиас шууд хийх боломжтой байсан ч би Python програмчлалаас Arduino програмчлалын чиглэлээр илүү сайн ажилладаг бөгөөд үүнээс гадна видео дамжуулалтыг декодлох Pi -ийн гол үүрэг болох процессорын нөөцийг хэмнэдэг.
Миний аюулгүй байдлын системд олон камер байдаг тул би Pi -ийн хяналтын дэлгэцийг ашиглан 4 камерыг нэг дор харуулах боломжтой бөгөөд тусдаа камерыг бүтэн дэлгэцээр харуулдаг. Эдгээр зааврыг дагаж мөрдөөрэй, гэхдээ камерыг тогтвортой харуулахын тулд танд маш их асуудал тулгарах болно.
Асуудлын нэг нь хөтөлбөрт жагсаасан 4 цонхны хэмжээ нь таны телевизийн нарийвчлалтай тохирохгүй байж магадгүй юм. Камерынхаа нарийвчлалыг тэмдэглэхийн зэрэгцээ таны дэлгэц ямар нарийвчлалыг дэмжиж байгааг олж мэдээрэй. Ихэнх IP камерууд нь өндөр нарийвчлалтай (1080p), бага нягтралтай (640x480) урсгалтай тул хэрэв та урд хаалганы өндөр нарийвчлалтай нэг видео авахыг хүсвэл өндөр нарийвчлалтай rtsp: // форматаар дамжуулаарай. 4 квадрат дахь камерын хувьд бага нарийвчлалтай урсгалыг сонгоорой, жижиг хэмжээтэй зургийн хувьд тийм ч их ялгааг анзаарахгүй байх болно. Та миний bash скрипт (test.sh) цонхны хэмжээтэй хамт явж болно (1080p нягтралтай горимд 4 хэмжээтэй 640x480 хэмжээтэй камерыг багтаасан хэмжээгээр харуулна). Үгүй бол зурагтынхаа пикселийг байрлуулахын тулд график цаас ашиглаад тухайн хэсэгт хичнээн тэгш өнцөгт зурахыг хүсч байгаагаа зур. Дараа нь 640x480 хэмжээтэй хичнээн видеог хэт их хэмжээгээр өөрчлөхгүйгээр тохирохыг олж мэдээрэй (хэвтээ тэнхлэг нь босоо байдлаас илүү сайн харагдаж байна). Би хилд дургүй, тиймээс тэдний хувьд тооцоо хийгээгүй. Тэгш өнцөгтүүдийг зүүн дээд талаас баруун доод талд дугаарлана 1, 2, 3.. гэх мэт. Дараа нь цонхны тоон багана үүсгэн эдгээр тоонуудын мөр бүрт зүүн дээд x, y пиксел, баруун доод пиксел x, y гэж бичнэ. Дараа нь эдгээр тоонуудыг скриптээр орлуулж захиалгат дэлгэц авах боломжтой бөгөөд хэрэв хүсвэл 3х3 хэмжээтэй дэлгэцтэй болно. Хэрэв та зөвхөн нэг дэлгэц авахыг хүсч байвал бусад 3 камераа тайлбарлаад цонхны хэмжээг дэлгэцийн нарийвчлалтай болгож (мөн өндөр нарийвчлалтай rtsp дамжуулалтыг ашиглаарай) скриптийг "test1.sh" гэж нэрлээрэй. Хүссэн хэмжээгээрээ олон скрипт хий, bdn.py Python програм нь GPIO зүүг Arduino өөрчилснөөр тэднийг дуудах болно.
Тогтвортой дэлгэцтэй болоход тулгардаг нэг асуудал бол (зургийн дээд хэсэгт нарийн, гэхдээ зургийн босоо зураас доогуур) олон камер нь rtsp -ийг tcp ашиглан илүү сайн дамжуулдаг (би Hikvision 2 -оос 5 Мп IP камер ашигладаг). Тиймээс omxplayer дээр харуулсан шиг "--avdict rtsp_transport: tcp" -г ашиглана уу. Omxplayer-ийн бусад ашигтай командууд нь эзлэхүүн (-vol -6000 дуугүй байх) ба буфер (-видео дараалал x) бөгөөд энд x = 1 ба түүнээс дээш байдаг.
IP камерын тохиргоо нь omxplayer -тэй холбоотой асуудал үүсгэж болзошгүй юм. Бүх IP камерыг нэг секундэд ижил фрэймд тохируулах ёстой, эс тэгвээс зураг эвдэрнэ. Хүрээний хурдыг эрс өөрөөр тохируулах үед нэг камерын цагны тамга дээр харуулсан цаг хэдхэн секундын турш хойш ухарч, дараа нь урагш, дараа нь буцаана гэх мэт. Таны omxplayer цонхнууд давхцахгүй байгаа эсэхийг шалгаарай, эс бөгөөс давхцаж буй хэсэг нь анивчих болно.
Алхам 2: Үүнийг нэгтгэх
Пи урд хаалганы камерыг харуулахын тулд та кабелийн хайрцаг болон ТВ -ийг гараар удирдаж болно. Гэсэн хэдий ч энэ нь HDMI оролтын эх үүсвэрийг Pi камерын декодер (HDMI 2) болгон өөрчлөхийн тулд бүх нийтийн алсын удирдлагыг кабелийн горимоос ТВ горимд шилжүүлэх зэрэг хэд хэдэн товчлуур дарах шаардлагатай болно. Хэрэв та нэмэлт камерын дэлгэц үзүүлэхийг хүсч байвал Arduino -ийг удирдахын тулд бүх нийтийн алсын удирдлагыг AUX руу шилжүүлэх хэрэгтэй бөгөөд ингэснээр Pi камерын сонголтыг хийх хэрэгтэй. Энэ үйл явцыг хялбарчлахын тулд Harmony Hub болон холбогдох Harmony ухаалаг гар утасны аппликейшнийг ашиглан нэг ТВ -ээр зурагт үзэхийн тулд зурагт, кабелийн хайрцгийг удирдахыг зааж өг, дараа нь Pi видео мониторыг хянахын тулд өөр үйл ажиллагаа үүсгээрэй. Үйл ажиллагаа нь ТВ -ийг асаах, ТВ оролтыг HDMI 2 руу оруулах, виртуал NECx ТВ (өөрөөр хэлбэл, Arduino ба Pi) 0 -ээс 5 хүртэлх товчлууруудыг удирдах явдал юм. Энэ нь ухаалаг гар утасны Harmony програмаар дамжуулан бүх зүйлийг хянах боломжийг олгодог. Амар хялбар болгохын тулд Amazon Echo Dot (Alexa) програмыг Harmony аппликейшнтэй холбон телевизор эсвэл хаалганы хяналтын функцуудыг дуу хоолойгоор хянах боломжтой. Harmony вэбсайт нь эдгээр шинэ Alexa ур чадварыг хэрхэн идэвхжүүлэх талаар дэлгэрэнгүй мэдээллийг өгдөг. Шинэ ур чадвар. Alexa -ийн шинэ ур чадваруудтай холбогдсоны дараа "ТВ асаах" эсвэл "Хаалганы дэлгэцийг асаах" гэх мэт түлхүүр үгс нь бүх нийтийн алсын удирдлагаас IR шаардлагагүй шууд тохирох үйлдлийг идэвхжүүлэх болно.
Pi нь Ethernet -ээр дамжуулан таны LAN -д, HDMI кабелиар телевизортой холбогддог. Би камерын нэмэлт шилжүүлэлтийг нэмэх сонголт болгон 3.3 вольтын Pro Mini -ийг Pi утсаар суулгасан. Pro Mini -ийг 3.3 вольтын зүүгээр тэжээх боломжтой. IR модуль нь Arduino -ийн 2 -р зүүтэй холбогддог бөгөөд хавсаргасан ноорог нь 0 -ээс 5 хүртэл товчлуурыг тайлдаг (үнэндээ 0 -ээс 9 хүртэл, гэхдээ зарим Arduino -ийн зүү хараахан холбогдоогүй байна). Arduino гаралт нь Pi -ийн дижитал оролтын GPIO тээглүүртэй холбогддог бөгөөд bash скрипт тасалдал нь ямар "товчлуур" дарагдсан болохыг тодорхойлж, дараа нь дэлгэц харах нэг сонголтыг зогсоож, өөрийг эхлүүлнэ.
Миний кабелийн хайрцаг нь DCX3510 загварын Motorola DVR загвар болох Spectrum (хуучнаар Time Warner Cable) юм. Энэ нь IR -д зориулсан GI Cable протоколыг ашигладаг. Sony ТВ нь Sony протоколыг ашигладаг. Эдгээр кодуудын аль нэг нь Pi IR хүлээн авагчийг удирдахад тохиромжтой гэж би бодож байсан бөгөөд энэ нь тийм ч үр дүнтэй биш байсан. Алсын удирдлага нь нэмэлт тушаалуудыг хүлээж эсвэл 0-9 товчлуур дарагдсан үед оролтын эх үүсвэрийг автоматаар өөрчлөх болно. Тиймээс би кабель тааруулагч эсвэл ТВ -тэй харьцахгүй өөр код ашиглах шаардлагатай болсон. Би бүх нийтийн алсын удирдлагад AUX төхөөрөмжийн өмнө програмчлагдсан код байсныг олж мэдсэн (үүнийг юу хянаж байгааг мэдэхгүй байна), үүнийг ашиглахаар шийдсэн. Үйлдвэрлэсэн кодууд нь 32 бит кодтой NECx ашигладаг гэж хэлсэн тул би эдгээр товчлуурын кодыг Arduino IR_Rev_Codes_Pi_Monitor -ийн ноорог хэсэгт оруулсан. Хэрэв та өөр загвартай бол програмыг IRLib2 дээрх хүлээн авах програмыг ашиглан өөрчилж, дарагдсан товчлууруудын үйлдвэрлэгч, протокол, зургаан өнцөгтийн утгыг анхаарч үзээрэй.
Алхам 3: Дүгнэлт
Хаалганы хяналт нь гэрийн автоматжуулалтын практик төсөл юм. Энэ бол Py -г Python ашиглан Pi програмчлах анхны туршлага байсан юм. Python нь тасалдлыг програмчлах боломжийг олгодог бөгөөд энэ функцийг би микроконтроллеруудад зориулагдсан гэж бодож байсан. Тасалдал нь програмыг omxplayer ашиглан хэвийн ажиллуулах боломжийг олгодог бөгөөд дэлгэцийг шинэ камер руу шилжүүлэх гэх мэт өөр арга хэмжээ авах шаардлагатай эсэхийг байнга шалгадаг. Гэсэн хэдий ч хэрэв тасалдал гарсан бол програм нь ямар шинэ видео тэжээл оруулах ёстойг тодорхойлдог. Arduino нь Python -ийн тасалдлыг өдөөх импульс өгөхөөр тохируулагдсан болно. Хэрэв тасалдал гарсан бол програм нь тодорхой Arduino гаралт (IR алсын товчлуур дээр дарагдсан харгалзах) идэвхжсэн эсэхийг хайж олох болно. Эцэст нь хэлэхэд, програм нь одоо байгаа бүх тоглуулагчийн дэлгэцийг устгаж, шинэ тоглуулагчийн дэлгэцийг эхлүүлнэ.
Pi нь GPIO зүүгээ Arduino шиг оруулдаггүй гэдгийг би мэдсэн- энэ нь Pi-ийн буруу биш, гэхдээ энэ нь Broadcom BCM2837 нь үйлдвэрээс гаралтай юм. Надад 4 цөмт, 1.2 Гц давтамжтай процессор, бага хүч чадалтай, өндөр чанартай видео харуулах хямд өртөгтэй компьютер таалагддаг. IR товчлуур 1 нь дөрвөлсөн дэлгэцийг харуулдаг бөгөөд 2 -оос 5 хүртэлх товчлуурууд тус бүр нь өндөр нарийвчлалтай камерын нэг том дэлгэцийг харуулдаг.
IR алсын товчлуур 0 -ийг дарснаар видео дэлгэцийг цуцалж, Pi командын мөрийг харуулна. Хэрэв та Youtube видео үзэх эсвэл үүнтэй төстэй зүйлийг үзэхийг хүсч байвал Bluetooth гарыг ашиглан "startx" гэж бичээд Pi хөтчийг ашиглан Youtube видеог үзээд өндөр нарийвчлалтайгаар бүтэн дэлгэцээр тоглуулаарай.
Зөвлөмж болгож буй:
S.H.I.E.L.D - Хэн нэгэн чамайг харж байна уу ?: 4 алхам (зурагтай)
S.H.I.E.L.D - Хэн нэгэн чамайг харж байна уу ?: Би микрофон, камер нь асаалттай байгааг анзаараагүй байхад ичсэн хүмүүсийн бичлэгийг маш их үзсэн нь надад энэ төслийн санааг өгсөн юм. Би C# дээр камер эсвэл микрофон ашиглаж байгааг илрүүлдэг энгийн програм бичсэн
[15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ - TR -064 дээр үндэслэсэн (бета): 4 алхам (зурагтай)
[15мин] Уизли Цаг / Гэрийн индикатор гэж хэн бэ-TR-064 дээр суурилсан (бета хувилбар): UPDATE: 3-р алхамыг үзнэ үү. Урт түүх (TL; DR доорх): Хэсэг хугацааны өмнө би компьютер дээрээ жижиг bash скрипт бичсэн байсан. бүртгэгдсэн төхөөрөмжүүдийг сүлжээгээр сканнердаж, хостуудын нэрийг холбогдох нэртэй жагсаалттай харьцуулж үзээрэй. Төхөөрөмж нэвтрэх тоолонд
Миний хаалган дээр хэн байгаа вэ? PIR Motion Sensor/Range Sensor Project: 5 алхам
Миний хаалган дээр хэн байгаа вэ? PIR Motion Sensor/Range Sensor Project: Манай төсөл нь PIR болон зайны мэдрэгчээр дамжуулан хөдөлгөөнийг мэдрэх зорилготой юм. Arduino код нь хэрэглэгчид ойрхон байгааг хэлэхийн тулд харааны болон аудио дохиог гаргана. MATLAB код нь хэрэглэгчид хэн нэгэн ойрхон байгааг мэдэгдэхийн тулд и -мэйл дохио илгээх болно
Машины камерын камерын холболт: 9 алхам (зурагтай)
Автомашины зурвасын камерын холболт: Видео бичлэг хийх зорилгоор машиныхаа арын хэсэгт видео камер суурилуулах хямд (ХЯМД), үр ашигтай (АЖИЛЛАГААН) арга. Намайг бүртгэхийн тулд! Би горилла штатив, мини штатив туршиж үзсэн. Миний найз буурцагны уут санал болгов. Үүнийг бид хаанаас ч олж чадаагүй) гэхдээ …. T
Pc Sync Jack-ийг Nikon Sc-28 Ttl кабельд нэмнэ үү (Камерын гэрэл, камерын анивчихыг идэвхжүүлэхийн тулд Авто тохиргоог ашиглана уу): 4 алхам
Pc Sync Jack-ийг Nikon Sc-28 Ttl кабельд нэмнэ үү (Камерын гэрэл, камерын анивчсан гэрэл асаахын тулд Авто тохиргоог ашиглана уу !!): энэ зааварчилгааны дагуу би эдгээр 3pin TTL холболтуудын нэгийг хэрхэн яаж устгахыг зааж өгөх болно. Nikon SC-28 камертай TTL кабелийн хажуу талыг стандарт PC синхрончлогчоор солино. Энэ нь танд зориулалтын флаш ашиглах боломжийг олгоно