Съдържание:

Откриване на извънредни ситуации - Qualcomm Dragonboard 410c: 7 стъпки
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c: 7 стъпки

Видео: Откриване на извънредни ситуации - Qualcomm Dragonboard 410c: 7 стъпки

Видео: Откриване на извънредни ситуации - Qualcomm Dragonboard 410c: 7 стъпки
Видео: Crypto Pirates Daily News – 21 января 2022 г. – последнее обновление новостей криптовалюты 2024, Ноември
Anonim
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c
Откриване на извънредни ситуации - Qualcomm Dragonboard 410c

Търсейки системи за сигурност, които работят за наблюдение на извънредни ситуации, е възможно да се забележи, че е твърде трудно да се обработи цялата записана информация. Мислейки за това, решихме да използваме знанията си в обработката на аудио/изображения, сензори и изпълнителни механизми, за да създадем една цялостна система, която дава възможност да се предскажат ситуации, в които животът на хората е в опасност.

Този проект има локален сензор и отдалечени устройства за събиране на данни и изпращане до драконборда, който има процесорна мощност, способна да извлича важна информация от получените данни.

Отдалеченото устройство е платка Arduino с модул HC-06, който позволява превключване на цялата информация и евтина мрежа, способна да обработва голямо количество данни.

Стъпка 1: Необходими компоненти

На първо място, трябва да решите кои сензори и актуатори ще използвате и да направите скица на архитектурата.

В нашия случай използваме тези сензори, свързани в ARDUINO Pro Mini, изброени по -долу:

  • PIR (пасивен инфрачервен-сензор за присъствие)
  • DHT 11 (сензор за влажност и температура)
  • CO сензор (сензор за въглероден окис)
  • Сензор за шум

Задвижващи механизми:

  • моторно серво
  • зумер

Комуникация:

Bluetooth модул HC-06

За Dragonboard 410c ще имаме някои сензори и софтуер за обработка на всички въведени данни:

Сензори:

  • DHT 11
  • Сензор за слънчева светлина

Задвижващи механизми:

  • Реле
  • Състояние на светодиодите
  • Звънец

Стъпка 2: Направете отдалечено устройство

Създаване на отдалечено устройство
Създаване на отдалечено устройство

Сега е време да свържете всички следните компоненти към Arduino Board, създавайки устройство, което ще получава данните от околната среда (шум, влажност, температура и т.н.) и ще ги изпраща към Dragonboard чрез Bluetooth модула HC-06.

Необходимо е да се обърне внимание на връзките, тъй като всички сензори имат специални места за свързване.

В системата е възможно да имате повече от едно устройство за събиране на данни. Колкото повече устройства сте инсталирали в средата, толкова по -точна е диагностиката, генерирана от обработката на данни. Тъй като ще бъде възможно да се извлече по -широк спектър от информация, която може да бъде полезна.

Решихме да използваме платка arduino, тъй като има по -съвместими сензори и е възможно да инсталирате тези отдалечени устройства на различни места, събирайки повече информация.

Локалното устройство е DragonBoard 410c, което обработва аудио, видео, цифрова и аналогова информация с вашия мощен процесор SnapDragon 410.

Поставяне на компонентите (Remote Devide)

Което едно парче има някои щифтове, които трябва да бъдат свързани в десните щифтове на мини платката arduino pro.

Bluetooth модул HC-06 има 4 пина:

  • TX (Transmissor) -> свързан към щифта на RX Arduino
  • RX (приемник) -> свързан към щифта на TX Arduino
  • VCC -> свързан на 5v
  • GND

Сензорът DHT 11 има 4 пина (но само 3 в употреба):

  • Сигнал -> свързан на цифров щифт
  • VCC -> свързан на 5v
  • GND

PIR сензорът има 3 пина:

  • Сигнал -> свързан на цифров щифт
  • VCC -> свързан на 5v
  • GND

Газовият сензор (MQ) има 4 пина:

  • Digital OUT -> свързан към цифров щифт (ако искате цифрова информация)
  • Analog OUT -> в нашия случай използваме това свързано на аналогов щифт
  • VCC -> свързан на 5v
  • GND

Сензорът за шум (KY-038) има 3 пина:

  • Сигнал -> свързан на аналогов щифт
  • VCC -> свързан на 5v
  • GND

Код за отдалечено устройство Arduino:

/ * * Arduino изпраща данни чрез Blutooth * * Стойността на сензорите се чете, сгъва на * String и изпраща през сериен порт. */ #включете "DHT.h" #дефинирайте DHTPIN 3 #дефинирайте DHTTYPE DHT22 #дефинирайте PIRPIN 9 #дефинирайте COPIN A6 DHT dht (DHTPIN, DHTTYPE); поплавък humidaty, температура; булев пир = 0; int co, микрофон; Низ msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); температура = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Низ (humidaty) + ";" + String (температура)+ ";"+ String (mic)+ ";"+ String (pir)+ ";" + Низ (co) + ";#" + "\ n"; Serial.print (msg); забавяне (2000); }

Обяснение на кода:

Всички пинове, използвани в Arduino, са цитирани в началото на кода и съответните библиотеки, необходими за работата на сензорите, се инициализират. Всички данни ще бъдат предавани на съответните променливи, които ще получават стойностите, прочетени от всеки сензор на всеки 2000 милисекунди, след което всички те се свързват в низ, след което се записват на сериен. Оттам е много лесно питонният код, присъстващ в DragonBoard, да улавя такива данни.

Стъпка 3: Софтуер и библиотеки

За да обработите всички получени данни и да контролирате системата за сигурност, е необходимо да използвате някои софтуерни програми и библиотеки в Qualcomm DragonBoard 410c.

В този конкретен проект ние използваме:

Софтуеъри:

  • Python
  • Arduino

Платоформи:

  • Amazon AWS -> онлайн сървър
  • Phant -> Услуга за данни на хоста

Библиотеки:

  • OpenCV-Видео обработка (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Обработка на аудио (https://people.csail.mit.edu/hubert/pyaudio/)
  • Wave (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 - Обучете и предскажете машинното обучение (https://scikit-learn.org/stable/install.html)
  • cPickle - Запазете параметрите на машинното обучение (https://pymotw.com/2/pickle/)
  • MRAA - Използвайте GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Използвайте GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - Използвайте за серийна комуникация с Bluetooth устройство (https://pythonhosted.org/pyserial/)

Стъпка 4: Използване на SSH и инсталиране на Libs

Първо трябва да получите IP адреса от Dragonboard, за да направите това, трябва да включите DragonBoard, свързан с мишка, клавиатура и HDMI монитор. Когато платката се включи, трябва да се свържете с мрежа, след това отидете до терминала и изпълнете командата:

sudo ifconfig

след това можете да получите IP адреса.

С IP адреса можете да получите достъп до Dragonboard чрез SHH, за да направите това, трябва да отворите терминал в компютър, свързан в същата мрежа като платката. В терминала можете да изпълните командата:

ssh linaro@{IP}

(трябва да замените {IP} с IP адреса, който получавате в Dragonboard).

Първият lib, който трябва да инсталирате, е mraa lib. За да направите това, трябва да изпълните следната команда в терминала:

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

За да инсталирате opencv за python, трябва само да изпълните командата:

sudo apt-get install python-opencv

За да инсталирате PyAudio, трябва да изпълните командата:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE и AudioOp вече са инсталирани на дъската. За да инсталирате numpy, трябва да изпълните командата:

sudo apt-get install python-numpy python-scipy

Последният lib, който трябва да инсталирате, е scikit, за да го инсталирате, трябва да имате инсталиран pip. След това трябва само да изпълните командата:

pip install scikit-learn

Стъпка 5: Bluetooth протокол

Bluetooth протокол
Bluetooth протокол
Bluetooth протокол
Bluetooth протокол
Bluetooth протокол
Bluetooth протокол

DragonBoard връзка с Arduino чрез Bluetooth

Bluetooth модулът (HC-06) първоначално беше свързан към Arduino Nano съгласно следния пример:

Използвайки графичния интерфейс Linaro (операционна система, използвана в настоящия проект в DragonBoard), от дясната страна на долната лента щракнете върху символа на Bluetooth и след това върху „Настройка на ново устройство“и конфигурирайте с вашия Bluetooth модул, оставяйки го сдвоен. Проверете дали вашият модул е действително свързан, като щракнете отново върху Bluetooth символа, щракнете върху „Устройства …“и вижте дали името на вашето устройство е посочено и свързано. Сега изберете вашето устройство на екрана „Bluetooth устройства“и щракнете с десния бутон върху него и отбележете порта, към който е свързан вашият Bluetooth модул (напр.: „rfcomm0“). Забележка: Името на порта, към което е свързано вашето устройство, ще бъде важно за следващата стъпка за активиране на обмена на данни.

Установяване на обмен на данни DragonBoard и Bluetooth

По принцип следваме стъпка по стъпка на връзката: https://www.uugear.com/portfolio/bluetooth-communi… но не изпълнихме частта от сдвояването само изпълнението на кодовете на python и Arduino. В python е използвана серийната библиотека, която се инициализира в порта, свързан към bluetooth, следователно кодът на python чете данните на сензорите, които са свързани към arduino чрез Bluetooth модула.

Стъпка 6: Използване на мецанин на DragonBoard 410c

Използване на мецанин на DragonBoard 410c
Използване на мецанин на DragonBoard 410c

За да направим връзките между драконборда и компонентите, използваме вид щит, наречен от Mezannine, разработен от 96 борда.

С помощта на този щит свързването на периферни устройства става много по -лесно.

Използваните конектори са от комплекта за разработка на горичката, така че просто се използва кабел especif, който свързва и двата начина, Всички части могат лесно да бъдат намерени на този уебсайт:

Използваме следните комплекти по -долу:

  • Реле на Гроув
  • Сензор за слънчева светлина Grove
  • Светодиодно гнездо Grove
  • Сензор за температура и хуми в Grove
  • Звуков сигнал на Grove

Стъпка 7: Софтуер DragonBoard 410c

Частта от програмата в DragonBoard е кодирана в Python и програмата, използвана на Arduino, е разработена в C ++. На всеки 2 минути Arduino чете всички сензори, свързани към него. След това Arduino изпраща показанията до DragonBoard чрез Bluetooth. DragonBoard съчетава четенето, идващо от Arduino, с четенето, което прави от мецанинския щит, с функциите от аудиото и видео пробите.

С тези данни Бордът се опитва да предвиди дали възниква извънредна ситуация. Бордът изпраща на Amazon Web Service с помощта на Phant необработените данни и прогнозата, която е направил. Ако бордът предвиди, че възниква странна ситуация, той се опитва да предупреди потребителя да мига със светодиод и зумер в мецанина и да се покаже в уеб приложението. В уеб приложението също е възможно да видите необработените данни, за да разберете какво се случва в тази област.

Препоръчано: