Tartalomjegyzék:

Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c: 7 lépés
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c: 7 lépés

Videó: Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c: 7 lépés

Videó: Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c: 7 lépés
Videó: 2019.03.13. Diabéteszes sürgősségi helyzetek, vérgázanalízis (Tóth-Heyn Péter dr.) 2024, Július
Anonim
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c
Sürgősségi helyzetek felderítése - Qualcomm Dragonboard 410c

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

Távoli eszköz készítése
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

Bluetooth protokoll
Bluetooth protokoll
Bluetooth protokoll
Bluetooth protokoll
Bluetooth protokoll
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 Mezzanine használata a DragonBoard 410c rendszeren
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: