Turinys:
- 1 žingsnis: reikalingi komponentai
- 2 žingsnis: sukurkite nuotolinį įrenginį
- 3 žingsnis: Programinė įranga ir bibliotekos
- 4 veiksmas: SSH naudojimas ir „Libs“diegimas
- 5 veiksmas: „Bluetooth“protokolas
- 6 veiksmas: „Mezzanine“naudojimas „DragonBoard 410c“
- 7 žingsnis: „DragonBoard 410c“programinė įranga
Video: Avarinių situacijų nustatymas - „Qualcomm Dragonboard 410c“: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Ieškant saugumo sistemų, kurios stebi ekstremalias situacijas, galima pastebėti, kad per sunku apdoroti visą įrašytą informaciją. Pagalvoję apie tai, nusprendėme panaudoti savo žinias garso/vaizdo apdorojime, jutikliuose ir pavarose, kad sukurtume vieną pilną sistemą, kuri leistų numatyti situacijas, kai žmonių gyvybėms gresia pavojus.
Šis projektas turi vietinį jutiklį ir nuotolinius įrenginius, kad galėtų rinkti duomenis ir nusiųsti į drakono lentą, kuri turi apdorojimo galią, galinčią išgauti svarbią informaciją iš gautų duomenų.
Nuotolinis įrenginys yra „Arduino“plokštė su moduliu HC-06, kurį galima pasukti, kad būtų galima perduoti visą informaciją, ir nebrangus platus tinklas, galintis apdoroti didelį duomenų kiekį.
1 žingsnis: reikalingi komponentai
Visų pirma, jūs turite nuspręsti, kuriuos jutiklius ir pavaras naudosite, ir sukurti architektūros eskizą.
Mūsų atveju mes naudojame šiuos jutiklius, sujungtus su ARDUINO Pro Mini, išvardytais žemiau:
- PIR (pasyvus infraraudonųjų spindulių-buvimo jutiklis)
- DHT 11 (drėgmės ir temperatūros jutiklis)
- CO jutiklis (anglies monoksido jutiklis)
- Triukšmo jutiklis
Pavaros:
- variklio servo
- garsinis signalas
Bendravimas:
„Bluetooth“modulis HC-06
„Dragonboard 410c“turėsime kai kuriuos jutiklius ir programinę įrangą, kad galėtume apdoroti visus įvestus duomenis:
Jutikliai:
- DHT 11
- Saulės šviesos jutiklis
Pavaros:
- Estafetė
- LED būsena
- „Buzzer“https://www.seeedstudio.com/Grove-Buzzer-p-768.ht…
2 žingsnis: sukurkite nuotolinį įrenginį
Dabar atėjo laikas prijungti visus toliau nurodytus komponentus prie „Arduino“plokštės, sukuriant įrenginį, kuris gaus duomenis iš aplinkos (triukšmo, drėgmės, temperatūros ir tt) ir nusiųs į „Dragonboard“per „Bluetooth“modulį HC-06.
Būtina atkreipti dėmesį į sujungimus, nes visuose jutikliuose yra nurodytos sujungimo vietos.
Sistemoje galima rinkti daugiau nei vieną įrenginį duomenims rinkti. Kuo daugiau įrenginių įdiegėte aplinkoje, tuo tikslesnė duomenų apdorojimo sukurta diagnostika. Kadangi bus galima išgauti daugiau informacijos, kuri gali būti naudinga.
Mes nusprendėme naudoti „arduino“plokštę, nes ji turi daugiau suderinamų jutiklių, ir šį nuotolinį įrenginį galima įdiegti skirtingose vietose, renkant daugiau informacijos.
Vietinis įrenginys yra „DragonBoard 410c“, kuris su galingu „SnapDragon 410“procesoriumi apdoroja garso, vaizdo, skaitmeninę ir analoginę informaciją.
Komponentų išdėstymas (nuotoliniu būdu)
Vienoje dalyje yra keletas kaiščių, kuriuos reikia prijungti prie tinkamų kaiščių ant arduino pro mini plokštės.
„Bluetooth“modulis HC-06 turi 4 kontaktus:
- TX (Transmissor) -> prijungtas prie „RX Arduino“kaiščio
- RX (imtuvas) -> prijungtas prie „TX Arduino“kaiščio
- VCC -> prijungtas prie 5v
- GND
DHT 11 jutiklis turi 4 kaiščius (tačiau naudojami tik 3):
- Signalas -> prijungtas prie skaitmeninio kaiščio
- VCC -> prijungtas prie 5v
- GND
PIR jutiklis turi 3 kaiščius:
- Signalas -> prijungtas prie skaitmeninio kaiščio
- VCC -> prijungtas prie 5v
- GND
Dujų jutiklis (MQ) turi 4 kaiščius:
- Skaitmeninis išėjimas -> prijungtas prie skaitmeninio kaiščio (jei norite skaitmeninės informacijos)
- Analog OUT -> mūsų atveju mes naudojame tai prijungtą prie analoginio kaiščio
- VCC -> prijungtas prie 5v
- GND
Triukšmo jutiklis (KY-038) turi 3 kaiščius:
- Signalas -> prijungtas prie analoginio kaiščio
- VCC -> prijungtas prie 5v
- GND
Nuotolinio „Arduino“įrenginio kodas:
/ * * „Arduino“siunčia duomenis per „Blutooth“* * Jutiklių vertė nuskaitoma, sujungiama * eilute ir siunčiama per nuoseklųjį prievadą. */ #įtraukti „DHT.h“#define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); plūdė drėgmė, temperatūra; loginis pir = 0; int, mikrofonas; Eilutė 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 = "#;" + Styga (drėgna) + ";" + Eilutė (temperatūra)+ ";"+ Eilutė (mikrofonas)+ ";"+ Eilutė (pir)+ ";" + Eilutė (co) + ";#" + "\ n"; Serial.print (msg); vėlavimas (2000 m.); }
Kodo paaiškinimas:
Visi „Arduino“naudojami kaiščiai nurodomi kodo pradžioje ir inicijuojamos atitinkamos bibliotekos, reikalingos jutikliams veikti. Visi duomenys bus perduoti atitinkamiems kintamiesiems, kurie gaus vertes, nuskaitytas iš kiekvieno jutiklio kas 2000 milisekundžių, tada visi jie yra sujungti į eilutę, tada rašoma serija. Iš ten „DragonBoard“esantis pyton kodas labai lengvai užfiksuoja tokius duomenis.
3 žingsnis: Programinė įranga ir bibliotekos
Norint apdoroti visus gautus duomenis ir valdyti apsaugos sistemą, būtina naudoti kai kurias „Qualcomm DragonBoard 410c“esančias programas ir bibliotekas.
Šiame konkrečiame projekte naudojame:
Programinė įranga:
- Python
- Arduino
Platformos:
- „Amazon AWS“-> internetinis serveris
- Phant -> Pagrindinio kompiuterio paslauga
Bibliotekos:
- „OpenCV“-vaizdo apdorojimas (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- „PyAudio“- garso apdorojimas (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“- mokykite ir nuspėkite mašinų mokymąsi (https://scikit-learn.org/stable/install.html)
- „cPickle“- išsaugokite mašininio mokymosi parametrus (https://pymotw.com/2/pickle/)
- MRAA - naudokite GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-naudokite GPIO (https://github.com/intel-iot-devkit/upm)
- „PySerial“- naudojamas nuosekliam ryšiui su „Bluetooth“įrenginiu (https://pythonhosted.org/pyserial/)
4 veiksmas: SSH naudojimas ir „Libs“diegimas
Pirmiausia turite gauti IP adresą iš „Dragonboard“, kad tai padarytumėte, turite įjungti „DragonBoard“, prijungtą prie pelės, klaviatūros ir HDMI monitoriaus. Kai lenta įjungta, turite prisijungti prie tinklo, tada eikite į terminalą ir paleiskite komandą:
sudo ifconfig
po to galite gauti IP adresą.
Turėdami IP adresą, galite pasiekti „Dragonboard“per SHH, kad tai padarytumėte, turite atidaryti terminalą kompiuteryje, prijungtame prie to paties tinklo kaip ir plokštė. Terminale galite paleisti komandą:
ssh linaro@{IP}
(turėtumėte pakeisti {IP} IP adresu, kurį gavote „Dragonboard“).
Pirmasis lib, kurį turite įdiegti, yra „mraa lib“. Norėdami tai padaryti, terminale turite paleisti šią komandą:
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
Norėdami įdiegti „opencv“, skirtą „python“, turite paleisti tik šią komandą:
sudo apt-get install python-opencv
Norėdami įdiegti „PyAudio“, turite paleisti komandą:
sudo apt-get įdiegti python-pyaudio python3-pyaudio
„Libs WAVE“ir „AudioOp“jau yra įdiegti plokštėje. Norėdami įdiegti numpy, turite paleisti komandą:
sudo apt-get įdiegti python-numpy python-scipy
Paskutinė lib, kurią turite įdiegti, yra „scikit“, kad ją įdiegtumėte, turite įdiegti „pip“. Jums tereikia paleisti komandą:
pip install scikit-lear
5 veiksmas: „Bluetooth“protokolas
„DragonBoard“ryšys su „Arduino“per „Bluetooth“
„Bluetooth“modulis (HC-06) iš pradžių buvo prijungtas prie „Arduino Nano“pagal šį pavyzdį:
Naudodami „Linaro“(operacinė sistema, naudojama dabartiniame „DragonBoard“projekte) sąsają, dešinėje apatinės juostos pusėje spustelėkite „Bluetooth“simbolį, tada spustelėkite „Nustatyti naują įrenginį“ir konfigūruokite naudodami „Bluetooth“modulį, palikdami jį suporuotą. Patikrinkite, ar jūsų modulis iš tikrųjų prijungtas, dar kartą spustelėdami „Bluetooth“simbolį, spustelėkite „Įrenginiai…“ir pažiūrėkite, ar jūsų įrenginio pavadinimas pateiktas sąraše ir prijungtas. Dabar „Bluetooth“įrenginių ekrane pasirinkite savo įrenginį ir dešiniuoju pelės mygtuku spustelėkite jį ir pažymėkite prievadą, prie kurio prijungtas „Bluetooth“modulis (pvz., „Rfcomm0“). Pastaba: prievado, prie kurio prijungtas jūsų prietaisas, pavadinimas bus svarbus atliekant kitą veiksmą, leidžiantį keistis duomenimis.
„DragonBoard“duomenų mainų ir „Bluetooth“sukūrimas
Iš esmės mes sekame žingsnis po žingsnio nuorodą: https://www.uugear.com/portfolio/bluetooth-communi…, bet neatlikome susiejimo dalies tik vykdydami python kodus ir „Arduino“. „Python“buvo naudojama serijinė biblioteka, kuri inicijuojama prie „Bluetooth“prijungto prievado, todėl python kodas nuskaitė jutiklių, prijungtų prie „arduino“per „Bluetooth“modulį, duomenis.
6 veiksmas: „Mezzanine“naudojimas „DragonBoard 410c“
Norėdami sujungti drakono lentą ir komponentus, mes naudojame „Mezannine“pavadintą skydą, kurį sukūrė 96 lentos.
Naudojant šį skydą, periferinius įrenginius prijungti tampa daug lengviau.
Jungčių naudojimas yra iš giraitės kūrimo rinkinio, todėl naudojamas tik especif kabelis, jungiantis abiem būdais, Visas dalis galite lengvai rasti šioje svetainėje:
Mes naudojame šiuos rinkinius žemiau:
- Grove estafetė
- „Grove Sunlight“jutiklis
- Grove led lizdas
- Grove temperatūros ir humi jutiklis
- Grove Buzzer
7 žingsnis: „DragonBoard 410c“programinė įranga
„DragonBoard“programos dalis buvo užkoduota „Python“, o „Arduino“naudojama programa buvo sukurta naudojant C ++. Kas 2 minutes „Arduino“nuskaito visą prie jo prijungtą jutiklį. Nei „Arduino“nusiųs skaitymą į „DragonBoard“per „Bluetooth“. „DragonBoard“sujungia „Arduino“rodmenis su „Mezzanine“skydo rodmenimis ir garso bei vaizdo pavyzdžių funkcijomis.
Remdamasi šiais duomenimis, valdyba bando numatyti, ar įvyksta ekstremali situacija. Valdyba siunčia „Amazon“žiniatinklio tarnybai, naudodama „Phant“neapdorotus duomenis ir jos numatytą prognozę. Jei lenta numato, kad įvyksta keista situacija, ji bando įspėti vartotoją, mirksintį šviesos diodu ir garsiniu signalu, ir parodyti žiniatinklio programoje. Žiniatinklio programoje taip pat galima pamatyti neapdorotus duomenis, kad suprastumėte, kas vyksta šioje srityje.
Rekomenduojamas:
„Raspberry Pi 4“nustatymas per nešiojamąjį kompiuterį/kompiuterį naudojant „Ethernet“kabelį (be monitoriaus, be „Wi-Fi“): 8 žingsniai
Nustatykite „Raspberry Pi 4“per nešiojamąjį kompiuterį/kompiuterį naudodami eterneto kabelį (be monitoriaus, be „Wi-Fi“): šiuo tikslu dirbsime su „Raspberry Pi 4 Model-B“1 GB RAM. „Raspberry-Pi“yra vienos plokštės kompiuteris, naudojamas švietimo tikslais ir „pasidaryk pats“projektams už prieinamą kainą, reikalauja 5V 3A maitinimo šaltinio
„MotionEye“OS nustatymas „Raspberry Pi Zero W“: 5 žingsniai
„MotionEye“operacinės sistemos nustatymas „Raspberry Pi Zero W“: Išbandę ankstesniuose vaizdo įrašuose pateiktą ESP32-CAM plokštę, galima drąsiai teigti, kad vaizdo kokybė nėra tokia puiki. Tai kompaktiška ir labai ekonomiška plokštė, kurią taip pat lengva naudoti, todėl ji puikiai tinka pradedantiesiems. Bet
„Blue Pill Board“nustatymas naudojant STM32CubeIDE: 8 žingsniai
„Blue Pill Board“nustatymas „STM32CubeIDE“: „Blue Pill“yra labai pigi plikų kaulų ARM plėtros lenta. Jo procesorius yra STM32F103C8, turintis 64 kbitų blykstės ir 20 kb RAM atminties. Jis veikia iki 72 MHz ir yra pigiausias būdas patekti į įterptosios ARM programinės įrangos kūrimą
„De Rostros Con Arduino Intel Edison“nustatymas: 8 žingsniai
„Rostros Con Arduino“„Intel Edison“aptikimas: procesų apdorojimas arba įvažiavimas į kompiuterį ir kompiuterio vizija į kompiuterį, nesvarbu, ar tai reikalinga, ar ne, reikia tirti tyrimus, atlikti tyrimus, atlikti tyrimus, analizuoti ir suprasti, kaip elgtis. p
„IoT Bit“nustatymas jūsų mini kompiuteriuose naudojant „Ubuntu Mate“: 8 žingsniai
„IoT Bit“nustatymas jūsų mini kompiuteriuose su „Ubuntu Mate“: „IoT Bit“didžiuojasi galėdamas pristatyti mūsų mobiliųjų duomenų kūrimo plokštę, skirtą įvairiems mini kompiuteriams, kurie suteikia jiems 4G, 3G ir GSM mobiliuosius duomenis. Mūsų išmanusis HAT modulis aprūpina jūsų mini kompiuterį mobiliaisiais duomenimis, GPS padėties nustatymo informacija ir