Tartalomjegyzék:

Intelligens IoT Vision: 8 lépés
Intelligens IoT Vision: 8 lépés

Videó: Intelligens IoT Vision: 8 lépés

Videó: Intelligens IoT Vision: 8 lépés
Videó: Фей-Фей Ли: Как мы учим компьютеры понимать изображения 2024, November
Anonim
Intelligens IoT Vision
Intelligens IoT Vision

Ez a projekt az intelligens város kontextusára összpontosít. Ebben a kérdésben három fő problémát kell megoldanunk:

1 - energiatakarékosság a közvilágításban; 2 - a város biztonságának javítása; 3 - a forgalom javítása.

1 - Ha LED -es lámpákat használnak az utcákon, a megtakarítás akár 50% is lehet, és a Telemanagement hozzáadásával 30% -kal több megtakarítás érhető el.

2 - Az intelligens kamerák használatával szabályozhatjuk, hogy a lámpák elhalványuljanak ott, ahol az emberek áramlanak, és világosabbá tegyük az utcaszakaszt, ahol emberek járnak. Ez nem csak energiát takarít meg, de növeli a megfigyelés érzését, így megfélemlíti a rossz szándékú embereket. Ezenkívül vizuális riasztások (például a lámpák villogása) használhatók gyanús viselkedés esetén.

3 - Az intelligens kamera figyeli a forgalmat, helyben feldolgozza annak körülményeit, és szabályozza a fényjelzéseket a forgalom legjobb kezelése érdekében. Ily módon elkerülhetők a forgalmi dugók, az autóknak nem kell sokáig várniuk a piros jelzésekre, amikor nincs átfolyás az átkelőhelyen stb. Ami a technológiai problémákat illeti, megoldjuk az IoT gyakori problémáit is, például a robosztus csatlakozást a városi léptékben és a kameraintegrációt az IoT Network számára, az élfeldolgozással csak a releváns információkat továbbítva.

Tekintse meg kiadványunkat az Embarcadosról és a GitHubról

A YouTube -on is

Csapatunk:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Elérhetőségek lent)

1. lépés: Rendszerblokk diagram

Rendszerblokk diagram
Rendszerblokk diagram

Ez a megoldás architektúrájának áttekintése.

A rendszer egy Camera-Gateway-ből áll, amely RFmesh-t használ a FAN interfészen, WiFi-t LAN-on és CAT-M-t a WAN-kapcsolathoz. Intelligens fotocellákat, intelligens kamerákat és fényjeleket is tartalmaz.

A hálózatok összes eszköze, főleg az intelligens kamera, 6lowpan -on keresztül küld adatokat az intelligens átjárónak, így meg tudja hozni a közvilágítással és a fényjelzésekkel kapcsolatos döntéseket.

Az átjáró VPN -en keresztül is csatlakozik a szerverünkhöz. Ily módon hozzáférünk a FAN és a LAN bothoz az állapot ellenőrzéséhez vagy az eszközök vezérléséhez.

2. lépés: A projekt összetevői

A projekt összetevői
A projekt összetevői
A projekt összetevői
A projekt összetevői
A projekt összetevői
A projekt összetevői

Intelligens kamera

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF hálózati kártya

Kamera átjáró

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF hálózati kártya

- Cat-M/3G modem

Intelligens fényjel

3. lépés: 2. lépés: Áramköri rajz és csatlakozások

2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások
2. lépés: Áramköri rajz és csatlakozások

Intelligens kamera

- Kamera USB porton

- OneRF NIC az UART porton

Kamera átjáró

- Kamera USB porton

- OneRF NIC az UART porton

- 3G/Cat-M modem az USB porton

(Mindezt az IoT félemelet köti össze)

Intelligens Stree Light

- Hagyományos utcai lámpa

- Relé tábla (3 csatorna)

- OneRF hálózati kártya

Intelligens fotocella

- OneRF hálózati kártya

- Teljesítménymérő

4. lépés: Telepítse az Os -ot a DragonBoards -ra

A Debian telepítése a Dragonboard820C -re (gyorsindítási módszer)

Linux operációs rendszer használatával telepítse a következő címen felsorolt csomagokat:

A sárkánytáblán:

hogy az s4 OFF, OFF, OFF, OFF

Kapcsolja be a vol (-) gombot

Ha soros monitort használ (erősen ajánlott), akkor a „gyorsindítás: feldolgozási parancsok” üzenet jelenik meg (soros monitor 115200-on) Csatlakoztassa a mikro-usb-t (J4) a számítógéphez

Gazdagépen: Töltse le (és bontsa ki) a https://www.96boards.org/documentation/consumer/d… webhelyről

$ sudo gyorsindító eszközök

452bb893 gyorsindítás (példa)

$ sudo fastboot flash boot boot-linaro-buster-dragonboard-820c-BUILD.img

$ sudo fastboot flash rootfs linaro-buster-alip-dragonboard-820c-BUILD.img

A Debian telepítése a Dragonboard410C -re

Lépések a számítógépen (Linux)

1 - Töltse le a képet

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Csomagolja ki a fájlokat

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Helyezze be a microSD -t a számítógépbe, és ellenőrizze, hogy csatlakoztatva van -e

$ df -h

/dev/sdb1 7.4G 32K 7.4G 1%/media/3533-3737

4 - Szerelje le a microSD -t, és égesse el a képet

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = szinkronizálási állapot = noxfer

5 - Távolítsa el a microSD -t a számítógépről

Lépések a számítógépen (Windows) Letöltés - SD -kártya kép - (1. lehetőség) SD -kártya képe - Telepítés és indítás az eMMC -ből

www.96boards.org/documentation/consumer/dr…

Csomagolja ki az SD kártya telepítési képét

Töltse le és telepítse a Win32DiskImager eszközt

sourceforge.net/projects/win32diskimager/f…

Nyissa meg a Win32DiskImager eszközt

Helyezze be az SD -kártyát a számítógépbe

Keresse meg a kibontott.img fájlt

Kattintson az Írás gombra

Lépések a Dragonboardon Győződjön meg arról, hogy a DragonBoard ™ 410c ki van húzva az áramforrásból

Állítsa a DragonBoard ™ 410c S6 kapcsolóját 0-1-0-0 állásba, az „SD Boot switch” -et „ON” -ra kell állítani.

Csatlakoztasson egy HDMI -t

Csatlakoztassa az USB billentyűzetet

Helyezze be a microSD -t

Csatlakoztassa a hálózati adaptert

Válassza ki a telepíteni kívánt képet, majd kattintson az „Install” gombra

várja meg a telepítés befejezését

Távolítsa el a hálózati adaptert

Távolítsa el a microSD -t

Állítsa az S6 kapcsolót 0-0-0-0 állásba

KÉSZ

5. lépés: Csatlakozási interfészek

A Cat-m és a 3G telepítése

Alkalmazza a következő AT parancsokat egy gazdagép használatával:

#SIMDET? // SIM -kártya jelenlétének ellenőrzése#SIMDET: 2, 0 // SIM nincs behelyezve

#SIMDET: 2, 1 // sim behelyezve

AT+CREG -nél? // ellenőrizze, hogy regisztrálva van -e

+CREG: 0, 1 // (letiltja a hálózati regisztráció kéretlen eredménykódját (gyári alapbeállítás), regisztrált otthoni hálózat)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (mód = automatikus választás, formátum = alfanumerikus, oper,?)

AT+CPAS // Telefontevékenység állapota

+CPAS: 0 // kész

AT+CSQ // ellenőrizze a szolgáltatás minőségét

+CSQ: 16, 3 // (rssi, bit hibaarány)

AT+CGATT? // a GPRS -csatolás állapota

+CGATT: 1 // csatolva

AT+CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // kontextus konfigurálása

rendben

AT+CGDCONT? // ellenőrizze a kontextust

+CGDCONT: 1, „IP”, „zap.vivo.com.br”,””, 0, 0

AT#SGACT = 1, 1 // Kontextus aktiválása

#FELADAT: 100.108.48.30

rendben

Állítsa be az interfészt

Grafikus környezet használata

Csatlakoztassa a modemet (oneRF_Modem_v04 - HE910)

Nyissa meg a Hálózati kapcsolatokat

Új kapcsolat hozzáadásához kattintson a + gombra

Válassza a Mobil szélessáv lehetőséget

Válassza ki a megfelelő eszközt

Válassza ki az országot

Válassza ki a szolgáltatót

Válassza ki a tervet, majd mentse

Távolítsa el a modemet

Csatlakoztassa újra a modemet

A terminalapt-get install pppconfig használatával

pppconfig

szolgáltató = vivo

dinamico

PASAS

vivo

vivo

115200

Tone

*99#

nem (kézi)

/dev/ttyUSB0

megment

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Ha Cat-M modult használ, akkor csak használja a következő parancsokat:

echo 1bc7 1101>/sys/bus/usb-serial/drivers/option1/new_id

apt-get install comgt

comgt -d /dev /ttyUSB0 comgt info -d /dev /ttyUSB0

6. lépés: Az alapvető szoftvermodulok telepítése

A fejlesztő számítógépen

Ne feledje, hogy egyes lépések hardverfüggőek, és azokat a számítógép tényleges specifikációinak megfelelően kell beállítani. A könyvtárak egyetlen paranccsal telepíthetők.

sudo apt install build-essential git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 hdf5 openmpi-bin opnempi-doc protobon-dev python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-tipping python-hypotesis python-yaml

OpenCV

Ez a keretrendszer képalapú statisztikai algoritmusok fejlesztésére szolgál a fejlesztőgépen. Mivel a legtöbb kódunk Pythonban van írva, a legegyszerűbb telepítési módszer az igazság

pip telepítse az opencv-python programot

Ne feledje azonban, hogy ezek a kerekek a CPU -n kívül semmit sem használnak, és nem is használhatják az összes magját, ezért érdemes a forrásból fordítani a maximális teljesítmény elérése érdekében. Például a csomag Linuxon történő elkészítéséhez töltse le a zip fájlt az OpenCV Releases oldalról, és bontsa ki. A kicsomagolt mappából:

mkdir build && cd buildcmake.. hogy minden -j4

sudo make install

A -j4 parancs utasítja a make -et négy szál használatára. Annyit használjon, amennyi a CPU -ban van!

Kávézó

A Caffe keretrendszer beállítása forrásból:

git klón https://github.com/BVLC/caffe.git && cd caffemkdir build

cmake..

készíts mindent

hogy teszt hogy runtest

Ha minden teszt sikeres, akkor minden készen áll.

TensorFlow

A Google nem engedélyezi a TensorFlow fordítását szokásos eszközökkel. Ehhez Bazel szükséges, és valószínűleg nem fog működni, ezért kerülje a fordítást, és csak ragadja meg az előre összeállított modult:

pip install tensorflow

Ha a számítógépe kicsit öreg, és nem rendelkezik AVX utasításokkal, töltse le az utolsó nem AVX tensorflow-t

pip install tensorflow == 1.5

És kész.

SNPE - Snapdragon ™ idegfeldolgozó motor

A Snappy beállítása, ahogy Qualcomm barátaink SNPE -nek hívják, nem nehéz, de a lépéseket alaposan követni kell. A telepítési vázlat a következő:

klónozzák a neurális hálózati keretrendszerek git -tárházait

CaffeCaffe2

TensorFlow

ONNX

futtassa a szkripteket a dependenciessnpe/bin/dependencies.sh keresésére

snpe/bin/check_python_depends.sh

minden telepített keretrendszerhez futtassa a snpe/bin/envsetup.sh fájlt

forrás $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

forrás $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

forrás $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

forrás $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

Ha minden megnyitott terminálpéldányban szeretne SNPE -t szerezni, fűzze a harmadik lépés négy sorát a ~/.bashrc fájl végéhez.

A cél táblán

Az arm64 -re való átállás az amd64 -ről nem könnyű feladat, mivel sok könyvtár kihasználja az x86 utasításokat a teljesítmény növelése érdekében. Szerencsére a szükséges erőforrások nagy részét össze lehet állítani a táblán. A szükséges könyvtárak egyetlen paranccsal telepíthetők.

sudo apt install build-essential git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 hdf5 openmpi-bin opnempi-doc protobon-dev python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-tipping python-hypotesis python-yaml

