Kazalo:
- Korak: Potrebne komponente
- 2. korak: Izdelava oddaljene naprave
- 3. korak: Programska oprema in knjižnice
- 4. korak: Uporaba SSH in namestitev Libs
- 5. korak: Bluetooth protokol
- Korak 6: Uporaba mezzanina na DragonBoard 410c
- 7. korak: Programska oprema DragonBoard 410c
Video: Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Če iščemo varnostne sisteme, ki spremljajo nujne primere, je mogoče opaziti, da je preveč težko obdelati vse posnete podatke. Če razmišljamo o tem, smo se odločili, da svoje znanje uporabimo pri obdelavi zvoka/slike, senzorjih in aktuatorjih, da ustvarimo en celoten sistem, ki omogoča napovedovanje situacij, v katerih je življenje ljudi v nevarnosti.
Ta projekt ima lokalni senzor in oddaljene naprave za zbiranje podatkov in pošiljanje na dragonboard, ki ima procesorsko moč, ki lahko iz prejetih podatkov izvleče pomembne informacije.
Oddaljena naprava je plošča Arduino z modulom HC-06, ki omogoča obračanje vseh podatkov in nizkocenovno široko omrežje, ki lahko obdeluje veliko količino podatkov.
Korak: Potrebne komponente
Najprej se morate odločiti, katere senzorje in aktuacije boste uporabili, ter narediti skico arhitkture.
V našem primeru uporabljamo te senzorje, povezane v ARDUINO Pro Mini, ki so navedeni spodaj:
- PIR (pasivni infrardeči-senzor prisotnosti)
- DHT 11 (senzor vlažnosti in temperature)
- Senzor CO (senzor ogljikovega monoksida)
- Senzor hrupa
Pogon:
- servo motorja
- buzzer
Komunikacija:
Modul Bluetooth HC-06
Za Dragonboard 410c bomo imeli nekaj senzorjev in programske opreme za obdelavo vseh vnosov podatkov:
Senzorji:
- DHT 11
- Senzor sončne svetlobe
Pogon:
- Relej
- Led status
- Buzzer
2. korak: Izdelava oddaljene naprave
Zdaj je čas, da vse naslednje komponente povežete z Arduino Board in ustvarite napravo, ki bo prejemala podatke iz okolja (hrup, vlaga, temperatura itd.) In jih prek modula Bluetooth HC-06 pošiljala na Dragonboard.
Na povezave je treba biti pozoren, saj imajo vsi senzorji določena mesta za povezavo.
V sistemu je mogoče imeti več kot eno napravo za zbiranje podatkov. Več naprav, ki ste jih namestili v okolje, natančnejša je diagnostika, ki jo ustvari obdelava podatkov. Ker bo mogoče pridobiti širši nabor informacij, ki bi bile lahko koristne.
Odločili smo se za uporabo arduino plošče, ker ima več kompatibilnih senzorjev, te oddaljene naprave pa je mogoče namestiti na drugačna mesta in zbrati več informacij.
Lokalna naprava je DragonBoard 410c, ki obdeluje zvočne, video, digitalne in analogne informacije z vašim zmogljivim procesorjem SnapDragon 410.
Namestitev komponent (Remote Devide)
Kateri kos ima nekaj zatičev, ki jih je treba priključiti v desne zatiče na mini plošči arduino pro.
Modul Bluetooth HC-06 ima 4 zatiči:
- TX (Transmisor) -> priključen na pin RX Arduino
- RX (sprejemnik) -> povezan na pin TX Arduino
- VCC -> priključen na 5v
- GND
Senzor DHT 11 ima 4 zatiče (vendar so v uporabi le 3):
- Signal -> povezan na digitalni pin
- VCC -> priključen na 5v
- GND
Senzor PIR ima 3 zatiči:
- Signal -> povezan na digitalni pin
- VCC -> priključen na 5v
- GND
Senzor plina (MQ) ima 4 zatiči:
- Digital OUT -> povezan na digitalni pin (če želite digitalne podatke)
- Analog OUT -> v našem primeru uporabljamo to, priključeno na analogni pin
- VCC -> priključen na 5v
- GND
Senzor hrupa (KY-038) ima 3 zatiči:
- Signal -> priključen na analogni pin
- VCC -> priključen na 5v
- GND
Koda za oddaljeno napravo Arduino:
/ * * Arduino pošilja podatke prek Bluetootha * * Vrednost senzorjev se bere, združuje na * String in pošilja prek serijskih vrat. */ #vključi "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); plavajoče vlažno, temperatura; logični pir = 0; int co, mikrofon; Niz msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperature (); pir = digitalno branje (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Niz (vlažen) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + Niz (co) + ";#" + "\ n"; Serial.print (sporočilo); zamuda (2000); }
Razlaga kode:
Vsi zatiči, ki se uporabljajo v Arduinu, so navedeni na začetku kode in ustrezne knjižnice, potrebne za delovanje senzorjev, se inicializirajo. Vsi podatki bodo posredovani ustreznim spremenljivkam, ki bodo prejele vrednosti, prebrane od vsakega senzorja vsakih 2000 milisekund, nato pa se bodo vse združile v niz, nato pa bodo zapisane v zaporedju. Od tam je zelo enostavno s kodo pytona, ki je prisotna v DragonBoardu, zajeti take podatke.
3. korak: Programska oprema in knjižnice
Za obdelavo vseh prejetih podatkov in nadzor varnostnega sistema je potrebno uporabiti nekaj programske opreme in knjižnic v Qualcomm DragonBoard 410c.
V tem posebnem projektu uporabljamo:
Programska oprema:
- Python
- Arduino
Plataforme:
- Amazon AWS -> spletni strežnik
- Phant -> Podatkovna storitev gostitelja
Knjižnice:
- OpenCV-obdelava videa (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Avdio obdelava (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 - Usposabljanje in predvidevanje strojnega učenja (https://scikit-learn.org/stable/install.html)
- cPickle - Shranite parametre strojnega učenja (https://pymotw.com/2/pickle/)
- MRAA - Uporabite GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Uporabite GPIO-je (https://github.com/intel-iot-devkit/upm)
- PySerial - Uporabite za serijsko komunikacijo z napravo Bluetooth (https://pythonhosted.org/pyserial/)
4. korak: Uporaba SSH in namestitev Libs
Najprej morate dobiti naslov IP iz Dragonboard -a, da to storite, morate vklopiti DragonBoard, povezan z miško, tipkovnico in monitorjem HDMI. Ko se plošča vklopi, se morate povezati z omrežjem, nato pojdite na terminal in zaženite ukaz:
sudo ifconfig
po tem lahko dobite naslov IP.
Z naslovom IP lahko dostopate do Dragonboard -a prek SHH, zato morate odpreti terminal v računalniku, ki je povezan v istem omrežju kot plošča. V terminalu lahko zaženete ukaz:
ssh linaro@{IP}
({IP} zamenjajte z naslovom IP, ki ga dobite v Dragonboard -u).
Prvi lib, ki ga morate namestiti, je mraa lib. Če želite to narediti, morate v terminalu zagnati naslednji ukaz:
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
Če želite namestiti opencv za python, morate zagnati le ukaz:
sudo apt-get install python-opencv
Če želite namestiti PyAudio, morate zagnati ukaz:
sudo apt-get install python-pyaudio python3-pyaudio
Libs WAVE in AudioOp sta že nameščena na plošči. Če želite namestiti numpy, morate zagnati ukaz:
sudo apt-get install python-numpy python-scipy
Zadnji lib, ki ga morate namestiti, je scikit, če ga želite namestiti, morate imeti nameščen pip. Nato morate zagnati samo ukaz:
pip install scikit-learn
5. korak: Bluetooth protokol
DragonBoard Povezava z Arduinom prek Bluetootha
Modul Bluetooth (HC-06) je bil sprva povezan z Arduino Nano po naslednjem primeru:
Z grafičnim vmesnikom Linaro (operacijski sistem, ki se uporablja v trenutnem projektu v DragonBoardu), na desni strani spodnje vrstice kliknite simbol Bluetooth, nato kliknite »Nastavi novo napravo« in ga nastavite tako, da modul Bluetooth pusti seznanjenega. Preverite, ali je vaš modul dejansko povezan, tako da znova kliknete simbol Bluetooth, kliknite »Naprave…« in preverite, ali je ime vaše naprave navedeno in povezano. Zdaj izberite svojo napravo na zaslonu "Naprave Bluetooth" in z desno miškino tipko kliknite nanjo ter si oglejte vrata, na katera je priključen vaš modul Bluetooth (npr.: "rfcomm0"). Opomba: Ime vrat, s katerimi je povezana vaša naprava, bo pomembno za naslednji korak, da omogočite izmenjavo podatkov.
Vzpostavitev izmenjave podatkov DragonBoard in Bluetooth
V bistvu sledimo korak za korakom na povezavi: https://www.uugear.com/portfolio/bluetooth-communi…, vendar dela seznanjanja nismo izvedli le z izvajanjem kod Python in Arduina. V pythonu je bila uporabljena serijska knjižnica, ki je inicializirana v vratih, povezanih z bluetoothom, zato je koda python prebrala podatke senzorjev, ki so prek modula bluetooth povezani z arduinom.
Korak 6: Uporaba mezzanina na DragonBoard 410c
Za vzpostavitev povezave med zmajevalno ploščo in sestavnimi deli uporabljamo vrsto ščita, imenovanega Mezannine, ki ga je razvilo podjetje 96boards.
Z uporabo tega ščita je povezovanje zunanjih naprav veliko lažje.
Priključki, ki jih uporablja, so iz razvojnega kompleta za nasad, zato uporablja samo kabel especif, ki povezuje obe smeri, Vse dele lahko enostavno najdete na tej spletni strani:
Spodaj uporabljamo te komplete:
- Grove rele
- Senzor sončne svetlobe Grove
- LED vtičnica Grove
- Senzor za temperaturo in humi Grove
- Grove Buzzer
7. korak: Programska oprema DragonBoard 410c
Del programa v DragonBoardu je bil kodiran v Pythonu, program, ki se uporablja na Arduinu, pa je bil razvit v C ++. Vsaki 2 minuti Arduino prebere ves senzor, ki je nanj pritrjen. Nato Arduino pošlje branje na DragonBoard prek Bluetootha. DragonBoard združuje branje, ki je prišlo iz Arduina, z branjem, ki ga naredi na mezzaninskem ščitu, z značilnostmi zvočnih in video vzorcev.
S temi podatki odbor poskuša predvideti, ali se pojavljajo izredne razmere. Upravni odbor pošlje spletni storitvi Amazon s pomočjo Phanta neobdelane podatke in napovedi, ki jih je naredil. Če tabla predvideva, da se dogaja čudna situacija, poskuša uporabnika opozoriti, da v mezzaninu utripa LED in brenčalo, ter jo prikazati v spletni aplikaciji. V spletni aplikaciji je mogoče videti tudi surove podatke, da bi razumeli, kaj se dogaja na tem področju.
Priporočena:
Žarnica za zaznavanje zvoka: 5 korakov
Žarnica za zaznavanje zvoka. Oblikovanje je načrtovanje in misel, da bi nekaj ustvarili. Projekt, ki izvira iz vaše domišljije in ga uresničuje. Pri oblikovanju morate biti prepričani, da veste, kaj je oblikovalsko razmišljanje. Oblikovalsko razmišljanje je način, kako vse načrtujete vnaprej. Za
Bencinska črpalka za zaznavanje CO: 5 korakov
Bencinska črpalka za odkrivanje CO: Ogljikov monoksid (CO) je zelo nevaren plin, ker ne diši, nima okusa. Ne morete ga videti ali zaznati z nosom. Moj cilj je izdelati preprost detektor CO. Prvič, v svoji hiši zaznam zelo majhne količine tega plina. To je razlog,
Nočna svetloba: zaznavanje gibanja in teme - brez mikro: 7 korakov (s slikami)
Nočna svetloba zaznavanja gibanja in teme Lahko bi rekli, da je to zaradi vaše lastne varnosti, če ponoči vstanete in poskušate varno priti do vrat. Seveda lahko uporabite nočno svetilko ali glavno
Kako uporabljati zaznavanje barve TCS3200 s SkiiiD: 9 korakov
Kako uporabljati Detect Color TCS3200 s SkiiiD: Vadnica za razvoj Detect Color TCS3200 s skiiiD
Zaznavanje gibanja pod osvetlitvijo postelje: 16 korakov (s slikami)
Gibanje pod posteljno razsvetljavo: Ste kdaj poskušali ponoči tiho vstati iz postelje, samo da bi se kaj spotaknili in zbudili vso hišo? Nočne luči z zaznavanjem gibanja, ki so diskretno nameščene pod vašo posteljo, zagotavljajo svetlobo nizke stopnje, ki je dovolj svetla, da vas vodi okoli teh potepuških kock LEGO