Съдържание:
- Стъпка 1: Необходими компоненти
- Стъпка 2: Направете отдалечено устройство
- Стъпка 3: Софтуер и библиотеки
- Стъпка 4: Използване на SSH и инсталиране на Libs
- Стъпка 5: Bluetooth протокол
- Стъпка 6: Използване на мецанин на DragonBoard 410c
- Стъпка 7: Софтуер DragonBoard 410c
Видео: Откриване на извънредни ситуации - Qualcomm Dragonboard 410c: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Търсейки системи за сигурност, които работят за наблюдение на извънредни ситуации, е възможно да се забележи, че е твърде трудно да се обработи цялата записана информация. Мислейки за това, решихме да използваме знанията си в обработката на аудио/изображения, сензори и изпълнителни механизми, за да създадем една цялостна система, която дава възможност да се предскажат ситуации, в които животът на хората е в опасност.
Този проект има локален сензор и отдалечени устройства за събиране на данни и изпращане до драконборда, който има процесорна мощност, способна да извлича важна информация от получените данни.
Отдалеченото устройство е платка 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 протокол
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
За да направим връзките между драконборда и компонентите, използваме вид щит, наречен от 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 необработените данни и прогнозата, която е направил. Ако бордът предвиди, че възниква странна ситуация, той се опитва да предупреди потребителя да мига със светодиод и зумер в мецанина и да се покаже в уеб приложението. В уеб приложението също е възможно да видите необработените данни, за да разберете какво се случва в тази област.
Препоръчано:
Откриване на лице на Raspberry Pi 4B в 3 стъпки: 3 стъпки
Откриване на лица на Raspberry Pi 4B в 3 стъпки: В тази инструкция ще извършим разпознаване на лица на Raspberry Pi 4 с Shunya O/S, използвайки библиотеката Shunyaface. Shunyaface е библиотека за разпознаване/разпознаване на лица. Проектът има за цел да постигне най -бързата скорост на откриване и разпознаване с
Desenvolvendo Приложения за дистанционно управление за Dragonboard 410c Usando IDE Eclipse: 17 стъпки
Desenvolvendo Приложения за дистанционно управление за Dragonboard 410c Usando IDE Eclipse: O обективиране на документи é най -много като етапи, необходими за настройка на ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), atrav é s do IDE Eclipse компилиране os c ó digos e експортиране за Alvo (Плъзнете
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Приложение Android: 6 стъпки
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Приложение Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para defeentes visuais se locomoverem em ambientes indoor como casas ou shopping centres e aeroportos.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Comunicação Serial Com a Dragonboard 410c Usando Мецанин 96 борда Сензори: 7 стъпки
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 борда Сензори: O objetivo desse tutorial é mostrar като etapas need á rias para configurar o ambiente de desenvolvimento, de modo que seja poss í vel comunicar com a Dragonboard 410c atrav é s de um computador / notebook usando comunica & ccedi
Откриване на обекти W/ Dragonboard 410c или 820c с помощта на OpenCV и Tensorflow .: 4 стъпки
Object Detection W/ Dragonboard 410c или 820c Използване на OpenCV и Tensorflow .: Тази инструкция описва как да инсталирате OpenCV, Tensorflow и рамки за машинно обучение за Python 3.5, за да стартирате приложението Object Detection