Obsah:

Zjišťování mimořádných situací - Qualcomm Dragonboard 410c: 7 kroků
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c: 7 kroků

Video: Zjišťování mimořádných situací - Qualcomm Dragonboard 410c: 7 kroků

Video: Zjišťování mimořádných situací - Qualcomm Dragonboard 410c: 7 kroků
Video: Mimořádné události. 2024, Červenec
Anonim
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c
Zjišťování mimořádných situací - Qualcomm Dragonboard 410c

Při hledání bezpečnostních systémů, které pracují na monitorování mimořádných situací, je možné si všimnout, že je příliš obtížné zpracovat všechny zaznamenané informace. Když jsme o tom přemýšleli, rozhodli jsme se využít své znalosti v oblasti zpracování zvuku/obrazu, senzorů a akčních členů k vytvoření jednoho kompletního systému, který umožňuje předvídat situace, kdy jsou lidské životy v ohrožení.

Tento projekt má místní senzor a vzdálená zařízení, která shromažďují data a odesílají je na dragonboard, který má výpočetní výkon schopný extrahovat důležité informace z přijatých dat.

Vzdáleným zařízením je deska Arduino s modulem HC-06, který umožňuje přenos všech informací, a levná široká síť schopná zpracovat velké množství dat.

Krok 1: Požadované součásti

Nejprve se musíte rozhodnout, které senzory a akty budete používat, a vytvořit náčrt architektury.

V našem případě používáme tyto senzory připojené v ARDUINO Pro Mini, uvedené níže:

  • PIR (pasivní infračervený-snímač přítomnosti)
  • DHT 11 (snímač vlhkosti a teploty)
  • Senzor CO (snímač oxidu uhelnatého)
  • Senzor hluku

Aktuátory:

  • servo motoru
  • bzučák

Sdělení:

Modul Bluetooth HC-06

K Dragonboardu 410c budeme mít několik senzorů a softwaru pro zpracování všech datových vstupů:

Senzory:

  • DHT 11
  • Senzor slunečního světla

Aktuátory:

  • Relé
  • LED stav
  • Bzučák

Krok 2: Vytvoření vzdáleného zařízení

Vytváření vzdáleného zařízení
Vytváření vzdáleného zařízení

Nyní je čas připojit všechny následující komponenty k desce Arduino, vytvořit zařízení, které bude přijímat data z prostředí (hluk, vlhkost, teplota atd.) A odesílat na Dragonboard pomocí bluetooth modulu HC-06.

Je nutné věnovat pozornost připojením, protože všechny senzory mají specifická místa pro připojení.

V systému je možné mít více než jedno zařízení pro sběr dat. Čím více zařízení máte v prostředí nainstalováno, tím přesnější je diagnostika generovaná zpracováním dat. Protože bude možné extrahovat širší škálu informací, které mohou být užitečné.

Rozhodli jsme se použít desku arduino, protože má více kompatibilních senzorů a je možné instalovat tato vzdálená zařízení na různá místa a shromažďovat další informace.

Místním zařízením je DragonBoard 410c, který zpracovává zvukové, obrazové, digitální a analogové informace pomocí výkonného procesoru SnapDragon 410.

Umístění komponent (Remote Devide)

Jeden kus má několik kolíků, které je třeba zapojit do správných kolíků na mini desce arduino pro.

Modul Bluetooth HC-06 má 4 piny:

  • TX (Transmissor) -> připojeno na pinu RX Arduino
  • RX (přijímač) -> připojeno na pinu TX Arduino
  • VCC -> připojeno na 5v
  • GND

Čidlo DHT 11 má 4 piny (ale pouze 3 při použití):

  • Signál -> připojen na digitální pin
  • VCC -> připojeno na 5v
  • GND

PIR senzor má 3 piny:

  • Signál -> připojen na digitálním pinu
  • VCC -> připojeno na 5v
  • GND

Plynový senzor (MQ) má 4 piny:

  • Digital OUT -> připojeno k digitálnímu pinu (pokud chcete digitální informace)
  • Analog OUT -> v našem případě to používáme připojené na analogový pin
  • VCC -> připojeno na 5v
  • GND

Senzor hluku (KY-038) má 3 piny:

  • Signál -> připojen na analogovém pinu
  • VCC -> připojeno na 5v
  • GND

Kód pro vzdálené zařízení Arduino:

/ * * Arduino odesílá data přes Blutooth * * Hodnoty senzorů se načítají, spojují na * String a odesílají přes 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; Řetězec msg = ""; char nome [40]; neplatné nastavení () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); teplota = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Řetězec (humidaty) + ";" + Řetězec (teplota)+ ";"+ Řetězec (mikrofon)+ ";"+ Řetězec (pir)+ ";" + Řetězec (co) + ";#" + "\ n"; Serial.print (msg); zpoždění (2000); }

Vysvětlení kódu:

Všechny piny použité v Arduinu jsou uvedeny na začátku kódu a inicializovány příslušné knihovny potřebné pro provoz senzorů. Všechna data budou předána do příslušných proměnných, které budou přijímat hodnoty načtené z každého senzoru každých 2000 milisekund, poté budou všechna zřetězena v řetězci a poté zapsána do sériového čísla. Odtamtud je velmi snadné pomocí pytonového kódu přítomného v DragonBoard zachytit taková data.

Krok 3: Softwarové vybavení a knihovny

