Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Izrada udaljenog uređaja
- Korak 3: Softver i knjižnice
- Korak 4: Korištenje SSH -a i instaliranje Libs -a
- Korak 5: Bluetooth protokol
- Korak 6: Korištenje mezanina na DragonBoardu 410c
- Korak 7: softver DragonBoard 410c
Video: Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Tražeći sigurnosne sustave koji rade na praćenju hitnih situacija, moguće je primijetiti da je previše teško obraditi sve snimljene podatke. Razmišljajući o tome, odlučili smo upotrijebiti svoje znanje u obradi zvuka/slike, senzorima i aktuatorima za stvaranje jednog cjelovitog sustava koji omogućuje predviđanje situacija u kojima su životi ljudi u opasnosti.
Ovaj projekt ima lokalni senzor i udaljene uređaje za prikupljanje podataka i slanje na dragonboard, koji ima procesorsku snagu sposobnu izvući važne informacije iz primljenih podataka.
Udaljeni uređaj je Arduino ploča s modulom HC-06 koji može prenijeti sve podatke i jeftinom mrežom sposobnom za obradu velike količine podataka.
Korak 1: Potrebne komponente
Prije svega, morate odlučiti koje ćete senzore i aktuatore koristiti i napraviti skicu arhitekture.
U našem slučaju koristimo ove senzore povezane u ARDUINO Pro Mini, navedene u nastavku:
- PIR (pasivni infracrveni-senzor prisutnosti)
- DHT 11 (Senzor vlažnosti i temperature)
- Senzor CO (osjetnik ugljičnog monoksida)
- Senzor buke
Pokretači:
- servo motor
- zujalica
Komunikacija:
Bluetooth modul HC-06
Za Dragonboard 410c imat ćemo neke senzore i softver za obradu svih unosa podataka:
Senzori:
- DHT 11
- Senzor sunčeve svjetlosti
Pokretači:
- Relej
- Led status
- Zvučni signal
Korak 2: Izrada udaljenog uređaja
Sada je vrijeme za povezivanje svih sljedećih komponenti na Arduino ploču, stvaranje uređaja koji će primati podatke iz ambijenta (buka, vlaga, temperatura itd.), I slati na Dragonboard putem bluetooth modula HC-06.
Potrebno je obratiti pozornost na spojeve jer svi senzori imaju specificirana mjesta za spajanje.
U sustavu je moguće imati više uređaja za prikupljanje podataka. Što ste više uređaja instalirali u okruženje, točnija je dijagnostika generirana obradom podataka. Budući da će biti moguće izvući širi raspon informacija koje bi mogle biti korisne.
Odlučili smo se za upotrebu arduino ploče jer ima više kompatibilnih senzora, pa je moguće instalirati ove udaljene uređaje na različitim mjestima, prikupljajući više informacija.
Lokalni uređaj je DragonBoard 410c koji obrađuje audio, video, digitalne i analogne informacije s vašim moćnim procesorom SnapDragon 410.
Postavljanje komponenti (Remote Devide)
Koji komad ima neke igle koje je potrebno spojiti u desne igle na arduino pro mini ploči.
Bluetooth modul HC-06 ima 4 pina:
- TX (Transmisor) -> spojen na pin RX Arduina
- RX (prijemnik) -> spojen na pin TX Arduina
- VCC -> spojen na 5v
- GND
Senzor DHT 11 ima 4 pina (ali samo 3 u upotrebi):
- Signal -> spojen na digitalni pin
- VCC -> spojen na 5v
- GND
PIR senzor ima 3 pina:
- Signal -> spojen na digitalni pin
- VCC -> spojen na 5v
- GND
Senzor plina (MQ) ima 4 igle:
- Digital OUT -> spojen na digitalni pin (ako želite digitalnu informaciju)
- Analog OUT -> u našem slučaju, ovo koristimo spojeno na analogni pin
- VCC -> spojen na 5v
- GND
Senzor buke (KY-038) ima 3 igle:
- Signal -> spojen na analogni pin
- VCC -> spojen na 5v
- GND
Kôd za Arduino udaljeni uređaj:
/ * * Arduino šalje podatke putem Bluetootha * * Vrijednost senzora se čita, spaja na * String i šalje preko serijskog porta. */ #uključuje "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); plutaju vlažno, temperatura; boolean pir = 0; int co, mikrofon; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperature (); pir = digitalno čitanje (PIRPIN); co = analogno čitanje (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (poruka); odgoda (2000); }
Objašnjenje koda:
Svi pinovi koji se koriste u Arduinu navedeni su na početku koda i odgovarajuće knjižnice potrebne za rad senzora se inicijaliziraju. Svi će se podaci proslijediti odgovarajućim varijablama koje će primati vrijednosti očitane sa svakog senzora svakih 2000 milisekundi, zatim se svi povezuju u niz, a zatim zapisuju na serijskom jeziku. Odatle je vrlo lako pomoću pyton koda prisutnog u DragonBoardu zabilježiti takve podatke.
Korak 3: Softver i knjižnice
Za obradu svih primljenih podataka i kontrolu sigurnosnog sustava potrebno je koristiti neke softvere i knjižnice u Qualcomm DragonBoard 410c.
U ovom posebnom projektu koristimo:
Softver:
- Piton
- Arduino
Plataforme:
- Amazon AWS -> mrežni poslužitelj
- Phant -> Host data service
Knjižnice:
- OpenCV-Video obrada (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Obrada zvuka (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 - Vježbajte i predvidite strojno učenje (https://scikit-learn.org/stable/install.html)
- cPickle - Spremite parametre strojnog učenja (https://pymotw.com/2/pickle/)
- MRAA - Koristite GPIO -ove (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Koristite GPIO-ove (https://github.com/intel-iot-devkit/upm)
- PySerial - Koristi se za serijsku komunikaciju s Bluetooth uređajem (https://pythonhosted.org/pyserial/)
Korak 4: Korištenje SSH -a i instaliranje Libs -a
Prije svega trebate dobiti IP adresu od Dragonboard -a, da biste to učinili, morate uključiti DragonBoard povezan mišem, tipkovnicom i HDMI monitorom. Kad se ploča uključi, morate se spojiti na mrežu, a zatim idite na terminal i pokrenite naredbu:
sudo ifconfig
nakon toga možete dobiti IP adresu.
S IP adresom možete pristupiti Dragonboard -u putem SHH -a, da biste to učinili, morate otvoriti terminal na računalu povezanom u istu mrežu kao i ploča. Na terminalu možete pokrenuti naredbu:
ssh linaro@{IP}
(trebali biste zamijeniti {IP} s IP adresom koju dobijete na Dragonboard -u).
Prvi lib koji trebate instalirati je mraa lib. Da biste to učinili, morate pokrenuti sljedeću naredbu u terminalu:
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
Da biste instalirali opencv za python, samo trebate pokrenuti naredbu:
sudo apt-get install python-opencv
Da biste instalirali PyAudio, morate pokrenuti naredbu:
sudo apt-get install python-pyaudio python3-pyaudio
Libovi WAVE i AudioOp već su instalirani na ploči. Da biste instalirali numpy, morate pokrenuti naredbu:
sudo apt-get install python-numpy python-scipy
Zadnji lib koji morate instalirati je scikit, da biste ga instalirali morate imati instaliran pip. Zatim trebate samo pokrenuti naredbu:
pip install scikit-learn
Korak 5: Bluetooth protokol
DragonBoard veza s Arduinom putem Bluetootha
Bluetooth modul (HC-06) u početku je bio spojen na Arduino Nano prema sljedećem primjeru:
Koristeći grafičko sučelje Linaro (operativni sustav koji se koristi u trenutnom projektu u DragonBoardu), s desne strane donje trake kliknite simbol Bluetooth, a zatim kliknite "Postavi novi uređaj" i konfigurirajte s Bluetooth modulom ostavljajući ga uparenim. Provjerite je li vaš modul zaista povezan ponovnim klikom na simbol Bluetooth, kliknite "Uređaji …" i provjerite je li ime vašeg uređaja navedeno i povezano. Sada odaberite svoj uređaj na zaslonu "Bluetooth uređaji" i desnom tipkom miša kliknite na njega te zabilježite priključak na koji je povezan vaš Bluetooth modul (npr.: "rfcomm0"). Napomena: Naziv priključka na koji je vaš uređaj povezan bit će važan za sljedeći korak za omogućavanje razmjene podataka.
Uspostavljanje DragonBoard razmjene podataka i Bluetootha
U osnovi slijedimo korak po korak veze: https://www.uugear.com/portfolio/bluetooth-communi… ali nismo izvršili dio uparivanja samo izvršavanje python kodova i Arduina. U pythonu je korištena serijska knjižnica koja je inicijalizirana u priključku spojenom na bluetooth, stoga je python kod čitao podatke senzora koji su povezani na arduino putem bluetooth modula.
Korak 6: Korištenje mezanina na DragonBoardu 410c
Kako bismo uspostavili veze između zmajeve ploče i komponenti, koristimo vrstu štita zvanu Mezannine, koju je razvilo 96 ploča.
Pomoću ovog štita povezivanje perifernih uređaja postaje mnogo lakše.
Konektori se koriste iz razvojnog kompleta za gaj, pa se samo koristi especif kabel koji povezuje oba smjera, Svi dijelovi mogu se lako pronaći na ovoj web stranici:
Ispod koristimo ove setove:
- Grove relej
- Senzor sunčeve svjetlosti Grove
- Grove LED utičnica
- Grove temp & humi senzor
- Zvučnik Grove
Korak 7: softver DragonBoard 410c
Dio programa u DragonBoardu kodiran je u Pythonu, a program koji se koristio na Arduinu razvijen je u C ++. Svake 2 minute Arduino očitava sve senzore povezane na njega. Zatim Arduino šalje čitanje na DragonBoard putem Bluetootha. DragonBoard kombinira čitanje proizašlo iz Arduina s čitanjem koje stvara mezzaninski štit sa značajkama zvuka i video uzoraka.
S tim podacima Uprava pokušava predvidjeti događa li se hitna situacija. Uprava šalje Amazonovoj web usluzi koristeći Phant neobrađene podatke i predviđanja koja je napravila. Ako ploča predvidi da se događa čudna situacija, pokušajte upozoriti korisnika da trepće LED i zujalicu u polukatu i prikaže u web aplikaciji. U web aplikaciji također je moguće vidjeti sirove podatke kako bi razumjeli što se događa na ovom području.
Preporučeni:
Desenvolvendo aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: 17 koraka
Desenvolvendo Primjene Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é mostrar kao etapas need á rias para configurar o ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), atrav é s do IDE Eclipse compile os c ó digos e exportto para alvo (Povucite
Vision 4all - Sustav Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija Android: 6 koraka
Vision 4all - Sustav Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficentes visuais se locomoverem em ambientes indoor como casas ou shopping centres e aeroportos.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 ploča Senzori: 7 koraka
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 ploča Senzori: O objektivu desse tutorial é mostrar kao etapas need á rias para configurar o ambiente de desenvolvimento, de modo que seja poss í vel comunicar com a Dragonboard 410c atrav é s de um computador / notebook usando comunica & ccedi
Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine: 6 koraka
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: Essa publica ç ã o tem como objetivo mostrar os passos need á rios para desenvolver applica ç õ es anal ó eboard;
Otkrivanje objekata W/ Dragonboard 410c ili 820c pomoću OpenCV -a i Tensorflow .: 4 koraka
Object Detection W/ Dragonboard 410c ili 820c pomoću OpenCV -a i Tensorflow -a .: Ove upute opisuju kako instalirati OpenCV, Tensorflow i okvire strojnog učenja za Python 3.5 za pokretanje aplikacije Object Detection