Satura rādītājs:
- 1. darbība. Nepieciešamās sastāvdaļas
- 2. darbība. Attālās ierīces izveide
- 3. darbība. Programmatūra un bibliotēkas
- 4. darbība: SSH izmantošana un Libu instalēšana
- 5. solis: Bluetooth protokols
- 6. darbība. Mezzanine izmantošana DragonBoard 410c
- 7. solis: programmatūra DragonBoard 410c
Video: Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Meklējot drošības sistēmas, kas strādā, lai uzraudzītu ārkārtas situācijas, ir iespējams pamanīt, ka ir pārāk grūti apstrādāt visu ierakstīto informāciju. Domājot par to, mēs nolēmām izmantot savas zināšanas audio/attēlu apstrādē, sensoros un izpildmehānismos, lai izveidotu vienu pilnīgu sistēmu, kas ļauj paredzēt situācijas, kad cilvēku dzīvība ir apdraudēta.
Šajā projektā ir vietējie sensori un attālās ierīces, lai savāktu datus un nosūtītu uz pūķa dēli, kuram ir apstrādes jauda, kas spēj iegūt svarīgu informāciju no saņemtajiem datiem.
Tālvadības ierīce ir Arduino plate ar moduli HC-06, kuru iespējams pagriezt, lai pārsūtītu visu informāciju, un zemu izmaksu plašu tīklu, kas spēj apstrādāt lielu datu apjomu.
1. darbība. Nepieciešamās sastāvdaļas
Pirmkārt, jums jāizlemj, kurus sensorus un pievadus izmantot, un jāizveido arhitektūras skice.
Mūsu gadījumā mēs izmantojam šos sensorus, kas savienoti ar ARDUINO Pro Mini, kas uzskaitīti zemāk:
- PIR (pasīvais infrasarkanais-klātbūtnes sensors)
- DHT 11 (mitruma un temperatūras sensors)
- CO sensors (oglekļa monoksīda sensors)
- Trokšņa sensors
Izpildmehānismi:
- motora servo
- skaņas signāls
Komunikācija:
Bluetooth modulis HC-06
Lai izmantotu Dragonboard 410c, mums būs daži sensori un programmatūra visu datu ievadīšanai:
Sensori:
- DHT 11
- Saules gaismas sensors
Izpildmehānismi:
- Stafete
- LED statuss
- Buzzer
2. darbība. Attālās ierīces izveide
Tagad ir pienācis laiks savienot visus turpmāk minētos komponentus ar Arduino dēli, izveidojot ierīci, kas saņems datus no apkārtējās vides (troksnis, mitrums, temperatūra utt.) Un nosūta uz Dragonboard, izmantojot Bluetooth moduli HC-06.
Jāpievērš uzmanība savienojumiem, jo visiem sensoriem ir noteiktas savienojuma vietas.
Sistēmā datu vākšanai var būt vairākas ierīces. Jo vairāk ierīču esat instalējis vidē, jo precīzāka ir datu apstrādes ģenerētā diagnostika. Tā kā būs iespējams iegūt plašāku informāciju, kas var būt noderīga.
Mēs nolēmām izmantot arduino plati, jo tajā ir vairāk saderīgu sensoru, un ir iespējams instalēt šīs attālās ierīces dažādās vietās, apkopojot vairāk informācijas.
Vietējā ierīce ir DragonBoard 410c, kas ar spēcīgu SnapDragon 410 procesoru apstrādā audio, video, digitālo un analogo informāciju.
Sastāvdaļu ievietošana (attālināti)
Vienā gabalā ir dažas tapas, kuras jāpievieno arduino pro mini plates labajās tapās.
Bluetooth modulim HC-06 ir 4 tapas:
- TX (Transmisors) -> pievienots RX Arduino tapai
- RX (uztvērējs) -> savienots ar TX Arduino tapu
- VCC -> pievienots 5v
- GND
DHT 11 sensoram ir 4 tapas (bet tikai 3 tiek izmantotas):
- Signāls -> savienots ar ciparu tapu
- VCC -> pievienots 5v
- GND
PIR sensoram ir 3 tapas:
- Signāls -> pievienots digitālajai tapai
- VCC -> pievienots 5v
- GND
Gāzes sensoram (MQ) ir 4 tapas:
- Digital OUT -> savienots ar digitālo tapu (ja vēlaties digitālu informāciju)
- Analog OUT -> mūsu gadījumā mēs to izmantojam, savienojot ar analogo tapu
- VCC -> pieslēgts pie 5v
- GND
Trokšņa sensoram (KY-038) ir 3 tapas:
- Signāls -> savienots ar analogo tapu
- VCC -> pievienots 5v
- GND
Arduino attālās ierīces kods:
/ * * Arduino sūta datus, izmantojot Blutooth * * Sensoru vērtība tiek nolasīta, savienota * virknē un nosūtīta, izmantojot seriālo portu. */ #iekļaut "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); pludiņš mitrs, temperatūra; Būla pir = 0; int co, mikrofons; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatūra = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Stīga (mitra) + ";" + String (temperatūra)+ ";"+ String (mic)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Sērijas nospiedums (ziņojums); kavēšanās (2000); }
Koda skaidrojums:
Visas Arduino izmantotās tapas tiek norādītas koda sākumā, un tiek inicializētas attiecīgās bibliotēkas, kas nepieciešamas sensoru darbībai. Visi dati tiks nodoti attiecīgajiem mainīgajiem, kas saņems no katra sensora nolasītās vērtības ik pēc 2000 milisekundēm, pēc tam visi tie ir savienoti virknē, pēc tam tiek rakstīti sērijā. No turienes ir ļoti viegli no DragonBoard esošā pitona koda iegūt šādus datus.
3. darbība. Programmatūra un bibliotēkas
Lai apstrādātu visus saņemtos datus un kontrolētu drošības sistēmu, ir nepieciešams izmantot dažas Qualcomm DragonBoard 410c programmatūras un bibliotēkas.
Šajā konkrētajā projektā mēs izmantojam:
Programmatūra:
- Python
- Arduino
Platformas:
- Amazon AWS -> tiešsaistes serveris
- Phant -> Uzņēmēja datu pakalpojums
Bibliotēkas:
- OpenCV-video apstrāde (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - audio apstrāde (https://people.csail.mit.edu/hubert/pyaudio/)
- Vilnis (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 - apmāciet un prognozējiet mašīnmācīšanos (https://scikit-learn.org/stable/install.html)
- cPickle - saglabājiet mašīnmācīšanās parametrus (https://pymotw.com/2/pickle/)
- MRAA - izmantojiet GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-izmantojiet GPIO (https://github.com/intel-iot-devkit/upm)
- PySerial - izmantojiet sērijveida saziņai ar Bluetooth ierīci (https://pythonhosted.org/pyserial/)
4. darbība: SSH izmantošana un Libu instalēšana
Pirmkārt, jums ir jāiegūst IP adrese no Dragonboard, lai to izdarītu, jums jāieslēdz DragonBoard, kas savienots ar peli, tastatūru un HDMI monitoru. Kad tāfele ir ieslēgta, jums ir nepieciešams izveidot savienojumu ar tīklu, nevis doties uz termināli un palaist komandu:
sudo ifconfig
pēc tam jūs varat iegūt IP adresi.
Izmantojot IP adresi, varat piekļūt Dragonboard, izmantojot SHH, lai to izdarītu, jums ir jāatver terminālis datorā, kas savienots tajā pašā tīklā kā dēlis. Terminālī varat palaist komandu:
ssh linaro@{IP}
(jums ir jāaizstāj {IP} ar IP adresi, ko iegūstat Dragonboard).
Pirmā lib, kas jāinstalē, ir mraa lib. Lai to izdarītu, terminālī jāizpilda šāda komanda:
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
Lai instalētu opencv python, jums tikai jāpalaiž komanda:
sudo apt-get instalēt python-opencv
Lai instalētu PyAudio, jums jāpalaiž komanda:
sudo apt-get instalēt python-pyaudio python3-pyaudio
Libs WAVE un AudioOp jau ir instalēti tāfele. Lai instalētu numpy, jums jāizpilda komanda:
sudo apt-get instalēt python-numpy python-scipy
Pēdējais lib, kas jums jāinstalē, ir scikit, lai to instalētu, jums ir jāinstalē pip. Jums vienkārši jāizpilda komanda:
pip instalēt scikit-lear
5. solis: Bluetooth protokols
DragonBoard savienojums ar Arduino, izmantojot Bluetooth
Bluetooth modulis (HC-06) sākotnēji tika savienots ar Arduino Nano saskaņā ar šādu piemēru:
Izmantojot grafisko saskarni Linaro (operētājsistēma, ko izmanto pašreizējā projektā DragonBoard), apakšējās joslas labajā pusē noklikšķiniet uz Bluetooth simbola un pēc tam noklikšķiniet uz "Iestatīt jaunu ierīci" un konfigurējiet, izmantojot Bluetooth moduli, atstājot to pārī. Pārbaudiet, vai jūsu modulis ir faktiski pievienots, vēlreiz noklikšķinot uz Bluetooth simbola, noklikšķiniet uz "Ierīces …" un pārbaudiet, vai jūsu ierīces nosaukums ir norādīts un pievienots. Tagad ekrānā "Bluetooth ierīces" atlasiet savu ierīci un ar peles labo pogu noklikšķiniet uz tās un atzīmējiet portu, ar kuru ir pievienots jūsu Bluetooth modulis (piemēram: "rfcomm0"). Piezīme. Porta nosaukums, ar kuru ierīce ir savienota, būs svarīgs nākamajā solī, lai iespējotu datu apmaiņu.
DragonBoard datu apmaiņas un Bluetooth izveide
Būtībā mēs soli pa solim sekojam saitei: https://www.uugear.com/portfolio/bluetooth-communi…, bet mēs neveicām savienošanu pārī, tikai izpildot pitona kodus un Arduino. Python tika izmantota sērijveida bibliotēka, kas tiek inicializēta portā, kas savienots ar Bluetooth, tāpēc pitona kods nolasa sensoru datus, kas ir savienoti ar arino, izmantojot Bluetooth moduli.
6. darbība. Mezzanine izmantošana DragonBoard 410c
Lai izveidotu savienojumus starp pūķa dēli un detaļām, mēs izmantojam vairoga veidu, ko sauc par Mezannine un kuru izstrādāja 96 dēļi.
Izmantojot šo vairogu, perifērijas ierīču pievienošana kļūst daudz vienkāršāka.
Savienotāji tiek izmantoti birzs attīstības komplektā, tāpēc tiek izmantots tikai especif kabelis, kas savieno abus virzienus, Visas detaļas var viegli atrast šajā vietnē:
Mēs izmantojam šos komplektus zemāk:
- Grove stafete
- Grove Sunlight sensors
- Grove led ligzda
- Grove temp & humi sensors
- Grove Buzzer
7. solis: programmatūra DragonBoard 410c
Programmas daļa DragonBoard tika kodēta Python, un Arduino izmantotā programma tika izstrādāta C ++. Ik pēc 2 minūtēm Arduino nolasa visu tam pievienoto sensoru. Nekā Arduino, izmantojot Bluetooth, nosūta lasījumu DragonBoard. DragonBoard apvieno Arduino lasījumu ar nolasījumu, ko tas veido Mezzanine vairogs, ar audio un video paraugu funkcijām.
Ar šiem datiem valde mēģina paredzēt, vai tā notiek ārkārtas situācijā. Valde nosūta Amazon tīmekļa pakalpojumam, izmantojot Phant, neapstrādātos datus un prognozes. Ja tāfele prognozē, ka notiek dīvaina situācija, tā mēģina brīdināt lietotāju, mirgojošu gaismas diodi un skaņas signālu starpstāvā, un parādīt tīmekļa lietojumprogrammā. Tīmekļa lietojumprogrammā ir iespējams redzēt arī neapstrādātus datus, lai saprastu, kas notiek šajā jomā.
Ieteicams:
Ārkārtas USB barošanas avots (3D drukāts): 4 soļi (ar attēliem)
Ārkārtas USB barošanas avots (3D drukāts): šajā projektā tiek izmantots 12 V akumulators, tāpat kā transportlīdzeklim, lai uzlādētu USB ierīces strāvas padeves pārtraukuma vai kempingu gadījumā. Tas ir tikpat vienkārši kā USB automašīnas lādētāja piestiprināšana akumulatoram. Pēc viesuļvētras Sandija es biju bez elektrības un
UVC sterilizators COVID-19 ārkārtas situācijām: 3 soļi
UVC sterilizators COVID-19 ārkārtas situācijām: Kā izveidot UVC sterilizatora kastīti. Vispirms pirmās lietas. Elektrība ir bīstama! Ja neesat pārliecināts un kompetents, nemēģiniet neko zemāk minēto. UVC (253,7 nm) gaisma ir spēcīga, tā var jūs aklināt un, iespējams, izraisīt ādas vēzi
Gados vecu cilvēku ārkārtas situāciju skeneris: 6 soļi
Gados vecu cilvēku ārkārtas situāciju skeneris: šī projekta pamatā ir palīdzība vecākiem cilvēkiem. Gados veci cilvēki parasti ir vieni mājās un, iespējams, neatrodas tūlītējas palīdzības tuvumā, ja ir nokrituši. Pašreizējais risinājums tirgū ir SOS izmantošana, ko viņi valkā
Ārkārtas vizītkartes: 14 soļi (ar attēliem)
Ekstrēmas vizītkartes: Varu derēt, ka neviens pirms tam nav jums iedevis vizītkarti, kas faktiski jūs izsauc! Lasiet tālāk, lai uzzinātu, kā man tas izdevās …. Vai jums patīk veidot lietas? Vai jūs to darāt naudas dēļ vai vēlaties? Ja tā, jums ir nepieciešama vizītkarte. Tie var būt jūs
Objektu noteikšana W/ Dragonboard 410c vai 820c, izmantojot OpenCV un Tensorflow .: 4 soļi
Objektu noteikšana W/ Dragonboard 410c vai 820c, izmantojot OpenCV un Tensorflow .: Šī instrukcija apraksta, kā instalēt OpenCV, Tensorflow un mašīnmācīšanās ietvarus Python 3.5, lai palaistu objektu noteikšanas lietojumprogrammu