Ke zpracování všech přijatých dat a ovládání bezpečnostního systému je nutné použít nějaký software a knihovny v Qualcomm DragonBoard 410c.

V tomto konkrétním projektu používáme:

Softwarové vybavení:

  • Krajta
  • Arduino

Plataformy:

  • Amazon AWS -> online server
  • Phant -> Hostitelská datová služba

Knihovny:

  • OpenCV-zpracování videa (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - zpracování 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 předpovídejte strojové učení (https://scikit-learn.org/stable/install.html)
  • cPickle - Uložte parametry strojového učení (https://pymotw.com/2/pickle/)
  • MRAA - Použijte GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Použijte GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - Slouží k sériové komunikaci se zařízením Bluetooth (https://pythonhosted.org/pyserial/)

Krok 4: Použití SSH a instalace Libs

Nejprve musíte získat IP adresu z Dragonboardu, abyste to mohli udělat, musíte zapnout DragonBoard spojený s myší, klávesnicí a monitorem HDMI. Když se deska zapne, musíte se připojit k síti, poté přejděte na terminál a spusťte příkaz:

sudo ifconfig

poté můžete získat IP adresu.

S IP adresou můžete přistupovat k Dragonboardu přes SHH, k tomu potřebujete otevřít terminál v počítači připojeném ve stejné síti jako deska. V terminálu můžete spustit příkaz:

ssh linaro@{IP}

({IP} byste měli nahradit IP adresou, kterou získáte v Dragonboardu).

První lib, které musíte nainstalovat, je mraa lib. Chcete -li to provést, musíte na terminálu spustit následující pří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

K instalaci opencv pro python stačí spustit příkaz:

sudo apt-get install python-opencv

Chcete -li nainstalovat PyAudio, musíte spustit příkaz:

sudo apt-get install python-pyaudio python3-pyaudio

V desce jsou již nainstalovány libs WAVE a AudioOp. Chcete -li nainstalovat numpy, musíte spustit příkaz:

sudo apt-get install python-numpy python-scipy

Poslední lib, který musíte nainstalovat, je scikit, k jeho instalaci musíte mít nainstalovaný pip. Pak stačí spustit příkaz:

pip install scikit-learn

Krok 5: Protokol Bluetooth

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

Spojení DragonBoard s Arduinem pomocí Bluetooth

Modul Bluetooth (HC-06) byl původně připojen k Arduino Nano podle následujícího příkladu:

Pomocí grafického rozhraní Linaro (Operační systém používaný v aktuálním projektu v DragonBoardu) na pravé straně spodní lišty klikněte na symbol Bluetooth a poté klikněte na „Nastavit nové zařízení“a nakonfigurujte tak, aby váš modul Bluetooth zůstal spárovaný. Ověřte, že je váš modul skutečně připojen, opětovným kliknutím na symbol Bluetooth, kliknutím na „Zařízení…“a zkontrolujte, zda je v seznamu uveden a připojen název vašeho zařízení. Nyní vyberte své zařízení na obrazovce „Zařízení Bluetooth“, klikněte na něj pravým tlačítkem a poznamenejte si port, ke kterému je připojen váš modul Bluetooth (např.: „rfcomm0“). Poznámka: Název portu, ke kterému je vaše zařízení připojeno, bude důležitý pro další krok k povolení výměny dat.

Zavádění výměny dat DragonBoard a Bluetooth

V zásadě sledujeme odkaz krok za krokem: https://www.uugear.com/portfolio/bluetooth-communi…, ale část párování jsme neprovedli, pouze provedení kódů pythonu a Arduina. V pythonu byla použita sériová knihovna, která je inicializována v portu připojeném k bluetooth, proto kód pythonu přečetl data ze senzorů, které jsou připojeny k arduinu prostřednictvím bluetooth modulu.

Krok 6: Použití Mezzanine na DragonBoard 410c

Použití Mezzanine na DragonBoard 410c
Použití Mezzanine na DragonBoard 410c

Abychom vytvořili spojení mezi dragonboardem a komponenty, používáme typ štítu nazvaný Mezannine, vyvinutý 96 deskami.

Pomocí tohoto štítu je připojení periferií mnohem snazší.

Konektory používají z vývojové sady Grove, takže je to pouze pomocí specifického kabelu, který spojuje oba způsoby, Všechny díly lze snadno najít na tomto webu:

Následující sady používáme níže:

  • Relé Grove
  • Senzor slunečního světla Grove
  • Grove led zásuvka
  • Grove teplotní a humi senzor
  • Grove Buzzer

Krok 7: Software DragonBoard 410c

Část programu v DragonBoardu byla kódována v Pythonu a program používaný na Arduinu byl vyvinut v C ++. Každé 2 minuty čte Arduino veškerý senzor, který je k němu připojen. Poté Arduino odešle čtení na DragonBoard pomocí Bluetooth. DragonBoard kombinuje čtení z Arduina se čtením, které provádí štít Mezzanine, s funkcemi ze zvukových a video ukázek.

S těmito daty se rada snaží předpovědět, zda nastává nouzová situace. Správní rada odesílá webové službě Amazon pomocí Phantu nezpracovaná data a předpověď, kterou vytvořila. Pokud tabule předpovídá, že dochází k podivné situaci, pokusí se varovat uživatele blikáním LED a bzučáku v Mezaninu a zobrazit ve webové aplikaci. Ve webové aplikaci je také možné vidět nezpracovaná data a porozumět tomu, co se v této oblasti děje.

Doporučuje: