Përmbajtje:
- Hapi 1: Komponentët e kërkuar
- Hapi 2: Krijimi i pajisjes në distancë
- Hapi 3: Softuerët dhe Bibliotekat
- Hapi 4: Përdorimi i SSH dhe Instalimi i Libs
- Hapi 5: Protokolli Bluetooth
- Hapi 6: Përdorimi i Mezzanine në DragonBoard 410c
- Hapi 7: Softueri DragonBoard 410c
Video: Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Duke kërkuar sisteme sigurie që punojnë për të monitoruar situatat emergjente, është e mundur të vërehet se është shumë e vështirë për të përpunuar të gjithë informacionin e regjistruar. Duke menduar për këtë, ne vendosëm të përdorim njohuritë tona në përpunimin e audios/imazhit, sensorët dhe aktivizuesit për të krijuar një sistem të plotë që bën të mundur parashikimin e situatave kur jeta e njerëzve është në rrezik.
Ky projekt ka sensor lokal dhe pajisje të largëta për të mbledhur të dhëna dhe për t'i dërguar në dragonboard, e cila ka fuqi përpunuese të aftë për të nxjerrë informacione të rëndësishme nga të dhënat e marra.
Pajisja në distancë është një tabelë Arduino me një modul HC-06 që mundëson transferimin e të gjitha informacioneve dhe një rrjet të gjerë me kosto të ulët të aftë për të përpunuar një sasi të madhe të të dhënave.
Hapi 1: Komponentët e kërkuar
Para së gjithash, ju duhet të vendosni se cilët sensorë dhe aktivizues do të përdorni dhe të bëni skicën e arkitekturës.
Në rastin tonë, ne po përdorim këta sensorë të lidhur në ARDUINO Pro Mini, të listuara më poshtë:
- PIR (Infrared i Pasiv-Sensori i Prezencës)
- DHT 11 (Sensori i lagështisë dhe temperaturës)
- Sensori i CO (Sensori i Monoksidit të Karbonit)
- Sensori i zhurmës
Aktivizuesit:
- servo motorike
- zile
Komunikimi:
Moduli Bluetooth HC-06
Për Dragonboard 410c, ne do të kemi disa sensorë dhe softuerë për të përpunuar të gjitha hyrjet e të dhënave:
Sensorë:
- DHT 11
- Sensori i dritës së diellit
Aktivizuesit:
- Stafetë
- Statusi i udhëhequr
- Zile
Hapi 2: Krijimi i pajisjes në distancë
Tani është koha për të lidhur të gjithë përbërësit e mëposhtëm në Bordin Arduino, duke krijuar një pajisje që do të marrë të dhënat nga ambienti (zhurma, lagështia, temperatura, etj.), Dhe t'i dërgojë në Dragonboard me modulin bluetooth HC-06.
Necessaryshtë e nevojshme t'i kushtohet vëmendje lidhjeve, sepse i gjithë sensori ka vende të veçanta për t'u lidhur.
Në sistem, është e mundur që të keni më shumë se një pajisje për të mbledhur të dhëna. Sa më shumë pajisje që keni instaluar në mjedis, aq më i saktë është diagnostifikimi i krijuar nga përpunimi i të dhënave. Meqenëse do të jetë e mundur të nxirret një gamë më e gjerë informacioni që mund të jetë e dobishme.
Ne vendosëm të përdorim një bord arduino sepse ka sensorë më të pajtueshëm, dhe është e mundur të instaloni këto pajisje të largëta në vende të ndryshme, duke mbledhur më shumë informacion.
Pajisja lokale është DragonBoard 410c, e cila përpunon informacion audio, video, dixhitale dhe analoge me procesorin tuaj të fuqishëm SnapDragon 410.
Vendosja e përbërësve (Largimi në distancë)
Cila pjesë ka disa kunja që duhet të lidhen në kunjat e duhur në mini bordin arduino pro.
Moduli Bluetooth HC-06 ka 4 kunja:
- TX (Transmetuesi) -> i lidhur në kunjin e RX Arduino
- RX (Marrësi) -> i lidhur në kunjin e TX Arduino
- VCC -> e lidhur në 5v
- GND
Sensori DHT 11 ka 4 kunja (por vetëm 3 në përdorim):
- Sinjali -> i lidhur në një kunj dixhital
- VCC -> e lidhur në 5v
- GND
Sensori PIR ka 3 kunja:
- Sinjali -> i lidhur në një kunj dixhital
- VCC -> e lidhur në 5v
- GND
Sensori i gazit (MQ) ka 4 kunja:
- Digital OUT -> e lidhur në një kunj dixhital (nëse doni një informacion dixhital)
- Analog OUT -> në rastin tonë, ne po e përdorim këtë të lidhur në një kunj analog
- VCC -> e lidhur në 5v
- GND
Sensori i zhurmës (KY-038) ka 3 kunja:
- Sinjali -> i lidhur në një kunj analog
- VCC -> e lidhur në 5v
- GND
Kodi për pajisjen e largët Arduino:
/ * * Arduino dërgon të dhëna përmes Blutooth * * Vlera e sensorëve lexohet, lidhet me * String dhe dërgohet përmes portit serik. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); noton humidaty, temperatura; boolean pir = 0; int bashkë, mikrofon; Msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.filloj (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperatura (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mikrofon = analogRead (A0); msg = "#;" + Varg (me lagështi) + ";" + Vargu (temperatura)+ ";"+ Vargu (mikrofoni)+ ";"+ Vargu (pir)+ ";" + Vargu (bashkë) + ";#" + "\ n"; Serial.print (msg); vonesa (2000); }
Shpjegimi i kodit:
Të gjitha kunjat e përdorura në Arduino citohen në fillim të kodit dhe bibliotekat përkatëse të kërkuara për funksionimin e sensorëve inicializohen. Të gjitha të dhënat do t'i kalojnë variablave përkatëse të cilat do të marrin vlerat e lexuara nga secili sensor çdo 2000 milisekonda, pastaj të gjitha ato janë të lidhura në një varg, pastaj shkruhen në Serial. Nga atje është shumë e lehtë për kodin piton të pranishëm në DragonBoard për të kapur të dhëna të tilla.
Hapi 3: Softuerët dhe Bibliotekat
Për të përpunuar të gjitha të dhënat e marra dhe kontrolluar sistemin e sigurisë, është e nevojshme të përdorni disa softuerë dhe biblioteka në Qualcomm DragonBoard 410c.
Në këtë projekt të veçantë ne po përdorim:
Softuerët:
- Python
- Arduino
Platformat:
- Amazon AWS -> server në internet
- Phant -> Shërbimi i të dhënave të hostit
Bibliotekat:
- OpenCV-Përpunimi i videove (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Përpunimi i audios (https://people.csail.mit.edu/hubert/pyaudio/)
- Vala (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 - Trajnoni dhe parashikoni mësimin e makinerisë (https://scikit-learn.org/stable/install.html)
- cPickle - Ruaj parametrat e mësimit të makinerisë (https://pymotw.com/2/pickle/)
- MRAA - Përdorni GPIO -të (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Përdorni GPIO-të (https://github.com/intel-iot-devkit/upm)
- PySerial - Përdorni për komunikimin serik me pajisjen Bluetooth (https://pythonhosted.org/pyserial/)
Hapi 4: Përdorimi i SSH dhe Instalimi i Libs
Para së gjithash ju duhet të merrni adresën IP nga Dragonboard, për ta bërë këtë, duhet të aktivizoni DragonBoard të lidhur me miun, tastierën dhe monitorin HDMI. Kur bordi të ndizet ju duhet të lidheni me një rrjet, sesa të shkoni në terminal dhe të ekzekutoni komandën:
sudo ifconfig
pas kësaj ju mund të merrni adresën IP.
Me adresën IP mund të hyni në Dragonboard përmes SHH, për ta bërë këtë ju duhet të hapni një terminal në një kompjuter të lidhur në të njëjtin rrjet me bordin. Në terminal mund të ekzekutoni komandën:
ssh linaro@{IP}
(ju duhet të zëvendësoni {IP} me adresën IP që merrni në Dragonboard).
Libri i parë që duhet të instaloni është libri mraa. Për ta bërë këtë, duhet të ekzekutoni komandën e mëposhtme në terminal:
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
Për të instaluar opencv për python ju duhet vetëm të ekzekutoni komandën:
sudo apt-get install python-opencv
Për të instaluar PyAudio ju duhet të ekzekutoni komandën:
sudo apt-get install python-pyaudio python3-pyaudio
Libs WAVE dhe AudioOp janë instaluar tashmë në tabelë. Për të instaluar numpy duhet të ekzekutoni komandën:
sudo apt-get install python-numpy python-scipy
Libri i fundit që duhet të instaloni është scikit, për ta instaluar atë duhet të keni të instaluar pip. Vetëm ju duhet të ekzekutoni komandën:
pip instaloni scikit-lear
Hapi 5: Protokolli Bluetooth
Lidhja DragonBoard me Arduino me anë të Bluetooth
Moduli Bluetooth (HC-06) u lidh fillimisht me Arduino Nano sipas shembullit të mëposhtëm:
Duke përdorur ndërfaqen grafike Linaro (Sistemi operativ i përdorur në projektin aktual në DragonBoard), në anën e djathtë të shiritit të poshtëm klikoni në simbolin Bluetooth dhe më pas klikoni në "Konfiguro pajisjen e re" dhe konfiguroni me modulin tuaj Bluetooth duke e lënë atë të çiftuar. Verifikoni që moduli juaj është i lidhur në të vërtetë duke klikuar përsëri në simbolin Bluetooth, klikoni në "Pajisjet …" dhe shihni nëse emri i pajisjes tuaj është i listuar dhe i lidhur. Tani zgjidhni pajisjen tuaj në ekranin "Pajisjet Bluetooth" dhe klikoni me të djathtën mbi të dhe vini re portën me të cilën është lidhur moduli juaj Bluetooth (p.sh.: "rfcomm0"). Shënim: Emri i portit me të cilin është lidhur pajisja juaj do të jetë i rëndësishëm për hapin tjetër për të mundësuar shkëmbimin e të dhënave.
Krijimi i shkëmbimit të të dhënave DragonBoard dhe Bluetooth
Në thelb ne ndjekim hap pas hapi lidhjen: https://www.uugear.com/portfolio/bluetooth-communi… por nuk e kemi kryer pjesën e çiftimit vetëm ekzekutimin e kodeve python dhe Arduino. Në python u përdor biblioteka serike e inicializuar në portën e lidhur me bluetooth, prandaj kodi i pythonit lexoi të dhënat e sensorëve që janë të lidhur me arduino përmes modulit bluetooth.
Hapi 6: Përdorimi i Mezzanine në DragonBoard 410c
Për të krijuar lidhjet mes bordit të dragoit dhe përbërësve, ne po përdorim një lloj mburoje të quajtur nga Mezannine, e zhvilluar nga 96 borde.
Duke përdorur këtë mburojë, lidhja e pajisjeve periferike bëhet shumë më e lehtë.
Përdoruesit e lidhësve janë nga kompleti i zhvillimit të grove, kështu që është duke përdorur vetëm një kabllo especif që lidh të dyja mënyrat, Të gjitha pjesët mund të gjenden lehtësisht në këtë faqe në internet:
Ne po përdorim këto komplete më poshtë:
- Stafetë Grove
- Sensori i dritës së diellit Grove
- Fole e udhëhequr nga Grove
- Sensori i temperaturës dhe humit i Grove
- Grove Buzzer
Hapi 7: Softueri DragonBoard 410c
Pjesa e programit në DragonBoard u kodua në Python dhe programi i përdorur në Arduino u zhvillua në C ++. Çdo 2 minuta Arduino lexon të gjithë sensorin e bashkangjitur me të. Se Arduino dërgoni leximin në DragonBoard me Bluetooth. DragonBoard kombinon leximin e ardhur nga Arduino me leximin që bën nga mburoja Mezzanine me veçoritë nga mostrat audio dhe video.
Me këto të dhëna, Bordi përpiqet të parashikojë nëse po ndodh një situatë emergjente. Bordi i dërgon Amazon Web Service duke përdorur Phant të dhënat e para dhe parashikimin që ai bëri. Nëse bordi parashikon që po ndodh në një situatë të çuditshme, përpiquni të paralajmëroni përdoruesin që ndez një led dhe zile në Mezzanine dhe shfaqet në aplikacionin në internet. Në aplikacionin në internet është gjithashtu e mundur të shihen të dhënat e papërpunuara për të kuptuar se çfarë po ndodh në këtë fushë.
Recommended:
Llambë emergjente USB nga shishe plastike e përdorur: 5 hapa
Llambë emergjente USB nga shishe plastike e përdorur: Përshëndetje të gjithëve, ky është postimi im i parë mbi udhëzimet. Në këtë postim, unë do t'ju tregoj se si e kam bërë këtë llambë të urgjencës me energji të ulët nga një shishe plastike
Çantë shpine emergjente: 4 hapa
Çantë shpine emergjente: Në vitin 2017, me koston e Perusë një fatkeqësi e madhe natyrore rezultoi në shumë humbje, shtëpi, energji elektrike, ushqim, madje edhe jetë njerëzish të prekura rëndë nga përmbytjet. Vështirësitë kryesore për njerëzit ishin mungesa e ujit të pijshëm të pastër ose energjisë
Llambë emergjente LED (Kryesisht e kërkuar): 4 hapa
Llambë Emergjente LED (Kryesisht e Rimarrë): Ky projekt u frymëzua nga nevoja ime e thjeshtë për të shmangur goditjen me dhimbje në qoshe kur energjia elektrike fiket dhe unë jam duke bërë gjëra në bodrumin tim të zi, ose në vende të tjera të errëta. Pas një vlerësimi të zgjeruar dhe të mençur të zgjidhjeve të tjera si
Zbulimi i objektit W/ Dragonboard 410c ose 820c Duke përdorur OpenCV dhe Tensorflow .: 4 hapa
Zbulimi i Objekteve W/ Dragonboard 410c ose 820c Duke përdorur OpenCV dhe Tensorflow .: Ky udhëzues përshkruan se si të instaloni kornizat OpenCV, Tensorflow dhe mësimin e makinerisë për Python 3.5 për të ekzekutuar aplikacionin Object Detection
Banka e Energjisë Emergjente - DIY Toolbox Solar: Radio+ Ngarkues+ Dritë për Emergjencë !: 4 Hapa
Banka e Energjisë Emergjente - DIY Toolbox Solar: Radio+ Ngarkues+ Dritë për Emergjencë !: Shto 28 mars 2015: Bëra kutinë time të veglave për raste urgjente dhe përdor tani që qyteti im u varros në baltë. Si përvojë mund të them se kam shërbyer për karikimin e telefonave dhe dëgjimin e radios. Një kuti e vjetër veglash? një altoparlant i vjetër i kompjuterit? një bateri e papërdorur 12 volt? Ju mund të bëni