Obsah:

Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c: 7 krokov
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c: 7 krokov

Video: Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c: 7 krokov

Video: Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c: 7 krokov
Video: Антон Мальцев: Head of ML Cherry Labs, Yolo, Transformers, NPU, Neuroscience | ИИ Что Podcast 01 2024, November
Anonim
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c
Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c

Pri pohľade na bezpečnostné systémy, ktoré pracujú na monitorovaní mimoriadnych situácií, je možné si všimnúť, že je príliš ťažké spracovať všetky zaznamenané informácie. Keď o tom premýšľame, rozhodli sme sa využiť svoje znalosti v oblasti spracovania zvuku/obrazu, senzorov a akčných členov k vytvoreniu jedného kompletného systému, ktorý umožňuje predpovedať situácie, v ktorých sú ohrozené životy ľudí.

Tento projekt má lokálny senzor a vzdialené zariadenia na zhromažďovanie údajov a odosielanie na Dragonboard, ktorý má výpočtový výkon schopný extrahovať dôležité informácie z prijatých údajov.

Vzdialeným zariadením je doska Arduino s modulom HC-06, ktorý umožňuje prenos všetkých informácií, a nízkonákladová sieť schopná spracovať veľké množstvo dát.

Krok 1: Požadované komponenty

Najprv sa musíte rozhodnúť, ktoré senzory a akty použijete, a urobiť náčrt architektúry.

V našom prípade používame tieto snímače pripojené k ARDUINO Pro Mini, ktoré sú uvedené nižšie:

  • PIR (pasívny infračervený-snímač prítomnosti)
  • DHT 11 (snímač vlhkosti a teploty)
  • Senzor CO (snímač oxidu uhoľnatého)
  • Senzor hluku

Ovládače:

  • servo motora
  • bzučiak

Komunikácia:

Modul Bluetooth HC-06

K Dragonboardu 410c budeme mať niekoľko senzorov a softvéru na spracovanie všetkých dátových vstupov:

Senzory:

  • DHT 11
  • Senzor slnečného svetla

Ovládače:

  • Relé
  • LED stav
  • Bzučiak

Krok 2: Vytvorenie vzdialeného zariadenia

Výroba vzdialeného zariadenia
Výroba vzdialeného zariadenia

Teraz je čas pripojiť všetky nasledujúce komponenty k doske Arduino, vytvoriť zariadenie, ktoré bude prijímať údaje z prostredia (hluk, vlhkosť, teplota atď.) A odoslať na Dragonboard pomocou modulu bluetooth HC-06.

Je potrebné dávať pozor na pripojenia, pretože všetky senzory majú určené miesta na pripojenie.

V systéme je možné mať viac ako jedno zariadenie na zber údajov. Čím viac zariadení máte v prostredí nainštalovaných, tým presnejšia je diagnostika generovaná spracovaním údajov. Pretože bude možné extrahovať širší rozsah informácií, ktoré môžu byť užitočné.

Rozhodli sme sa použiť dosku arduino, pretože má viac kompatibilných senzorov a je možné nainštalovať tieto vzdialené zariadenia na rôzne miesta a zbierať ďalšie informácie.

Miestnym zariadením je DragonBoard 410c, ktorý pomocou vášho výkonného procesora SnapDragon 410 spracúva zvukové, obrazové, digitálne a analógové informácie.

Umiestnenie komponentov (Remote Devide)

Jeden kus obsahuje kolíky, ktoré je potrebné prepojiť správnymi kolíkmi na mini doske arduino pro.

Modul Bluetooth HC-06 má 4 piny:

  • TX (Transmissor) -> pripojené na pine RX Arduino
  • RX (prijímač) -> pripojený k pinu TX Arduino
  • VCC -> pripojené na 5v
  • GND

Senzor DHT 11 má 4 piny (ale iba 3 pri použití):

  • Signál -> zapojený na digitálnom pine
  • VCC -> pripojené k 5v
  • GND

PIR senzor má 3 piny:

  • Signál -> pripojený na digitálnom pine
  • VCC -> pripojené na 5v
  • GND

Plynový senzor (MQ) má 4 kolíky:

  • Digital OUT -> zapojený na digitálnom pine (ak chcete digitálne informácie)
  • Analógový výstup -> v našom prípade to používame pripojený k analógovému kolíku
  • VCC -> pripojené na 5v
  • GND

Senzor hluku (KY-038) má 3 kolíky:

  • Signál -> pripojený na analógovom pine
  • VCC -> pripojené na 5v
  • GND

Kód pre vzdialené zariadenie Arduino:

/ * * Arduino odosiela údaje cez Blutooth * * Hodnoty senzorov sa načítajú, zreťazia na * reťazci a odošlú cez sériový port. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); float humidaty, teplota; booleovský pir = 0; int co, mic; Reťazec msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } prázdna slučka () {humidaty = dht.readHumidity (); teplota = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Reťazec (vlhký) + ";" + Reťazec (teplota)+ ";"+ Reťazec (mikrofón)+ ";"+ Reťazec (pir)+ ";" + Reťazec (co) + ";#" + "\ n"; Serial.print (msg); oneskorenie (2000); }

Vysvetlenie kódu:

Všetky piny použité v Arduine sú citované na začiatku kódu a inicializované sú príslušné knižnice potrebné pre činnosť senzorov. Všetky údaje budú odoslané do príslušných premenných, ktoré budú prijímať hodnoty načítané z každého senzora každých 2000 milisekúnd, potom sú všetky zreťazené v reťazci a potom sú zapísané v sériovom čísle. Odtiaľ je veľmi jednoduché zachytiť takéto údaje pomocou pytonového kódu prítomného v DragonBoard.

Krok 3: Softwary a knižnice

Na spracovanie všetkých prijatých údajov a ovládanie bezpečnostného systému je potrebné použiť nejaký softvér a knižnice v Qualcomm DragonBoard 410c.

V tomto konkrétnom projekte používame:

Softwary:

  • Python
  • Arduino

Plataformy:

  • Amazon AWS -> online server
  • Phant -> Hostiteľská dátová služba

Knižnice:

  • OpenCV-spracovanie videa (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - spracovanie zvuku (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 - Trénujte a predpovedajte strojové učenie (https://scikit-learn.org/stable/install.html)
  • cPickle - uložte parametre strojového učenia (https://pymotw.com/2/pickle/)
  • MRAA - Použite GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Použite GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - slúži na sériovú komunikáciu so zariadením Bluetooth (https://pythonhosted.org/pyserial/)

Krok 4: Použitie SSH a inštalácia Libs

Najprv musíte získať IP adresu z Dragonboardu, aby ste to urobili, musíte zapnúť DragonBoard spojený s myšou, klávesnicou a monitorom HDMI. Keď je doska zapnutá, musíte sa pripojiť k sieti, potom choďte na terminál a spustite príkaz:

sudo ifconfig

potom môžete získať IP adresu.

Pomocou IP adresy sa na Dragonboard dostanete cez SHH, na to potrebujete otvoriť terminál v počítači pripojenom k rovnakej sieti ako je doska. Na termináli môžete spustiť príkaz:

ssh linaro@{IP}

({IP} by ste mali nahradiť IP adresou, ktorú získate na stránke Dragonboard).

Prvé lib, ktoré musíte nainštalovať, je mraa lib. Aby ste to urobili, musíte na termináli spustiť nasledujúci príkaz:

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

Na inštaláciu opencv pre python stačí spustiť príkaz:

sudo apt-get install python-opencv

Ak chcete nainštalovať PyAudio, musíte spustiť príkaz:

sudo apt-get install python-pyaudio python3-pyaudio

V doske sú už nainštalované libs WAVE a AudioOp. Ak chcete nainštalovať numpy, musíte spustiť príkaz:

sudo apt-get install python-numpy python-scipy

Posledné lib, ktoré musíte nainštalovať, je scikit, aby ste ho nainštalovali, musíte mať nainštalovaný pip. Potom stačí spustiť príkaz:

pip install scikit-learn

Krok 5: Protokol Bluetooth

Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth

Pripojenie DragonBoard k Arduinu prostredníctvom Bluetooth

Modul Bluetooth (HC-06) bol pôvodne pripojený k Arduino Nano podľa nasledujúceho príkladu:

Pomocou grafického rozhrania Linaro (Operačný systém používaný v aktuálnom projekte v programe DragonBoard) v pravej časti spodnej lišty kliknite na symbol Bluetooth a potom kliknite na „Nastaviť nové zariadenie“a nakonfigurujte tak, aby váš modul Bluetooth zostal spárovaný. Overte, či je váš modul skutočne pripojený, znova kliknite na symbol Bluetooth, kliknite na „Zariadenia …“a zistite, či je v zozname uvedený a pripojený názov vášho zariadenia. Teraz vyberte svoje zariadenie na obrazovke „Zariadenia Bluetooth“, kliknite naň pravým tlačidlom myši a všimnite si portu, ku ktorému je pripojený váš modul Bluetooth (napr. „Rfcomm0“). Poznámka: Názov portu, ku ktorému je vaše zariadenie pripojené, bude dôležitý v nasledujúcom kroku, ktorý umožní výmenu údajov.

Zavádzanie výmeny údajov DragonBoard a Bluetooth

V zásade sledujeme odkaz krok za krokom: https://www.uugear.com/portfolio/bluetooth-communi…, ale časť párovania sme nevykonali, iba spustenie kódov pythonu a Arduina. V pythone bola použitá sériová knižnica, ktorá je inicializovaná v porte pripojenom k bluetooth, a preto kód pythonu čítal údaje zo senzorov, ktoré sú pripojené k arduinu prostredníctvom modulu bluetooth.

Krok 6: Použitie mezaninu na DragonBoard 410c

Použitie Mezzanine na DragonBoard 410c
Použitie Mezzanine na DragonBoard 410c

Aby sa vytvorili prepojenia medzi dragonboardom a komponentmi, používame typ štítu nazývaného Mezannine, ktorý vyvinul 96 dosiek.

S týmto štítom je pripojenie periférnych zariadení oveľa jednoduchšie.

Použité konektory pochádzajú z vývojovej sady Grove, takže ide iba o použitie špecifického kábla, ktorý spája oba spôsoby, Všetky diely môžete ľahko nájsť na tomto webe:

Nasledujúce súpravy používame:

  • Relé Grove
  • Senzor slnečného svetla Grove
  • Grove led zásuvka
  • Senzor teploty a humi Grove
  • Grove Buzzer

Krok 7: Softvér DragonBoard 410c

Časť programu v DragonBoarde bola kódovaná v Pythone a program používaný na Arduine bol vyvinutý v C ++. Každé 2 minúty číta Arduino všetok senzor, ktorý je k nemu pripojený. Potom Arduino odošle údaje na DragonBoard pomocou Bluetooth. DragonBoard kombinuje čítanie z Arduina s čítaním, ktoré robí na medziposchodí, s funkciami zo zvukových a obrazových ukážok.

Na základe týchto údajov sa rada pokúša predpovedať, či dochádza k núdzovej situácii. Správna rada odosiela webovej službe Amazon webovú službu pomocou Phantu prvotné údaje a predpovede, ktoré vytvorila. Ak rada predpovedá, že dochádza k zvláštnej situácii, pokúsi sa varovať používateľa blikaním LED a bzučiakom v Mezaníne a zobraziť vo webovej aplikácii. Vo webovej aplikácii je tiež možné vidieť prvotné údaje, aby ste pochopili, čo sa deje v tejto oblasti.

Odporúča: