Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Izrada udaljenog uređaja
- Korak 3: Softver i biblioteke
- Korak 4: Korištenje SSH -a i instaliranje Libs -a
- Korak 5: Bluetooth protokol
- Korak 6: Korištenje mezanina na DragonBoardu 410c
- Korak 7: DragonBoard 410c softver
Video: Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Tražeći sigurnosne sisteme 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 sistema koji omogućava 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 omogućuje prenošenje svih informacija 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, dolje navedene:
- PIR (pasivni infracrveni-senzor prisutnosti)
- DHT 11 (Senzor vlažnosti i temperature)
- Senzor CO (senzor ugljičnog monoksida)
- Senzor buke
Pokretači:
- servo motora
- 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
- Zujalica
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 pažnju na spojeve, jer svi senzori imaju specificirana mjesta za povezivanje.
Na sistemu 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 sa vašim moćnim SnapDragon 410 procesorom.
Postavljanje komponenti (Remote Devide)
Koji komad ima neke pinove koje je potrebno spojiti u desne pinove 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 -> povezan 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 -> povezan 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); pluta vlažno, temperatura; boolean pir = 0; int co, mic; 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 = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); kašnjenje (2000); }
Objašnjenje koda:
Svi pinovi koji se koriste u Arduinu navedeni su na početku koda i odgovarajuće biblioteke potrebne za rad senzora se inicijaliziraju. Svi podaci će biti proslijeđeni 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 uhvatiti takve podatke.
Korak 3: Softver i biblioteke
Za obradu svih primljenih podataka i kontrolu sigurnosnog sistema potrebno je koristiti neke softvere i biblioteke u Qualcomm DragonBoard 410c.
U ovom posebnom projektu koristimo:
Softver:
- Python
- Arduino
Plataforme:
- Amazon AWS -> mrežni poslužitelj
- Phant -> Host data service
Biblioteke:
- OpenCV-Video obrada (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Audio obrada (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 - Obučite i predvidite mašinsko učenje (https://scikit-learn.org/stable/install.html)
- cPickle - Sačuvajte parametre mašinskog 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 Dragonboarda, da biste to učinili, morate uključiti DragonBoard povezanu mišem, tipkovnicom i HDMI monitorom. Kada se ploča uključi, morate se povezati 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čunaru povezanom u istu mrežu kao i ploča. Na terminalu možete pokrenuti naredbu:
ssh linaro@{IP}
(trebali biste zamijeniti {IP} sa 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 samo trebate pokrenuti naredbu:
pip install scikit-learn
Korak 5: Bluetooth protokol
DragonBoard veza s Arduinom putem Bluetootha
Bluetooth modul (HC-06) je u početku bio spojen na Arduino Nano prema sljedećem primjeru:
Koristeći grafičko sučelje Linaro (operativni sistem koji se koristi u trenutnom projektu u DragonBoard -u), s desne strane donje trake kliknite na simbol Bluetooth, a zatim kliknite na "Postavi novi uređaj" i konfigurirajte sa svojim Bluetooth modulom ostavljajući ga uparenim. Provjerite je li vaš modul zaista povezan ponovnim klikom na simbol Bluetooth, kliknite na "Uređaji …" i provjerite je li ime vašeg uređaja navedeno i povezano. Sada odaberite svoj uređaj na ekranu "Bluetooth uređaji" i desnom tipkom miša kliknite na njega i zabilježite port na koji je vaš Bluetooth modul povezan (npr.: "rfcomm0"). Napomena: Naziv porta 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 biblioteka koja je inicijalizirana na portu 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
Da bismo uspostavili veze između zmajeve ploče i komponenti, koristimo vrstu štita zvanu Mezannine, koju je razvilo 96 ploča.
Koristeći ovaj štit, povezivanje perifernih uređaja postaje mnogo lakše.
Konektori se koriste iz razvojnog kompleta Grove -a, pa se samo koristi especif kabel koji povezuje oba smjera, Svi dijelovi mogu se lako pronaći na ovoj web stranici:
U nastavku koristimo ove setove:
- Grove relej
- Grove senzor sunčeve svjetlosti
- Grove LED utičnica
- Grove temp & humi senzor
- Grove Buzzer
Korak 7: DragonBoard 410c softver
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 proizvodi mezzaninski štit sa značajkama audio i video uzoraka.
S ovim podacima Odbor pokušava predvidjeti nastaje li hitna situacija. Uprava šalje Amazon web servisu koristeći Phant sirove 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 je moguće vidjeti i neobrađene podatke kako bi se razumjelo šta se dešava na ovom području.
Preporučuje se:
Desenvolvendo Aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: 17 koraka
Desenvolvendo Aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: O objektivi za dokumente é najčešće kao neophodne parametre za konfiguraciju ambijenta desenvolvimento, modo que o HostPC -u (računalo / prijenosno računalo), atrav é s do IDE Eclipse kompajlirajte os c ó digos i izvozite za Alvo (povucite
Vision 4all - Sistem Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija Android: 6 koraka
Vision 4all - Sistem Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija za Android: DESCRI Ç Ã OO intuitivno za projektovanje é dar autonomia para defeentes 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 Serijski Com a Dragonboard 410c Usando Mezanin 96 ploča Senzori: 7 koraka
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Senzori: O objektivu desse tutorial é mostrar kao etapas neophodan á rias para konfigurator o ambijentu desenvolvimento, de modo que seja poss í vel comunicar com a Dragonboard 410c atrav é s um um računara / prijenosnog računara usando comunica & ccedi
Otkrivanje objekata W/ Dragonboard 410c ili 820c koristeći OpenCV i Tensorflow .: 4 koraka
Object Detection W/ Dragonboard 410c ili 820c koristeći OpenCV i Tensorflow .: Ove upute opisuju kako instalirati OpenCV, Tensorflow i okvire strojnog učenja za Python 3.5 za pokretanje aplikacije Object Detection
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -em u alarmni uređaj za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": 17 koraka
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -jem u aparat za alarme za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": U ovom članku pokazat ćemo vam kako nadograditi svoj lonac za samolijevanje s vlastitim WiFi -jem u DIY lonac za samolijevanje s WiFi -jem i alarmom za detekciju kretanja. niste pročitali članak o tome kako izgraditi lonac za samostalno zalijevanje s WiFi -jem, možete fin