Telepítse őket az apt segítségével, és lépjen tovább. Ne feledje, hogy ez a lépés eltarthat egy ideig, mivel az alkalmas hívások a nem előre lefordított kód létrehozását teszik szükségessé.

OpenCV

Töltse le a kiadást az OpenCV lerakatból, bontsa ki valahol és a kicsomagolt mappából:

mkdir build && cd buildcmake..

hogy minden -j3

sudo make install

Vegye figyelembe, hogy a -j3 opciót használtuk. Ha az SSH -n keresztül éri el a táblát, akkor az összes mag teljes feltöltése elegendő lehet a kapcsolat megszakításához. Ez nem kívánatos. Ha háromra korlátozzuk a szálak használatát, akkor mindig lesz legalább egy szabad szálunk, hogy megbirkózzunk az ssh kapcsolatokkal és az általános rendszer -háztartással.

Ez a Dragonboard 820 és az Inforce 6640 esetében az APQ8096 chip. A Dragonboard 410 -en szabad virtuális memóriával kell rendelkeznie, vagy korlátoznia kell a fordítási szálakat, mivel kevesebb fizikai RAM áll rendelkezésre.

Azt is érdemes megjegyezni, hogy a chip hűtése hozzájárul a teljesítmény növeléséhez a termikus fojtószelep korlátozásával. A hűtőborda kis terhelésnél megteszi a trükköt, de megfelelő ventilátort szeretne a fordításhoz és más CPU-igényes terhelésekhez.

Miért nem telepíti az OpenCV -t apt vagy pip segítségével? Mivel a célgépben lefordítva minden rendelkezésre álló processzor utasítás láthatóvá válik a fordító számára, javítva a végrehajtási teljesítményt.

SNPE - Snapdragon ™ idegfeldolgozó motor

A Snappy -t ugyanúgy telepítettük, mint egy asztali számítógépre, annak ellenére, hogy tényleges neurális hálózati keretrendszer nem volt telepítve (az SNPE -nek csak a git repókra van szüksége, nem a tényleges bináris fájlokra).

Mivel azonban csak az snpe-net-run parancs binárisaira és fejléceire van szükségünk, lehetséges, hogy csak a következő fájlok egy mappában való elhelyezése és a mappa PATH-hoz való hozzáadása működik:

Neural network binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU könyvtárak

snpe/lib/aarch64-linux-gcc4.9/libSNPE.so

snpe/lib/aarch64-linux-gcc4.9/libsymphony-cpu.so

/usr/lib/aarch64-linux-gnu/libatomic.so.1

DSP könyvtárak

snpe/lib/dsp/libsnpe_dsp_skel.so

snpe/lib/aarch64-linux-gcc4.9/libsnpe_adsp.so

Eredmények megtekintője

snpe/models/alexnet/scripts/show_alexnet_classifications.py

A vastag betűtípust, Egyéb fontos csomagok:

sudo apt-get install net-toolssudo apt-get install gedit

sudo apt install nodejs

sudo apt install openvpn

7. lépés: Demonstráció

Tekintse meg a Smart IoT Vision for Smart-City működésének rövid bemutatóját !!

www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be

8. lépés: Köszönöm

Köszönjük a Qualcomm csapatának és az Embarcadosnak a verseny létrehozását és támogatását.

Forduljon hozzánk bizalommal:

Hivatkozások

Dragonboard 410c telepítési útmutató Linux és Android rendszerekhez

github.com/96boards/documentation/wiki/Dr….

DragonBoard 410c

caffe.berkeleyvision.org/install_apt.htmlhttps://caffe.berkeleyvision.org/installation.html#… https://developer.qualcomm.com/docs/snpe/setup.ht…https://caffe.berkeleyvision.org/installation.html#… https://github.com/BVLC/caffe https://caffe.berkeleyvision.org/installation.html#… https://github.com/tensorflow/tensorflow http:/ /caffe.berkeleyvision.org/installation.html# … https://www.tensorflow.org/install/ https://caffe.berkeleyvision.org/installation.html# … https://caffe.berkeleyvision.org/

Ajánlott: