Obsah:
- Krok 1: Blokový diagram systému
- Krok 2: Komponenty tohto projektu
- Krok 3: Krok 2: Schéma zapojenia a zapojenia
- Krok 4: Nainštalujte Os na DragonBoards
- Krok 5: Rozhrania pripojenia
- Krok 6: Inštalácia základných softvérových modulov
- Krok 7: Ukážka
- Krok 8: Ďakujem
Video: Smart IoT Vision: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Ide o projekt zameraný na kontext inteligentného mesta. V tejto záležitosti riešime tri hlavné problémy:
1 - úspora energie vo verejnom osvetlení; 2 - zlepšiť bezpečnosť mesta; 3 - zlepšiť plynulosť dopravy.
1 - Použitím LED diód na uliciach sú úspory už až 50% a s pridaním Telemanagementu môžeme mať o 30% viac úspor.
2 - S využitím inteligentných kamier dokážeme ovládať svetlá tak, aby stlmili miesto, kde prúdenie ľudí chýba, a aby bola časť ulice jasnejšia, kde ľudia kráčajú. Nielenže ušetrí energiu, ale zvýši pocit sledovania, a tým zastraší ľudí so zlým úmyslom. Okrem toho môžu byť v prípade podozrivého správania použité vizuálne alarmy (napríklad blikajúce žiarovky).
3 - Inteligentná kamera bude sledovať premávku, lokálne spracovávať jej podmienky a ovládať svetelné signály, aby čo najlepšie zvládla premávku. Tak sa dalo vyhnúť zápcham, autá by nemuseli dlho čakať na červené signály, keď na priecestí netečie a podobne. Pokiaľ ide o technologické problémy, riešime aj bežné problémy v oblasti internetu vecí, ako je robustná konektivita v mestskom meradle a integrácia kamier pre sieť IoT, a to pomocou spracovania okrajov na prenos iba relevantných informácií.
Pozrite si našu publikáciu o Embarcados a GitHub
Tiež na YouTube
Náš tím:
Milton Felipe Souza Santos
Gustavo Retuci Pinheiro
Eduardo Caldas Cardoso
Jonathas Baker
(Kontaktné informácie v spodnej časti)
Krok 1: Blokový diagram systému
Toto je prehľad architektúry riešení.
Systém sa skladá z kamerovej brány, ktorá používa RFmesh na rozhraní FAN, WiFi na LAN a tiež CAT-M na pripojenie WAN. Obsahuje tiež inteligentné fotobunky, inteligentné fotoaparáty a svetelné signály.
Všetky zariadenia v sieťach, hlavne inteligentná kamera, odosielajú údaje 6lowpan do inteligentnej brány, takže môže prijímať rozhodnutia týkajúce sa ovládania verejného osvetlenia a svetelných signálov.
Brána je k nášmu serveru pripojená aj prostredníctvom siete VPN. Týmto spôsobom máme prístup k FAN a LAN, robotovi na kontrolu stavu alebo ovládanie zariadení.
Krok 2: Komponenty tohto projektu
Inteligentná kamera
- DragonBoard410C/DragonBoard820C
- USB kamera
- OneRF NIC
Camera Gateway
- DragonBoard410C/DragonBoard820C
- USB kamera
- OneRF NIC
- Modem Cat-M/3G
Inteligentný svetelný signál
Krok 3: Krok 2: Schéma zapojenia a zapojenia
Inteligentná kamera
- Kamera na USB porte
- OneRF NIC na porte UART
Camera Gateway
- Kamera na USB porte
- OneRF NIC na porte UART
- 3G/Cat-M modem v USB porte
(Všetko prepojené medziposchodím IoT)
Smart Stree Light
- Konvenčné pouličné osvetlenie
- reléová doska (3 kanály)
- OneRF NIC
Inteligentná fotobunka
- OneRF NIC
- Merač výkonu
Krok 4: Nainštalujte Os na DragonBoards
Inštalácia Debianu na Dragonboard820C (metóda rýchleho spustenia)
V systéme Linux nainštalujte balíky uvedené na:
Na dragonboarde:
urobte s4 VYPNUTÝ, VYPNUTÝ, VYPNUTÝ, VYPNUTÝ
Zapnúť lisovanie (-)
Ak používate sériový monitor (dôrazne sa odporúča), zobrazí sa správa „fastboot: processing commands“(sériový monitor na čísle 115200) Pripojte mikro USB (J4) k počítaču
Na hostiteľskom počítači: Stiahnite (a rozbaľte) z
$ sudo fastboot zariadenia
452bb893 rýchle spustenie (príklad)
$ sudo fastboot flash boot boot-linaro-buster-dragonboard-820c-BUILD.img
$ sudo fastboot flash rootfs linaro-buster-alip-dragonboard-820c-BUILD.img
Inštalácia Debianu na Dragonboard410C
Kroky na počítači (Linux)
1 - Stiahnite si obrázok
$ cd ~
$ mkdir Debian_SD_Card_Install_image
$ cd Debian_SD_Card_Install_image
$ wget
2 - Rozbaľte súbory
$ cd ~/Debian_SD_Card_Install_image
$ unzip dragonboard410c_sdcard_install_debian-233.zip
3 - Vložte kartu microSD do počítača a skontrolujte, či je nainštalovaná
$ df -h
/dev/sdb1 7,4G 32K 7,4G 1%/media/3533-3737
4 - Odpojte kartu microSD a napaľujte obrázok
$ umount /dev /sdb1
$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = stav synchronizácie = noxfer
5 - Vyberte kartu microSD z počítača
Kroky na počítači (Windows) Prevzatie - obrázok karty SD - (možnosť 1) Obrázok karty SD - inštalácia a zavedenie z eMMC
www.96boards.org/documentation/consumer/dr…
Rozbaľte obrázok inštalácie karty SD
Stiahnite si a nainštalujte nástroj Win32DiskImager
sourceforge.net/projects/win32diskimager/f…
Otvorte nástroj Win32DiskImager
Vložte kartu SD do počítača
Nájdite extrahovaný súbor.img
Kliknite na Napísať
Kroky na DragonboardUistite sa, že je DragonBoard ™ 410c odpojený od napájania
Nastavte prepínač S6 na zariadení DragonBoard ™ 410c na 0-1-0-0, „Spúšťací spínač SD“by mal byť nastavený na „ON“.
Pripojte HDMI
Pripojte klávesnicu USB
Vložte kartu microSD
Pripojte napájací adaptér
Vyberte obrázok, ktorý chcete nainštalovať, a kliknite na „Inštalovať“
počkajte na dokončenie inštalácie
Vyberte napájací adaptér
Vyberte kartu microSD
Nastavte prepínač S6 na 0-0-0-0
HOTOVÝ
Krok 5: Rozhrania pripojenia
Inštalácia Cat-m a 3G
Na hostiteľskom počítači použite nasledujúce príkazy AT:
NA#SIMDET? // kontrola prítomnosti SIM#SIMDET: 2, 0 // sim nie je vložená
#SIMDET: 2, 1 // sim vložený
AT+CREG? // skontrolujte, či je zaregistrovaný
+CREG: 0, 1 // (zakáže nevyžiadaný kód výsledku registrácie siete (predvolené výrobné nastavenia), registrovaná domáca sieť)
AT+COPS?
+COPS: 0, 0, „VIVO“, 2 // (režim = automatická voľba, formát = alfanumerický, oper,?)
AT+CPAS // Stav aktivity telefónu
+CPAS: 0 // pripravené
AT+CSQ // kontrola kvality služby
+CSQ: 16, 3 // (rssi, bitová chybovosť)
AT+CGATT? // stav prílohy GPRS
+CGATT: 1 // priložené
AT+CGDCONT = 1, „IP“, „zap.vivo.com.br“,, 0, 0 // konfigurácia kontextu
OK
AT+CGDCONT? // kontrola kontextu
+CGDCONT: 1, „IP“, „zap.vivo.com.br“, „“, 0, 0
AT#SGACT = 1, 1 // Kontextová aktivácia
#SGACT: 100.108.48.30
OK
Nastavte rozhranie
Použitie grafického prostredia
Pripojte modem (oneRF_Modem_v04 - HE910)
Otvorte Sieťové pripojenia
Kliknutím na + pridáte nové pripojenie
Vyberte položku Mobilné širokopásmové pripojenie
Vyberte správne zariadenie
Vyberte krajinu
Vyberte poskytovateľa
Vyberte plán a uložte ho
Odstráňte modem
Znova zapojte modem
Použitie terminalapt-get install pppconfig
pppconfig
poskytovateľ = vivo
dinamico
CHAP
in vivo
in vivo
115200
Tón
*99#
nie (manuálne)
/dev/ttyUSB0
uložiť
mačka/etc/ppp/rovesníci/vivo
mačka/etc/chatscripts/vivo
pon vivo
Ak používate modul Cat-M, skôr použite nasledujúce príkazy:
echo 1bc7 1101>/sys/bus/usb-serial/drivers/option1/new_id
apt-get install comgt
comgt -d /dev /ttyUSB0 info o com -d /dev /ttyUSB0
Krok 6: Inštalácia základných softvérových modulov
Na vývojovom počítači
Niektoré kroky závisia od hardvéru a mali by byť upravené tak, aby vyhovovali vašim skutočným špecifikáciám počítača. Knižnice je možné nainštalovať jediným príkazom.
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 protobuf-compiler python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf-python-typing python-hypotesis python-yaml
OpenCV
Tento rámec sa používa na vývoj štatistických algoritmov založených na obrázku na vývojovom stroji. Pretože väčšina nášho kódu je napísaná v Pythone, najľahšou inštalačnou metódou je just
pip install opencv-python
Uvedomte si však, že tieto kolesá nebudú používať nič okrem vášho CPU a dokonca nemusia používať ani všetky jeho jadrá, takže možno budete chcieť kompilovať zo zdroja, aby ste dosiahli maximálny výkon. Ak chcete napríklad vytvoriť balík v systéme Linux, stiahnite si súbor zip zo stránky Vydania OpenCV a rozbaľte ho. Z rozbaleného priečinka:
mkdir build && cd buildcmake.. make all -j4
sudo vykonať inštaláciu
Príkaz -j4 dáva príkazu make, aby použil štyri vlákna. Použite toľko, koľko má váš procesor!
Caffe
Ak chcete nastaviť rámec Caffe zo zdrojov:
klon git https://github.com/BVLC/caffe.git && cd caffemkdir build
cmake..
urobiť všetko
urob test urob runtest
Ak všetky testy prebehnú úspešne, máte všetko pripravené.
TensorFlow
Google vám nedovolí zostaviť TensorFlow pomocou bežných nástrojov. Vyžaduje to Bazel a je pravdepodobné, že to nebude fungovať, preto sa vyhnite jeho zostavovaniu a jednoducho uchopte predkompilovaný modul pomocou:
pip install tensorflow
Ak je váš počítač trochu starý a nemá pokyny pre AVX, získajte posledný tensorflow iný ako AVX
pip install tensorflow == 1,5
A hotovo
SNPE - Snapdragon ™ Neural Processing Engine
Vytvorenie Snappy, ako naši priatelia Qualcommu hovoria SNPE, nie je ťažké, ale kroky by ste mali dôsledne sledovať. Osnova inštalácie je:
klonovať archívy git rámcov neurónových sietí
CaffeCaffe2
TensorFlow
ONNX
spustite skripty a skontrolujte, či nie je k dispozícii dependenciessnpe/bin/dependencies.sh
snpe/bin/check_python_depends.sh
pre každý nainštalovaný framework spustite snpe/bin/envsetup.sh
zdroj $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT
zdroj $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT
zdroj $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT
zdroj $ SNPE/bin/envsetup.sh -o $ ONNX_GIT
Ak chcete získať zdroj SNPE v každej inštancii terminálu, ktorú otvoríte, pripojte štyri riadky kroku tri na koniec súboru ~/.bashrc.
Na cieľovej doske
Prechod na arm64 z amd64 nie je ľahká úloha, pretože mnohé knižnice budú využívať pokyny x86 na zvýšenie svojho výkonu. Našťastie je možné väčšinu potrebných zdrojov zostaviť na samotnej doske. Potrebné knižnice je možné nainštalovať jediným príkazom.
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 protobuf-compiler python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf-python-typing python-hypotesis python-yaml
Nainštalujte ich pomocou apt a pokračujte. Uvedomte si, že tento krok môže chvíľu trvať, pretože vhodné hovory umožňujú zostaviť kód, ktorý nie je predkompilovaný.
OpenCV
Stiahnite si vydanie z úložiska OpenCV, rozbaľte ho niekde a z rozbaleného priečinka:
mkdir build && cd buildcmake..
urobiť všetko -j3
sudo vykonať inštaláciu
Všimli sme si, že sme použili možnosť -j3. Ak sa k doske dostanete prostredníctvom ssh, na prerušenie pripojenia môže stačiť úplné nabitie všetkých jadier. To nie je žiaduce. Obmedzením používania vlákien na tri budeme mať vždy aspoň jedno bezplatné vlákno, ktoré bude zvládať pripojenia ssh a všeobecnú údržbu systému.
Toto je pre Dragonboard 820 a Inforce 6640 s čipom APQ8096. Na Dragonboard 410 budete chcieť mať voľnú virtuálnu pamäť alebo obmedziť počet vlákien kompilácie na jednu, pretože má k dispozícii menej fyzickej pamäte RAM.
Je tiež potrebné poznamenať, že chladenie čipu pomôže zvýšiť výkon obmedzením tepelného škrtenia. Chladič robí trik pri malých zaťaženiach, ale budete chcieť správny ventilátor na kompiláciu a ďalšie záťaže náročné na procesor.
Prečo neinštalovať OpenCV s apt alebo pip? Pretože jeho kompilácia v cieľovom počítači zviditeľňuje kompilátorom všetky dostupné pokyny pre procesor, čím sa zlepšuje výkon pri vykonávaní.
SNPE - Snapdragon ™ Neural Processing Engine
Nainštalovali sme Snappy rovnako, ako to bolo na stolnom počítači, aj keď nebol nainštalovaný žiadny skutočný rámec pre neurónové siete (SNPE potrebuje iba úložiská git, nie skutočné binárne súbory).
Pretože však všetko, čo potrebujeme, sú binárne súbory a hlavičky príkazu snpe-net-run, existuje možnosť, že funguje iba to, že v priečinku sú nasledujúce súbory a tento priečinok pridáte do PATH:
Neurónová sieť binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run
CPU knižnice
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 knižnice
snpe/lib/dsp/libsnpe_dsp_skel.so
snpe/lib/aarch64-linux-gcc4.9/libsnpe_adsp.so
Prehliadač výsledkov
snpe/models/alexnet/scripts/show_alexnet_classifications.py
Tučná položka /usr/lib/aarch64-linux-gnu/libatomic.so.1 je na tejto ceste vybavená Linaro a musí byť skopírovaná do tohto hypotetického minimálneho priečinka.
Ďalšie dôležité balenia:
sudo apt-get install net-toolssudo apt-get install gedit
sudo apt install nodejs
sudo apt nainštalovať openvpn
Krok 7: Ukážka
Pozrite si krátku ukážku fungovania Smart IoT Vision pre Smart-City !!
www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be
Krok 8: Ďakujem
Ďakujeme tímu Qualcomm a Embarcados za vytvorenie a podporu súťaže.
Neváhajte nás kontaktovať na:
Referencie
Sprievodca inštaláciou Dragonboard 410c pre Linux a Android
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/ https://caffe.berkeleyvision.org/installation.html#…
Odporúča:
Micro: bit MU Vision Sensor - sledovanie objektu: 7 krokov
Micro: bit MU Vision Sensor - Object Tracking: Takže v tomto návode začneme programovať Smart Car, ktoré v ňom staviame a do ktorého sme nainštalovali snímač videnia MU. Chystáme sa naprogramovať mikro: trochu s jednoduchým sledovaním objektov, takže
Hardvér a softvér Hack Smart Devices, Tuya a Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 krokov
Hardvér a softvér Hack Smart Devices, Tuya a Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: V tomto návode vám ukážem, ako som flashoval niekoľko inteligentných zariadení s vlastným firmvérom, aby som ich mohol ovládať pomocou MQTT prostredníctvom svojho nastavenia Openhab. Pridám nové zariadenia, keď som ich hackol. Samozrejme, existujú aj iné metódy založené na softvéri na flashovanie vlastných
DIY Persistence of Vision: 6 krokov (s obrázkami)
DIY Perzistencia vízie: V tomto projekte vás zoznámim s perspektívou videnia alebo POV displeja s niekoľkými spotrebnými materiálmi, ako sú snímače Arduino a Hall, aby sa vytvoril otočný displej, ktorý zobrazí čokoľvek, čo sa vám páči, napríklad text, čas a ďalšie špeciálne znaky
Micro: bit MU Vision Sensor and Zip Tile, kombinované: 9 krokov (s obrázkami)
Micro: bit MU Vision Sensor and Zip Tile Combined: Takže v tomto projekte ideme kombinovať zrakový senzor MU s Kitronik Zip Tile. Na rozpoznanie farieb použijeme senzor videnia MU a prinesieme ho, aby nám ho ukázal Zip Tile. Použijeme niektoré z techník, ktoré sme použili predtým
Micro: bit MU Vision Sensor - Sériové pripojenie a OLED obrazovka: 10 krokov
Mikro: bitový snímač zraku MU - sériové pripojenie a obrazovka OLED: Toto je môj tretí sprievodca senzorom zraku MU. Doteraz sme sa pokúšali rozpoznať karty s číslami a tvarmi pomocou MU, ale na preskúmanie nášho senzora MU s komplexnejším projektom by sme chceli získať lepší výkon. Nemôžeme dostať toľko informácií