Obsah:

Smart IoT Vision: 8 krokov
Smart IoT Vision: 8 krokov

Video: Smart IoT Vision: 8 krokov

Video: Smart IoT Vision: 8 krokov
Video: Камера-ЛАМПА со слежением и определением человека. 2024, Júl
Anonim
Smart IoT Vision
Smart IoT Vision

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

Blokový diagram systému
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

Komponenty pre tento projekt
Komponenty pre tento projekt
Komponenty pre tento projekt
Komponenty pre tento projekt
Komponenty pre tento projekt
Komponenty pre tento projekt

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

Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenia
Krok 2: Schéma zapojenia a zapojenie
Krok 2: Schéma zapojenia a zapojenie

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: