Mundarija:

Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c: 7 qadam
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c: 7 qadam

Video: Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c: 7 qadam

Video: Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c: 7 qadam
Video: FAVQULODDA VAZIYATLAR BILAN BIR KUN 2024, Noyabr
Anonim
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c
Favqulodda vaziyatlarni aniqlash - Qualcomm Dragonboard 410c

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

Masofaviy qurilmani yaratish
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 protokoli
Bluetooth protokoli
Bluetooth protokoli
Bluetooth protokoli
Bluetooth protokoli
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

DragonBoard 410c -da mezzaninadan foydalanish
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: