Indholdsfortegnelse:

Registrering af nødsituationer - Qualcomm Dragonboard 410c: 7 trin
Registrering af nødsituationer - Qualcomm Dragonboard 410c: 7 trin

Video: Registrering af nødsituationer - Qualcomm Dragonboard 410c: 7 trin

Video: Registrering af nødsituationer - Qualcomm Dragonboard 410c: 7 trin
Video: Sådan ansøger du om work permit c o v i d 19-Tilmelding til en arbejdstilladelse er snart tilgæ... 2024, Juli
Anonim
Registrering af nødsituationer - Qualcomm Dragonboard 410c
Registrering af nødsituationer - Qualcomm Dragonboard 410c
Registrering af nødsituationer - Qualcomm Dragonboard 410c
Registrering af nødsituationer - Qualcomm Dragonboard 410c
Registrering af nødsituationer - Qualcomm Dragonboard 410c
Registrering af nødsituationer - Qualcomm Dragonboard 410c

På udkig efter sikkerhedssystemer, der arbejder med at overvåge nødsituationer, er det muligt at bemærke, at det er for svært at behandle alle de registrerede oplysninger. Tænker vi på det, besluttede vi at bruge vores viden inden for lyd/billedbehandling, sensorer og aktuatorer til at skabe et komplet system, der gør det muligt at forudsige situationer, hvor menneskers liv er i fare.

Dette projekt har lokal sensor og eksterne enheder til at indsamle data og sende til dragonboardet, som har processorkraft, der er i stand til at udtrække vigtig information fra de modtagne data.

Den eksterne enhed er et Arduino-kort med et modul HC-06, der er muligt at overføre alle informationer og et billigt stort net, der er i stand til at behandle store mængder data.

Trin 1: Påkrævede komponenter

Først og fremmest skal du beslutte, hvilke sensorer og aktuater, du skal bruge, og lave arketsektionsskitsen.

I vores tilfælde bruger vi disse sensorer tilsluttet i ARDUINO Pro Mini, der er anført nedenfor:

  • PIR (passiv infrarød-nærværssensor)
  • DHT 11 (fugtigheds- og temperatursensor)
  • CO-sensor (kulilte-sensor)
  • Støjføler

Aktuatorer:

  • motorservo
  • summer

Meddelelse:

Bluetooth-modul HC-06

Til Dragonboard 410c har vi nogle sensorer og software til at behandle alle datainput:

Sensorer:

  • DHT 11
  • Sollys sensor

Aktuatorer:

  • Relæ
  • Led status
  • Buzzer

Trin 2: Lav en ekstern enhed

Lav en fjernenhed
Lav en fjernenhed

Nu er det tid til at forbinde alle følgende komponenter til Arduino Board og oprette en enhed, der modtager data fra atmosfæren (støj, fugtighed, temperatur osv.) Og sender til Dragonboard ved hjælp af Bluetooth-modulet HC-06.

Det er nødvendigt at være opmærksom på forbindelserne, fordi al sensoren har bestemte steder at tilslutte.

På systemet er det muligt at have mere end én enhed til at indsamle data. Jo flere enheder du har installeret i miljøet, desto mere nøjagtig er diagnosen genereret ved databehandling. Da det vil være muligt at udtrække en bredere vifte af oplysninger, der kan være nyttige.

Vi besluttede at bruge et arduino -kort, fordi det har mere kompatible sensorer, og det er muligt at installere disse eksterne enheder forskellige steder og indsamle flere oplysninger.

Den lokale enhed er DragonBoard 410c, som behandler lyd, video, digital og analog information med din kraftfulde SnapDragon 410 -processor.

Placering af komponenterne (Remote Devide)

Hvilket stykke har nogle stifter, der skal forbindes i de rigtige ben på arduino pro mini -kortet.

Bluetooth-modul HC-06 har 4 ben:

  • TX (transmitter) -> tilsluttet RX Arduinos pin
  • RX (modtager) -> tilsluttet TX Arduinos pin
  • VCC -> tilsluttet 5v
  • GND

DHT 11 -sensor har 4 ben (men kun 3 i brug):

  • Signal -> tilsluttet på en digital pin
  • VCC -> tilsluttet 5v
  • GND

PIR -sensor har 3 ben:

  • Signal -> tilsluttet på en digital pin
  • VCC -> tilsluttet 5v
  • GND

Gassensor (MQ) har 4 ben:

  • Digital OUT -> tilsluttet på en digital pin (hvis du vil have en digital information)
  • Analog OUT -> i vores tilfælde bruger vi dette tilsluttet på en analog pin
  • VCC -> tilsluttet 5v
  • GND

Støjsensor (KY-038) har 3 ben:

  • Signal -> tilsluttet en analog pin
  • VCC -> tilsluttet 5v
  • GND

Kode til Arduino fjernenhed:

/ * * Arduino sender data via Blutooth * * Værdien af sensorer læses, sammenkobles på * String og sendes via seriel port. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); flyde fugtighed, temperatur; boolsk pir = 0; int co, mic; String msg = ""; forkælelse [40]; ugyldig opsætning () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatur = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (befugtning) + ";" + String (temperatur)+ ";"+ String (mikrofon)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); forsinkelse (2000); }

Kode forklaring:

Alle benene, der bruges i Arduino, er citeret i begyndelsen af koden, og de respektive biblioteker, der kræves til drift af sensorerne, initialiseres. Alle data vil blive videregivet til de respektive variabler, som vil modtage værdierne, der er læst fra hver sensor hvert 2000 millisekund, derefter sammenkøres alle i en streng, derefter skrives det i serie. Derfra er det meget let med pyton -koden i DragonBoard at fange sådanne data.

Trin 3: Software og biblioteker

For at behandle alle modtagne data og kontrollere sikkerhedssystemet er det nødvendigt at bruge nogle software og biblioteker i Qualcomm DragonBoard 410c.

I dette særlige projekt bruger vi:

Software:

  • Python
  • Arduino

Platforme:

  • Amazon AWS -> online server
  • Phant -> Værtsdatatjeneste

Biblioteker:

  • OpenCV-Videobehandling (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Lydbehandling (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æn og forudsig maskinindlæring (https://scikit-learn.org/stable/install.html)
  • cPickle - Gem maskinindlæringsparametrene (https://pymotw.com/2/pickle/)
  • MRAA - Brug GPIO'erne (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Brug GPIO'erne (https://github.com/intel-iot-devkit/upm)
  • PySerial - Brug til seriel kommunikation med Bluetooth -enhed (https://pythonhosted.org/pyserial/)

Trin 4: Brug af SSH og installation af Libs

Først og fremmest skal du få IP -adressen fra Dragonboard, for at gøre det skal du tænde DragonBoard, der er forbundet med en mus, et tastatur og en HDMI -skærm. Når kortet blev tændt, skal du oprette forbindelse til et netværk, end du går til terminalen og kører kommandoen:

sudo ifconfig

derefter kan du få IP -adressen.

Med IP -adressen kan du få adgang til Dragonboard via SHH, for at gøre dette skal du åbne en terminal i en computer, der er forbundet i det samme netværk som kortet. I terminalen kan du køre kommandoen:

ssh linaro@{IP}

(du skal erstatte {IP} med den IP -adresse, du får i Dragonboard).

Den første lib, du skal installere, er mraa lib. For at gøre det skal du køre følgende kommando i terminalen:

sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t opdater && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

For at installere opencv til python behøver du kun at køre kommandoen:

sudo apt-get install python-opencv

For at installere PyAudio skal du køre kommandoen:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE og AudioOp er allerede installeret i kortet. For at installere numpy skal du køre kommandoen:

sudo apt-get install python-numpy python-scipy

Den sidste lib, du skal installere, er scikit, for at installere den skal du have installeret pip. End du behøver kun at køre kommandoen:

pip installere scikit-lear

Trin 5: Bluetooth -protokol

Bluetooth -protokol
Bluetooth -protokol
Bluetooth -protokol
Bluetooth -protokol
Bluetooth -protokol
Bluetooth -protokol

DragonBoard -forbindelse med Arduino via Bluetooth

Bluetooth-modulet (HC-06) blev oprindeligt tilsluttet Arduino Nano i henhold til følgende eksempel:

Brug af Linaro (operativsystem brugt i det aktuelle projekt i DragonBoard) grafisk grænseflade, i højre side af den nederste bjælke klik på Bluetooth -symbolet og klik derefter på "Opsætning af ny enhed" og konfigurer med dit Bluetooth -modul, så det forbliver parret. Kontroller, at dit modul faktisk er forbundet ved at klikke på Bluetooth -symbolet igen, klik på "Enheder …" og se, om navnet på din enhed er angivet og forbundet. Vælg nu din enhed på skærmen "Bluetooth -enheder", og højreklik på den, og noter den port, dit Bluetooth -modul er tilsluttet (f.eks.: "rfcomm0"). Bemærk: Portnavnet, som din enhed er forbundet til, er vigtigt for det næste trin for at aktivere dataudveksling.

Etablering af DragonBoard Data Exchange og Bluetooth

Grundlæggende følger vi trin for trin i linket: https://www.uugear.com/portfolio/bluetooth-communi…, men vi udførte ikke den del af parringen kun udførelsen af pythonkoderne og Arduino. I python blev det serielle bibliotek brugt, der initialiseres i porten forbundet til bluetooth, derfor læser pythonkoden dataene fra de sensorer, der er forbundet til arduinoen via bluetooth -modulet.

Trin 6: Brug af mezzanin på DragonBoard 410c

Brug af mezzanin på DragonBoard 410c
Brug af mezzanin på DragonBoard 410c

For at oprette forbindelser mellem Dragonboard og komponenter bruger vi en type skjold kaldet af Mezannine, udviklet af 96boards.

Ved hjælp af dette skjold bliver tilslutning af periferiudstyr meget lettere.

Stikkene bruger er fra lundens udviklingssæt, så det er bare at bruge et especif -kabel, der forbinder begge veje, Alle delene kan let findes på dette websted:

Vi bruger disse kits herunder:

  • Grove Relæ
  • Grove sollys sensor
  • Grove led stikkontakt
  • Grove temp & humi sensor
  • Grove Buzzer

Trin 7: DragonBoard 410c -software

Delen af programmet i DragonBoard blev kodet i Python, og programmet, der blev brugt på Arduino, blev udviklet i C ++. Hvert 2. minut læser Arduino al den sensor, der er knyttet til den. Send Arleino end læsningen til DragonBoard via Bluetooth. DragonBoard kombinerer læsningen fra Arduino med læsningen, som den laver af mezzaninskjoldet med funktionerne fra lyd- og videosamplerne.

Med disse data forsøger bestyrelsen at forudsige, om der opstår en nødsituation. Bestyrelsen sender til Amazon -webtjenesten ved hjælp af Phant rådataene og den forudsigelse, de lavede. Hvis tavlen forudsiger, at det opstår en mærkelig situation, forsøger det at advare brugeren om at blinke med en LED og summer i Mezzaninen og vise ved webapplikation. I webapplikationen er det også muligt at se rådataene for at forstå, hvad der sker på dette område.

Anbefalede: