Tartalomjegyzék:
- 1. lépés: Rendszerblokk diagram
- 2. lépés: A projekt összetevői
- 3. lépés: 2. lépés: Áramköri rajz és csatlakozások
- 4. lépés: Telepítse az Os -ot a DragonBoards -ra
- 5. lépés: Csatlakozási interfészek
- 6. lépés: Az alapvető szoftvermodulok telepítése
- 7. lépés: Demonstráció
- 8. lépés: Köszönöm
Videó: Intelligens IoT Vision: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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
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
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
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:
Hogyan barkácsoljunk intelligens redőnyöket SONOFF intelligens kapcsolókkal?: 14 lépés
Hogyan barkácsoljunk intelligens redőnyöket a SONOFF intelligens kapcsolókkal?: Használja a reteszelés módot a SONOFF intelligens kapcsolókban, hogy a szokásos redőnyöket/redőnyöket intelligensekké tegye és este lehúzni? Egyébként én
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: 10 lépés (képekkel)
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: Szeretett volna valaha okos órát? Ha igen, akkor ez a megoldás az Ön számára! Készítettem intelligens ébresztőórát, ez egy óra, amellyel megváltoztathatja az ébresztési időt a webhely szerint. Amikor a riasztó megszólal, hangjelzés (csipogó) és 2 lámpa hallatszik
Micro: bit MU Vision Sensor - Intelligens autóra telepítve: 5 lépés
Mikro: bit MU látásérzékelő - Intelligens autóra telepítve: Ez az útmutató bemutatja, hogyan kell felszerelni az MU látásérzékelőt az intelligens autóra, amelyet ebben az útmutatóban építünk. Míg ez az útmutató megmutatja, hogyan kell telepíteni egy MU látásérzékelőt, követheti azt az összes más típusú érzékelő telepítéséhez is. Volt egy 2 tengelyes kameraállványom
IoT alapú intelligens kertészet és intelligens mezőgazdaság ESP32 használatával: 7 lépés
IoT alapú intelligens kertészet és intelligens mezőgazdaság ESP32 használatával: A világ idővel változik, és így a mezőgazdaság is. Manapság az emberek minden területen integrálják az elektronikát, és ez alól a mezőgazdaság sem kivétel. Az elektronika egyesülése a mezőgazdaságban segíti a gazdákat és a kerteket kezelő embereket. Ebben
Intelligens tárcsázás - automatikus javító intelligens hagyományos telefon: 8 lépés
Intelligens tárcsázás-automatikus javító intelligens hagyományos telefon: Az intelligens tárcsázás egy intelligens, automatikus korrekciós telefon, amelyet speciális igényű idősek számára fejlesztettek ki, és lehetővé teszi az idősek számára, hogy közvetlenül a megszokott hagyományos telefonokról tárcsázzanak. Csak a helyi idősek gondozási központjában végzett önkéntes munkával tudtam