INHOUDSOPGAWE:
- Stap 1: Vereiste komponente
- Stap 2: Maak 'n afstandtoestel
- Stap 3: sagteware en biblioteke
- Stap 4: Gebruik SSH en installeer Libs
- Stap 5: Bluetooth -protokol
- Stap 6: Gebruik Mezzanine op DragonBoard 410c
- Stap 7: DragonBoard 410c sagteware
Video: Opsporing van noodsituasies - Qualcomm Dragonboard 410c: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
As u op soek is na sekuriteitstelsels wat noodsituasies monitor, kan u agterkom dat dit te moeilik is om alle aangetekende inligting te verwerk. As ons daaroor nadink, besluit ons om ons kennis in klank-/beeldverwerking, sensors en aktuators te gebruik om een volledige stelsel te skep wat situasies waarin mense se lewens in gevaar is, kan voorspel.
Hierdie projek het plaaslike sensor en afgeleë toestelle om data te versamel en na die draakbord te stuur, met 'n verwerkingsvermoë om belangrike inligting uit die ontvangde data te onttrek.
Die afstandsbedieningsapparaat is 'n Arduino-bord met 'n module HC-06 wat moontlik is om al die inligting oor te dra, en 'n goedkoop netwerk wat 'n groot hoeveelheid data kan verwerk.
Stap 1: Vereiste komponente
Eerstens moet u besluit watter sensors en aksies u gaan gebruik, en die argitektuurskets maak.
In ons geval gebruik ons hierdie sensors wat in die ARDUINO Pro Mini saamgevoeg is:
- PIR (passiewe infrarooi-teenwoordigheidssensor)
- DHT 11 (humiditeits- en temperatuursensor)
- CO-sensor (koolstofmonoksied sensor)
- Ruis sensor
Aandrywers:
- motorservo
- zoemer
Kommunikasie:
Bluetooth-module HC-06
Vir die Dragonboard 410c sal ons 'n paar sensors en sagteware hê om al die data -insette te verwerk:
Sensors:
- DHT 11
- Sonligsensor
Aandrywers:
- Relay
- Led-status
- Gonser
Stap 2: Maak 'n afstandtoestel
Dit is nou tyd om al die volgende komponente aan te sluit op die Arduino Board, om 'n toestel te skep wat die data van die atmosfeer (geraas, humiditeit, temperatuur, ens) sal ontvang en met die Bluetooth-module HC-06 na die Dragonboard stuur.
U moet aandag gee aan die verbindings, want al die sensor het spesifieke plekke om te verbind.
Op die stelsel is dit moontlik om meer as een toestel te hê om data te versamel. Hoe meer toestelle u in die omgewing geïnstalleer het, hoe akkurater is die diagnose wat deur dataverwerking gegenereer word. Aangesien dit moontlik sal wees om 'n groter verskeidenheid inligting wat nuttig kan wees, te onttrek.
Ons het besluit om 'n arduino -bord te gebruik omdat dit meer versoenbare sensors het, en dit is moontlik om hierdie afgeleë toestelle op verskillende plekke te installeer en meer inligting te versamel.
Die plaaslike toestel is die DragonBoard 410c, wat klank-, video-, digitale en analoog -inligting verwerk met u kragtige SnapDragon 410 -verwerker.
Plaas van die komponente (Remote Devide)
Die stuk het 'n paar penne wat in die regte penne op die arduino pro mini -bord gekoppel moet word.
Bluetooth-module HC-06 het 4 penne:
- TX (sender) -> gekoppel aan die pen van die RX Arduino
- RX (ontvanger) -> gekoppel aan die pen van die TX Arduino
- VCC -> gekoppel op die 5v
- GND
DHT 11 -sensor het 4 penne (maar slegs 3 in gebruik):
- Sein -> verbind op 'n digitale pen
- VCC -> gekoppel op die 5v
- GND
PIR -sensor het 3 penne:
- Sein -> gekoppel aan 'n digitale pen
- VCC -> gekoppel op die 5v
- GND
Gassensor (MQ) het 4 penne:
- Digital OUT -> verbind op 'n digitale pen (as u digitale inligting wil hê)
- Analoog UIT -> in ons geval gebruik ons dit wat gekoppel is aan 'n analoog pen
- VCC -> gekoppel op die 5v
- GND
Ruis sensor (KY-038) het 3 penne:
- Sein -> gekoppel aan 'n analoog pen
- VCC -> gekoppel op die 5v
- GND
Kode vir Arduino -afstandtoestel:
/ * * Arduino stuur data deur Blutooth * * Die waarde van sensors word gelees, saamgevoeg op * String en gestuur via seriële poort. */ #sluit "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); dryf humiditeit, temperatuur; boolean pir = 0; int co, mic; String msg = ""; char nooi [40]; ongeldige opstelling () {Serial.begin (9600); dht.begin (); } leemte -lus () {humidaty = dht.readHumidity (); temperatuur = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mikrofoon = analogRead (A0); msg = "#;" + String (humidaty) + ";" + String (temperatuur)+ ";"+ String (mikrofoon)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (boodskap); vertraging (2000); }
Kode verduideliking:
Alle penne wat in die Arduino gebruik word, word aan die begin van die kode aangehaal en die onderskeie biblioteke wat benodig word vir die werking van die sensors, word geïnisialiseer. Alle data word aan die onderskeie veranderlikes oorgedra, wat elke 2000 millisekondes die waardes van elke sensor ontvang, en dan word hulle almal in 'n string saamgevoeg, en dan word dit in serie geskryf. Van daar af is dit baie maklik met die pyton -kode wat in die DragonBoard voorkom, om sulke data op te neem.
Stap 3: sagteware en biblioteke
Gebruik alle sagteware en biblioteke in die Qualcomm DragonBoard 410c om al die ontvangde data te verwerk en die veiligheidstelsel te beheer.
In hierdie spesifieke projek gebruik ons:
Sagteware:
- Python
- Arduino
Platvorms:
- Amazon AWS -> aanlyn bediener
- Phant -> Gasheerdatadiens
Biblioteke:
- OpenCV-Videoverwerking (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - klankverwerking (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)
- Knorrig (https://www.numpy.org)
- SciKit1 - Leer en voorspel masjienleer (https://scikit-learn.org/stable/install.html)
- cPickle - Stoor die parameters vir masjienleer (https://pymotw.com/2/pickle/)
- MRAA - Gebruik die GPIO's (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Gebruik die GPIO's (https://github.com/intel-iot-devkit/upm)
- PySerial - Gebruik vir seriële kommunikasie met 'n Bluetooth -toestel (https://pythonhosted.org/pyserial/)
Stap 4: Gebruik SSH en installeer Libs
Eerstens moet u die IP -adres van die Dragonboard kry, om dit te kan doen, moet u die DragonBoard aanskakel met 'n muis, 'n sleutelbord en 'n HDMI -monitor. As die bord aangeskakel is, moet u aan 'n netwerk koppel, dan gaan u na die terminale en voer die opdrag uit:
sudo ifconfig
daarna kan u die IP -adres kry.
Met die IP -adres het u toegang tot die Dragonboard via SHH, om dit te kan doen, moet u 'n terminale oopmaak in 'n rekenaar wat in dieselfde netwerk as die kaart gekoppel is. In die terminale kan u die opdrag uitvoer:
ssh linaro@{IP}
(u moet {IP} vervang met die IP -adres wat u in die Dragonboard kry).
Die eerste lib wat u moet installeer, is die mraa lib. Om dit te kan doen, moet u die volgende opdrag in die terminale uitvoer:
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
Om opencv vir python te installeer, hoef u slegs die opdrag uit te voer:
sudo apt-get install python-opencv
Om PyAudio te installeer, moet u die opdrag uitvoer:
sudo apt-get install python-pyaudio python3-pyaudio
Die libs WAVE en AudioOp is reeds op die bord geïnstalleer. Om numpy te installeer, moet u die opdrag uitvoer:
sudo apt-get install python-numpy python-scipy
Die laaste lib wat u moet installeer, is die scikit, om dit te installeer, moet u pip laat installeer. Dan hoef u slegs die opdrag uit te voer:
pip installeer scikit-lear
Stap 5: Bluetooth -protokol
DragonBoard -verbinding met die Arduino via Bluetooth
Die Bluetooth-module (HC-06) is aanvanklik aan die Arduino Nano gekoppel volgens die volgende voorbeeld:
Gebruik die grafiese koppelvlak van die Linaro (bedryfstelsel wat gebruik word in die huidige projek in DragonBoard), klik aan die regterkant van die onderste balk op die Bluetooth -simbool en klik dan op "Stel 'n nuwe toestel op" en stel dit in met die Bluetooth -module wat dit gekoppel laat. Verifieer dat u module werklik gekoppel is deur weer op die Bluetooth -simbool te klik, klik op "toestelle …" en kyk of die naam van u toestel gelys en gekoppel is. Kies nou u toestel in die skerm "Bluetooth -toestelle" en klik met die rechtermuisknop daarop en let op die poort waarmee u Bluetooth -module gekoppel is (byvoorbeeld: "rfcomm0"). Let wel: die poortnaam waarmee u toestel gekoppel is, is belangrik vir die volgende stap om data -uitruil moontlik te maak.
Die vestiging van DragonBoard Data Exchange en Bluetooth
Ons volg basies die stap vir stap van die skakel: https://www.uugear.com/portfolio/bluetooth-communi…, maar ons het nie die deel van die koppeling uitgevoer nie, slegs die uitvoering van die python-kodes en Arduino. In python is die seriële biblioteek gebruik wat geïnitialiseer is in die poort wat met bluetooth verbind is, daarom lees die luislangkode die data van die sensors wat via die bluetooth -module aan die arduino gekoppel is.
Stap 6: Gebruik Mezzanine op DragonBoard 410c
Om die verbindings tussen die draakbord en die komponente te maak, gebruik ons 'n tipe skild genaamd Mezannine, ontwikkel deur 96 borde.
As u hierdie skild gebruik, word randapparatuur aansluit baie makliker.
Die verbindings wat gebruik word, kom uit die ontwikkelingsstel van die bos, sodat u slegs 'n spesiale kabel gebruik wat beide kante verbind, Al die onderdele kan maklik op hierdie webwerf gevind word:
Ons gebruik hierdie kits hieronder:
- Grove Relay
- Grove sonlig sensor
- Grove led -aansluiting
- Grove temp en humi sensor
- Grove Buzzer
Stap 7: DragonBoard 410c sagteware
Die deel van die program in die DragonBoard is in Python gekodeer en die program wat op die Arduino gebruik is, is ontwikkel in C ++. Elke 2 minute lees die Arduino al die sensor wat daaraan gekoppel is. Stuur die lesing dan via Bluetooth na die DragonBoard. Die DragonBoard kombineer die voorlesing van die Arduino met die voorlesing wat dit deur die mezzanine -skild maak, met die funksies van die klank- en video -monsters.
Met hierdie data probeer die raad voorspel of dit 'n noodsituasie is. Die raad stuur die rou data na die Amazon Web Service met behulp van die Phant en die voorspelling wat dit gemaak het. As die bord voorspel dat dit in 'n vreemde situasie voorkom, probeer dit om die gebruiker te waarsku dat 'n LED en gonser in die mezzanine knipper en dit op die webtoepassing wys. In die webtoepassing is dit ook moontlik om die rou data te sien om te verstaan wat op hierdie gebied gebeur.
Aanbeveel:
Nest -termostaat, opsporing van besetting: 12 stappe
Nest -termostaat, gebruiksopsporing: my outomatiese verkoeling by die huis met my Nest -termostaat is tot onlangs deur IFTTT bestuur deur Life360 se "eerste om by die huis aan te kom" " en " laaste om die huis te verlaat " snellers. Dit was wonderlik, want ek kon familielede by my Li voeg
Vulstasie vir die opsporing van CO: 5 stappe
Vulstasie vir die opsporing van CO: Koolstofmonoksied (CO) is 'n baie gevaarlike gas, omdat dit nie ruik nie, maar nie smaak nie. U kan dit nie sien of met u neus opspoor nie. My doel is om 'n eenvoudige CO -detektor te bou. Eerstens bespeur ek baie klein hoeveelhede van die gas in my huis. Dit is die rede
Ontwikkeling van toepassings met behulp van GPIO -penne op die DragonBoard 410c met Android- en Linux -bedryfstelsels: 6 stappe
Ontwikkeling van toepassings met behulp van GPIO-penne op die DragonBoard 410c met Android- en Linux-bedryfstelsels: Die doel van hierdie tutoriaal is om die inligting te wys wat nodig is om toepassings te ontwikkel met behulp van die GPIO-pen op DragonBoard 410c lae spoeduitbreiding. Hierdie handleiding bied inligting oor die ontwikkeling van toepassings met behulp van die GPIO -penne met SYS op die Andr
Verkeerspatroonanaliseerder met behulp van opsporing van lewendige voorwerpe: 11 stappe (met foto's)
Verkeerspatroonanaliseerder met behulp van opsporing van lewendige voorwerpe: In die hedendaagse wêreld is verkeersligte noodsaaklik vir 'n veilige pad. Verkeersligte kan egter baie keer irriterend wees in situasies waarin iemand die lig nader, net soos dit rooi word. Dit mors tyd, veral as die lig te lank is
Metodes vir die opsporing van watervlak Arduino met behulp van ultraklank sensor en Funduino watersensor: 4 stappe
Metodes vir die opsporing van watervlak Arduino met behulp van ultrasoniese sensor en Funduino watersensor: In hierdie projek sal ek jou wys hoe om 'n goedkoop waterdetektor te maak deur twee metodes te gebruik: 1. Ultrasoniese sensor (HC-SR04) .2. Funduino watersensor