Obsah:
- Krok 1: Požadované komponenty
- Krok 2: Vytvorenie vzdialeného zariadenia
- Krok 3: Softwary a knižnice
- Krok 4: Použitie SSH a inštalácia Libs
- Krok 5: Protokol Bluetooth
- Krok 6: Použitie mezaninu na DragonBoard 410c
- Krok 7: Softvér DragonBoard 410c
Video: Detekcia mimoriadnych situácií - Qualcomm Dragonboard 410c: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
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
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
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
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:
Detekcia vibrácií pomocou modulu snímača kohútika s piezoelektrickým šokom: 6 krokov
Detekcia vibrácií pomocou piezoelektrického modulu snímača klepania: V tomto návode sa naučíme detekovať otrasy pomocou jednoduchého piezoelektrického vibračného modulu a Visuina. Pozrite si ukážkové video
Detekcia objektov pomocou dosiek Sipeed MaiX (Kendryte K210): 6 krokov
Detekcia objektov pomocou dosiek Sipeed MaiX (Kendryte K210): Ako pokračovanie môjho predchádzajúceho článku o rozpoznávaní obrázkov pomocou dosiek Sipeed MaiX Boards som sa rozhodol napísať ďalší návod zameraný na detekciu objektov. V poslednej dobe sa s čipom Kendryte K210 objavil nejaký zaujímavý hardvér, vrátane S
VentMan Časť II: Arduino-automatizovaná detekcia pece pre posilňovacie ventilátory: 6 krokov
VentMan Časť II: Arduino-automatizovaná detekcia pece pre podporné ventilátory: Hlavné body: Toto bol dočasný hack, ktorý mal zistiť, či je spustený môj ventilátorový motor AC/pec, aby sa mohli zapnúť moje dve posilňovacie ventilátory. Potrebujem do svojho potrubia dva pomocné ventilátory, aby tlačili viac teplého/studeného vzduchu do dvoch dvoch izolovaných spální. Ale ja
DIY detekcia pohybu SMS poplachový systém: 5 krokov (s obrázkami)
DIY poplachový systém SMS s detekciou pohybu: V tomto projekte skombinujem lacný pohybový snímač PIR s GSM modulom TC35, aby som vytvoril poplašný systém, ktorý vám pošle upozornenie „VNÚTORNÉHO VNÚTORA“; SMS, kedykoľvek sa vám niekto pokúsi ukradnúť veci. Začnime
Detekcia objektov pomocou Dragonboard 410c alebo 820c pomocou OpenCV a Tensorflow .: 4 kroky
Object Detection W/ Dragonboard 410c or 820c using OpenCV and Tensorflow .: This instructables popisuje how to install OpenCV, Tensorflow, and machine learning frameworks for Python 3.5 to run the Object Detection