Tartalomjegyzék:
- 1. lépés: Szükséges összetevők
- 2. lépés: Távoli eszköz készítése
- 3. lépés: Szoftverek és könyvtárak
- 4. lépés: Az SSH használata és a Libs telepítése
- 5. lépés: Bluetooth protokoll
- 6. lépés: A Mezzanine használata a DragonBoard 410c rendszeren
- 7. lépés: DragonBoard 410c szoftver
Videó: Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Olyan biztonsági rendszereket keres, akik a veszélyhelyzetek felügyeletén dolgoznak, észrevehetjük, hogy túl nehéz feldolgozni az összes rögzített információt. Gondolkodva úgy döntöttünk, hogy ismereteinket felhasználva az audio/képfeldolgozásban, az érzékelőkben és a hajtóművekben egy teljes rendszert hozunk létre, amely lehetővé teszi a helyzetek előrejelzését, amikor az emberek élete veszélyben van.
Ez a projekt helyi érzékelőket és távoli eszközöket tartalmaz az adatok gyűjtésére és a sárkánytáblára küldésére, amely olyan feldolgozási képességgel rendelkezik, amely képes fontos információkat kinyerni a kapott adatokból.
A távoli eszköz egy Arduino kártya, HC-06 modullal, amely lehetővé teszi az összes információ átvitelét, és olcsó, széles hálót képes nagy mennyiségű adat feldolgozására.
1. lépés: Szükséges összetevők
Először is el kell döntenie, hogy mely érzékelőket és hajtóműveket fogja használni, és elkészíteni az architektúra vázlatát.
Esetünkben ezeket az érzékelőket használjuk, amelyek az alább felsorolt ARDUINO Pro Mini -ben vannak összekapcsolva:
- PIR (Passzív infravörös-jelenlétérzékelő)
- DHT 11 (páratartalom és hőmérséklet érzékelő)
- CO-érzékelő (szén-monoxid-érzékelő)
- Zajérzékelő
Állítóművek:
- motor szervo
- zümmögő
Kommunikáció:
Bluetooth-modul HC-06
A Dragonboard 410c -hez néhány érzékelővel és szoftverrel rendelkezünk az összes adatbevitel feldolgozásához:
Érzékelők:
- DHT 11
- Napfényérzékelő
Állítóművek:
- Váltó:
- LED állapot
- Zümmögő
2. lépés: Távoli eszköz készítése
Itt az ideje, hogy csatlakoztassa az összes következő összetevőt az Arduino Boardhoz, és hozzon létre egy eszközt, amely megkapja a környezetből származó adatokat (zaj, páratartalom, hőmérséklet stb.), És elküldi a Dragonboardra a HC-06 bluetooth modul segítségével.
Figyelni kell a csatlakozásokra, mert minden érzékelőnek meghatározott csatlakozóhelyei vannak.
A rendszeren több eszköz is rendelkezésre áll az adatok gyűjtésére. Minél több eszközt telepített a környezetbe, annál pontosabb az adatfeldolgozás által generált diagnosztika. Mivel lehetséges lesz szélesebb körű információk kinyerése, amelyek hasznosak lehetnek.
Úgy döntöttünk, hogy egy arduino táblát használunk, mert több kompatibilis érzékelőt tartalmaz, és lehetséges a távoli eszközök telepítése különböző helyekre, további információk gyűjtése érdekében.
A helyi eszköz a DragonBoard 410c, amely hang-, videó-, digitális és analóg információkat dolgoz fel az erőteljes SnapDragon 410 processzorral.
Az alkatrészek elhelyezése (Remote Devide)
Melyik darabnak van néhány csapja, amelyeket az arduino pro mini tábla megfelelő csapjaihoz kell csatlakoztatni.
A HC-06 Bluetooth modul 4 tűvel rendelkezik:
- TX (Transmissor) -> csatlakoztatva az RX Arduino tűjéhez
- RX (vevő) -> csatlakoztatva a TX Arduino tűjéhez
- VCC -> az 5v -on csatlakoztatva
- GND
A DHT 11 érzékelő 4 tűvel rendelkezik (de csak 3 használatban):
- Jel -> digitális tüske
- VCC -> az 5v -on csatlakoztatva
- GND
A PIR érzékelő 3 tűvel rendelkezik:
- Jel -> digitális tűre csatlakoztatva
- VCC -> az 5v -on csatlakoztatva
- GND
A gázérzékelőnek (MQ) 4 csapja van:
- Digitális OUT -> digitális tűn csatlakoztatva (ha digitális információt szeretne)
- Analóg kimenet -> esetünkben ezt analóg tűn csatlakoztatva használjuk
- VCC -> az 5v -on csatlakoztatva
- GND
A zajérzékelő (KY-038) 3 érintkezővel rendelkezik:
- Jel -> analóg érintkezőre csatlakoztatva
- VCC -> az 5v -on csatlakoztatva
- GND
Az Arduino távoli eszköz kódja:
/ * * Az Arduino adatokat küld a Blutooth -on keresztül * * Az érzékelők értékét leolvassák, összekapcsolják a * String és soros porton keresztül küldik. */ #tartalmazza a "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); úszó nedvesség, hőmérséklet; logikai pir = 0; int co, mikrofon; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); hőmérséklet = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Húr (párás) + ";" + String (hőmérséklet)+ ";"+ String (mic)+ ";"+ String (pir)+ ";" + Karakterlánc (co) + ";#" + "\ n"; Serial.print (msg); késleltetés (2000); }
A kód magyarázata:
Az Arduino -ban használt összes csap a kód elején szerepel, és az érzékelők működéséhez szükséges megfelelő könyvtárak inicializálva vannak. Minden adat továbbításra kerül a megfelelő változókhoz, amelyek 2000 milliszekundumonként megkapják az egyes érzékelőktől beolvasott értékeket, majd mindegyiket karakterlánccá fűzik, majd soros formában írják. Innentől kezdve a DragonBoard -ban található pyton kód nagyon könnyen rögzíthet ilyen adatokat.
3. lépés: Szoftverek és könyvtárak
A kapott adatok feldolgozásához és a biztonsági rendszer vezérléséhez szükség van néhány szoftverre és könyvtárra a Qualcomm DragonBoard 410c -ben.
Ebben a speciális projektben a következőket használjuk:
Szoftverek:
- Piton
- Arduino
Platformák:
- Amazon AWS -> online szerver
- Phant -> Host adatszolgáltatás
Könyvtárak:
- OpenCV-Videó feldolgozás (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Hangfeldolgozás (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 - A gépi tanulás képzése és előrejelzése (https://scikit-learn.org/stable/install.html)
- cPickle - Mentse el a gépi tanulási paramétereket (https://pymotw.com/2/pickle/)
- MRAA - Használja a GPIO -kat (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Használja a GPIO-kat (https://github.com/intel-iot-devkit/upm)
- PySerial - Soros kommunikációhoz Bluetooth -eszközzel (https://pythonhosted.org/pyserial/)
4. lépés: Az SSH használata és a Libs telepítése
Először is meg kell szereznie az IP -címet a Dragonboard -ból, ehhez be kell kapcsolnia az egérrel, billentyűzettel és HDMI -monitorral összekapcsolt DragonBoard -ot. Amikor a tábla be van kapcsolva, csatlakoznia kell egy hálózathoz, akkor lépjen a terminálra, és futtassa a parancsot:
sudo ifconfig
utána megkaphatja az IP -címet.
Az IP -címmel SHH -n keresztül érheti el a Dragonboardot, ehhez meg kell nyitnia egy terminált egy számítógéppel, amely ugyanahhoz a hálózathoz csatlakozik, mint a tábla. A terminálon futtathatja a következő parancsot:
ssh linaro@{IP}
(az IP címet le kell cserélnie a Dragonboardon kapott IP -címre).
Az első telepítendő lib az mraa lib. Ehhez a következő parancsot kell futtatnia a terminálon:
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
Az opencv python telepítéséhez csak a következő parancsot kell futtatnia:
sudo apt-get install python-opencv
A PyAudio telepítéséhez futtassa a következő parancsot:
sudo apt-get install python-pyaudio python3-pyaudio
A libs WAVE és AudioOp már telepítve van a táblára. A numpy telepítéséhez futtassa a következő parancsot:
sudo apt-get install python-numpy python-scipy
Az utolsó lib, amit telepítened kell, a scikit, telepítéséhez pip kell. Ekkor csak a parancsot kell futtatnia:
pip install scikit-lear
5. lépés: Bluetooth protokoll
DragonBoard kapcsolat az Arduino -val Bluetooth -on keresztül
A Bluetooth modult (HC-06) eredetileg az Arduino Nano készülékhez kötötték a következő példa szerint:
A Linaro (a DragonBoard jelenlegi projektjében használt operációs rendszer) grafikus kezelőfelületének használatával kattintson az alsó sáv jobb oldalán a Bluetooth szimbólumra, majd az "Új eszköz beállítása" elemre, és konfigurálja a Bluetooth modullal párosítva. Ellenőrizze, hogy a modul valóban csatlakoztatva van -e, kattintson ismét a Bluetooth szimbólumra, kattintson az "Eszközök …" elemre, és nézze meg, hogy az eszköz neve szerepel -e a listán és csatlakozik -e. Most válassza ki az eszközt a "Bluetooth -eszközök" képernyőn, és kattintson rá jobb gombbal, és jegyezze fel a portot, amelyhez a Bluetooth -modul csatlakozik (például: "rfcomm0"). Megjegyzés: A port neve, amelyhez a készüléke csatlakozik, fontos lesz az adatcsere engedélyezésének következő lépésében.
A DragonBoard adatcsere és a Bluetooth létrehozása
Alapvetően lépésről lépésre követjük a linket: https://www.uugear.com/portfolio/bluetooth-communi…, de nem végeztük el a párosítás részét, csak a python kódok és az Arduino végrehajtását. A pythonban azt a soros könyvtárat használták, amely a Bluetooth -hoz csatlakoztatott porton inicializálódik, ezért a python -kód leolvassa azoknak az érzékelőknek az adatait, amelyek a Bluetooth modulon keresztül vannak csatlakoztatva az arduino -hoz.
6. lépés: A Mezzanine használata a DragonBoard 410c rendszeren
A sárkánytábla és a komponensek közötti kapcsolat létrehozásához a Mezannine nevű pajzsot használunk, amelyet a 96boards fejlesztett ki.
Ezzel a pajzzsal a perifériák csatlakoztatása sokkal könnyebbé válik.
A csatlakozók a Grove fejlesztőkészletéből származnak, tehát csak egy speciális kábelt használ, amely mindkét irányba csatlakozik, Az összes alkatrész könnyen megtalálható ezen a webhelyen:
Ezt a készletet használjuk az alábbiakban:
- Grove Relay
- Grove Sunlight érzékelő
- Grove led aljzat
- Grove hőmérséklet és humi érzékelő
- Grove Buzzer
7. lépés: DragonBoard 410c szoftver
A DragonBoard programrészét Python -ban kódolták, az Arduino -n használt programot pedig C ++ nyelven fejlesztették ki. Az Arduino 2 percenként leolvassa az összes hozzá csatlakoztatott érzékelőt. Ezután az Arduino Bluetooth -on elküldi a leolvasott adatokat a DragonBoardnak. A DragonBoard ötvözi az Arduino -ból származó leolvasást a Mezzanine pajzs által készített leolvasással az audio- és a videóminták jellemzőivel.
Ezekkel az adatokkal a Tanács megpróbálja megjósolni, hogy vészhelyzet lép fel. A fórum a Phant segítségével elküldi az Amazon Web Service -nek a nyers adatokat és az előrejelzést. Ha a tábla azt jósolja, hogy furcsa helyzet áll elő, megpróbálja figyelmeztetni a felhasználót, aki ledet és zümmögőt villog a félemeleten, és megjeleníti a webalkalmazásban. A webalkalmazásban lehetőség nyílik a nyers adatok megtekintésére is, hogy megértsük, mi történik ezen a területen.
Ajánlott:
Sürgősségi USB áramforrás (3D nyomtatás): 4 lépés (képekkel)
Sürgősségi USB áramforrás (3D nyomtatás): Ez a projekt 12 V -os akkumulátort használ, mint a járművekhez, USB -eszközök töltésére áramkimaradás vagy kempingezés esetén. Ez olyan egyszerű, mint egy USB autós töltő csatlakoztatása az akkumulátorhoz. A Sandy hurrikán után áram nélkül maradtam
Sürgősségi jármű menekülési kulcstartó: 11 lépés (képekkel)
Sürgősségi jármű menekülési kulcstartó: Autóbalesetek. Jajj! A legjobb módja annak, hogy elkerülje a balesetet, ha biztonságos vezetési technikákat alkalmaz, és mindig figyeljen arra, hová megy, és a többi autóra. Azonban minden erőfeszítése ellenére nem tudja irányítani a többi hajtást
E.S.D.U (Sürgősségi szolgálati droid egység): 7 lépés
E.S.D.U (Sürgősségi Szolgálati Droid Egység): Ma egy E.S.D.U (Sürgősségi Szolgálati Droid Egységet) építünk. Az E.S.D.U 3 osztályra oszlik: Rendőrség, Tűz és Medic. Mindezek még nincsenek teljesen kifejlesztve, de remélem, hogy közösen fejleszthetjük és fejleszthetjük őket
Sürgősségi vészhelyzeti érzékelő: 4 lépés
Sürgősségi sürgősségi érzékelő: Olyan riasztórendszert tervezünk, amely értesíti azokat az egyéneket, akik nem hallják a riasztórendszert, ha fúrót vagy riasztást hallottak. Jelenleg egy süket/nagyothalló személy riasztást kap, és tájékoztatást kap a
Az akadályok és a figyelmeztetés felderítése - Arduino UNO és ultrahangos: 4 lépés (képekkel)
Az akadályok és a figyelmeztetés felderítése - Arduino UNO és ultrahangos: Ez az oktatóanyag segít megérteni az ultrahangot és a zümmögést, és mélyebbre menni az Arduino tanulásában, kövesse ezeket a lépéseket, és adjon visszajelzést