Mundarija:
- 1 -qadam: kerakli komponentlar
- 2 -qadam: masofaviy qurilmani yaratish
- 3 -qadam: Dasturlar va kutubxonalar
- 4 -qadam: SSH -dan foydalanish va Libs -ni o'rnatish
- 5 -qadam: Bluetooth protokoli
- 6 -qadam: DragonBoard 410c -da mezzaninadan foydalanish
- 7 -qadam: DragonBoard 410c dasturi
Video: Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Favqulodda vaziyatlarni kuzatish uchun ishlaydigan xavfsizlik tizimlarini qidirsangiz, yozib olingan barcha ma'lumotlarni qayta ishlash juda qiyin ekanligini payqash mumkin. O'ylab, biz o'z bilimlarimizni audio/tasvirni qayta ishlash, datchiklar va aktuatorlarda ishlatib, odamlarning hayoti xavf ostida bo'lgan vaziyatlarni bashorat qilishga imkon beradigan yagona tizimni yaratishga qaror qildik.
Ushbu loyiha ma'lumotlarni yig'ish va ajdahoga yuborish uchun mahalliy sensor va masofaviy qurilmalarni o'z ichiga oladi, ular qabul qilingan ma'lumotlardan muhim ma'lumotlarni olish imkoniyatiga ega.
Masofaviy qurilma-bu HC-06 moduliga ega bo'lgan Arduino taxtasi bo'lib, u barcha ma'lumotlarni uzatish imkonini beradi va katta hajmli ma'lumotlarni qayta ishlashga qodir bo'lgan arzon tarmoq.
1 -qadam: kerakli komponentlar
Birinchidan, siz qaysi sensorlar va aktuatolardan foydalanishni hal qilishingiz va arxitektura eskizini tuzishingiz kerak.
Bizning holatimizda, biz ARDUINO Pro Mini -da ulangan bu sensorlardan foydalanamiz, ular quyida keltirilgan:
- PIR (passiv infraqizil-mavjudlik sensori)
- DHT 11 (namlik va harorat sensori)
- CO sensori (uglerod oksidi sensori)
- Shovqin sensori
Aktuatorlar:
- motorli servo
- ovozli signal
Aloqa:
Bluetooth moduli HC-06
Dragonboard 410c -da bizda barcha ma'lumotlarni kiritish uchun sensor va dasturlar bo'ladi:
Sensorlar:
- DHT 11
- Quyosh nuri sensori
Aktuatorlar:
- O'rnimizni
- Led holati
- Buzzer
2 -qadam: masofaviy qurilmani yaratish
Endi quyidagi barcha komponentlarni Arduino platasiga ulash, atrof-muhitdan ma'lumotlarni (shovqin, namlik, harorat va h.k.) oladigan va HC-06 bluetooth moduli orqali Dragonboardga yuboradigan qurilma yaratish vaqti keldi.
Kontsentratsiyaga e'tibor qaratish lozim, chunki barcha sensorlarda kontsentratsiya joylari bor.
Tizimda ma'lumotlarni yig'ish uchun bir nechta qurilmalar bo'lishi mumkin. Atrof -muhitga qancha ko'p qurilmalar o'rnatilsa, ma'lumotlarni qayta ishlash natijasida tashxis qo'yish shunchalik aniq bo'ladi. Chunki foydali bo'lishi mumkin bo'lgan kengroq ma'lumotlarni olish mumkin bo'ladi.
Biz ko'proq mos keladigan sensorlar bo'lgani uchun arduino taxtasidan foydalanishga qaror qildik va bu ma'lumotni boshqa joyga yig'ib, boshqa joylarga o'rnatish mumkin.
Mahalliy qurilma - bu kuchli SnapDragon 410 protsessoringiz yordamida audio, video, raqamli va analogli ma'lumotlarni qayta ishlaydigan DragonBoard 410c.
Komponentlarni joylashtirish (masofadan boshqarish)
Qaysi bitta bo'lakda arduino pro mini -taxtasida to'g'ri pinlarga ulanishi kerak bo'lgan bir nechta pin bor.
Bluetooth moduli HC-06 4 ta pinli:
- TX (Transmissor) -> RX Arduino piniga ulangan
- RX (Qabul qilgich) -> TX Arduino piniga ulangan
- VCC -> 5v ga ulangan
- GND
DHT 11 Sensorida 4 ta pin bor (lekin faqat 3 tasi ishlatiladi):
- Signal -> raqamli pinga ulangan
- VCC -> 5v ga ulangan
- GND
PIR sensori 3 ta pinli:
- Signal -> raqamli pin bilan ulangan
- VCC -> 5v ga ulangan
- GND
Gaz sensori (MQ) 4 ta pinli:
- Raqamli chiqish -> raqamli pinga ulangan (agar siz raqamli ma'lumotni xohlasangiz)
- Analog OUT -> bizning holatimizda biz analog pin orqali ulanganmiz
- VCC -> 5v ga ulangan
- GND
Shovqin sensori (KY-038) 3 ta pinli:
- Signal -> analog pin orqali ulangan
- VCC -> 5v ga ulangan
- GND
Arduino masofaviy qurilmasi uchun kod:
/ * * Arduino ma'lumotlarni Blutooth orqali yuboradi * * Datchiklarning qiymati o'qiladi, * String -da biriktiriladi va ketma -ket port orqali yuboriladi. */ #"DHT.h" ni qo'shish #DHTPIN 3ni belgilash #DHTTYPE DHT22ni belgilash #PIRPIN 9ni belgilash #COPIN A6 DHT dht (DHTPIN, DHTTYPE); havo namligi, harorat; mantiqiy pir = 0; int, mikrofon; String msg = ""; char nom [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); harorat = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mikrofon = analogRead (A0); msg = "#;" + String (namlik) + ";" + String (harorat)+ ";"+ String (mikrofon)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); kechikish (2000); }
Kodni tushuntirish:
Arduino -da ishlatiladigan barcha pinlar kodning boshida keltirilgan va sensorlarning ishlashi uchun kerakli kutubxonalar ishga tushirilgan. Barcha ma'lumotlar har bir millisekundda har bir sensordan o'qiladigan qiymatlarni oladigan tegishli o'zgaruvchilarga uzatiladi, so'ngra ularning barchasi satrda birlashtiriladi, so'ngra ketma -ket yoziladi. U erdan DragonBoard -da mavjud bo'lgan pyton kodini bunday ma'lumotlarni olish juda oson.
3 -qadam: Dasturlar va kutubxonalar
Qabul qilingan barcha ma'lumotlarni qayta ishlash va xavfsizlik tizimini boshqarish uchun Qualcomm DragonBoard 410c dasturlari va kutubxonalaridan foydalanish kerak.
Ushbu maxsus loyihada biz foydalanamiz:
Dasturiy ta'minot:
- Python
- Arduino
Plataformlar:
- Amazon AWS -> onlayn server
- Phant -> Xost ma'lumotlari xizmati
Kutubxonalar:
- OpenCV-videoni qayta ishlash (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Ovozni qayta ishlash (https://people.csail.mit.edu/hubert/pyaudio/)
- To'lqin (https://www.physionet.org/physiotools/wave-installation.shtm)
- AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
- Numpy (https://www.numpy.org)
- SciKit1 - Mashinani o'rganishni o'rgating va bashorat qiling (https://scikit-learn.org/stable/install.html)
- cPickle - Mashinani o'rganish parametrlarini saqlang (https://pymotw.com/2/pickle/)
- MRAA - GPIO -dan foydalaning (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-GPIO-dan foydalaning (https://github.com/intel-iot-devkit/upm)
- PySerial - Bluetooth qurilmasi bilan ketma -ket muloqot qilish uchun foydalaning (https://pythonhosted.org/pyserial/)
4 -qadam: SSH -dan foydalanish va Libs -ni o'rnatish
Avvalo, siz Dragonboard -dan IP -manzilni olishingiz kerak, buning uchun sichqoncha, klaviatura va HDMI monitor bilan bog'langan DragonBoard -ni yoqishingiz kerak. Kengash yoqilganda, siz terminalga borib, buyruqni bajarishdan ko'ra, tarmoqqa ulanishingiz kerak bo'ladi:
sudo ifconfig
Shundan so'ng siz IP -manzilni olishingiz mumkin.
IP -manzil yordamida siz Dragonboard -ga SHH orqali kirishingiz mumkin, buning uchun kompyuter bilan bir xil tarmoqqa ulangan terminalni ochish kerak. Terminalda siz buyruqni bajarishingiz mumkin:
ssh linaro@{IP}
(siz {IP} -ni Dragonboard -da olingan IP -manzil bilan almashtirishingiz kerak).
O'rnatishingiz kerak bo'lgan birinchi lib - bu mraa lib. Buni amalga oshirish uchun terminalda quyidagi buyruqni bajarish kerak:
sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa
Python uchun opencv -ni o'rnatish uchun faqat buyruqni bajarish kerak:
sudo apt-get install python-opencv
PyAudio -ni o'rnatish uchun siz buyruqni bajarishingiz kerak:
sudo apt-get python-pyaudio python3-pyaudio ni o'rnating
WAVE va AudioOp libsi allaqachon taxtaga o'rnatilgan. Numpy -ni o'rnatish uchun siz buyruqni bajarishingiz kerak:
sudo apt-get python-numpy python-scipy-ni o'rnating
O'rnatish kerak bo'lgan oxirgi lib - bu skikit, uni o'rnatish uchun pip o'rnatish kerak. Siz faqat buyruqni bajarishingiz kerak:
pip scikit-lear-ni o'rnating
5 -qadam: Bluetooth protokoli
Bluetooth orqali Arduino bilan DragonBoard aloqasi
Bluetooth moduli (HC-06) dastlab quyidagi misol bo'yicha Arduino Nano-ga ulangan:
Linaro (operatsion tizim DragonBoard -dagi joriy loyihada ishlatilgan) grafik interfeysidan foydalanib, pastki satrning o'ng tomonida Bluetooth belgisini bosing, so'ng "Yangi qurilmani sozlash" -ni bosing va Bluetooth modulini juft holda qoldiring. Bluetooth simvolini yana bir marta bosish orqali modulingiz haqiqatan ham ulanganligini tekshiring, "Qurilmalar …" tugmasini bosing va qurilmangiz nomi ko'rsatilgan yoki ulanganligini tekshiring. Endi "Bluetooth qurilmalari" ekranida qurilmangizni tanlang va ustiga o'ng tugmasini bosing va Bluetooth moduli ulangan portga e'tibor bering (masalan: "rfcomm0"). Eslatma: Sizning qurilmangiz ulangan port nomi keyingi bosqichda ma'lumot almashishni faollashtirish uchun muhim bo'ladi.
DragonBoard ma'lumotlar almashinuvi va Bluetooth -ni o'rnatish
Asosan biz havolani bosqichma-bosqich bajaramiz: https://www.uugear.com/portfolio/bluetooth-communi…, lekin biz juftlik qismini faqat python kodlari va Arduino bajarilishini bajarmadik. Pythonda bluetooth -ga ulangan portda boshlangan ketma -ket kutubxona ishlatilgan, shuning uchun python kodi bluetooth moduli orqali arduino -ga ulangan sensorlar ma'lumotlarini o'qiydi.
6 -qadam: DragonBoard 410c -da mezzaninadan foydalanish
Ajdaho taxtasi va komponentlar orasidagi aloqani o'rnatish uchun biz 96 ta taxtadan ishlab chiqilgan Mezannine deb nomlangan qalqon turini ishlatamiz.
Ushbu qalqon yordamida tashqi qurilmalarni ulash ancha osonlashadi.
Ulagichlar Grove -ning ishlab chiqarish to'plamidan olingan, shuning uchun u faqat ikkita yo'lni bog'laydigan maxsus kabeldan foydalanadi.
Barcha qismlarni ushbu veb-saytda osongina topish mumkin:
Biz quyidagi to'plamlardan foydalanamiz:
- Grove estafetasi
- Grove quyosh nuri sensori
- Grove boshli soket
- Grove harorati va gumi sensori
- Grove Buzzer
7 -qadam: DragonBoard 410c dasturi
DragonBoard -dagi dastur qismi Python -da kodlangan va Arduino -da ishlatiladigan dastur C ++ da ishlab chiqilgan. Har 2 daqiqada Arduino unga biriktirilgan sensorni o'qiydi. Arduino o'qishni Bluetooth orqali DragonBoard -ga yuboradi. DragonBoard, Arduino -dan kelgan o'qishni, Mezzanin qalqoni tomonidan o'qilgan va audio va video namunalaridagi xususiyatlarni birlashtiradi.
Ushbu ma'lumotlar yordamida Kengash favqulodda vaziyat yuzaga kelishini taxmin qilishga harakat qiladi. Kengash Amazon veb -xizmatiga Phant yordamida xom ma'lumotlar va uning bashoratini yuboradi. Agar boshqaruv kengashi g'alati holat yuz berayotganini bashorat qilsa, u foydalanuvchini "Mezzanine" dagi chiroq va miltillovchi signalni miltillovchi va veb -ilovada ko'rsatadigan ogohlantirishga harakat qiladi. Veb -ilovada, shuningdek, bu sohada nima bo'layotganini tushunish uchun xom ma'lumotlarni ko'rish mumkin.
Tavsiya:
Batareyasiz favqulodda LED chiroq: 10 qadam
Batareyasiz favqulodda LED mash'ali: Hammaga salom, bu mening birinchi ko'rsatmam, shuning uchun sizning fikr -mulohazalaringiz menga yanada yaxshilanishimga yordam beradi. Boshqa loyihalar uchun YouTube kanalimga ham qarang.https: //www.youtube.com/channel/UCy7KKu5hVrFcyWw32 .. Bugun men sizga ko'rsataman
Favqulodda USB quvvat manbai (3D bosilgan): 4 qadam (rasmlar bilan)
Favqulodda USB quvvat manbai (3D bosma): Ushbu loyiha, avtomobilda bo'lgani kabi, elektr uzilishi yoki lagerda USB qurilmalarini zaryadlash uchun 12V batareyadan foydalanadi. Batareyaga USB avtomobil zaryadlovchisini ulash kabi oddiy. "Sendi" bo'ronidan keyin men kuchsiz qoldim
Yuzni aniqlash va aniqlash - OpenCV Python va Arduino yordamida Arduino Face ID: 6 qadam
Yuzni aniqlash va aniqlash | OpenCV Python va Arduino yordamida Arduino Face ID: yuzni aniqlash AKA yuz identifikatori hozirgi vaqtda mobil telefonlarning eng muhim xususiyatlaridan biridir. Shunday qilib, menda "Arduino loyihasi uchun yuz identifikatori bo'lishi mumkinmi?" Degan savol bor edi. va javob ha … Mening sayohatim quyidagicha boshlandi: 1 -qadam: Bizga kirish
OpenCV va Tensorflow yordamida Dragonboard 410c yoki 820c bilan ob'ektlarni aniqlash: 4 qadam
OpenCV va Tensorflow -dan foydalangan holda W/ Dragonboard 410c yoki 820c obyektlarni aniqlash: Bu ko'rsatmalarni Ob'ektlarni aniqlash dasturini ishga tushirish uchun Python 3.5 uchun OpenCV, Tensorflow va mashinani o'rganish ramkalarini qanday o'rnatishni tasvirlaydi
Favqulodda quvvat banki - DIY asboblar qutisi Quyosh: Radio+ Zaryadlovchi+ Favqulodda vaziyatlar uchun yorug'lik !: 4 qadam
Favqulodda quvvat banki - DIY asboblar qutisi Quyosh: Radio+ Zaryadlovchi+ Favqulodda vaziyatlar uchun yorug'lik !: 2015 yil 28 -martni qo'shing: Men favqulodda vaziyatlar uchun asboblar qutisini qildim va hozirda mening shahrim loyga ko'milganini ishlatdim. Tajriba sifatida aytishim mumkinki, men telefonlarni zaryad qilish va radio tinglash uchun xizmat qilganman. Eski asboblar qutisi? eski kompyuter dinamikmi? ishlatilmagan 12 voltli batareya? Siz