Kazalo:

Smart IoT Vision: 8 korakov
Smart IoT Vision: 8 korakov

Video: Smart IoT Vision: 8 korakov

Video: Smart IoT Vision: 8 korakov
Video: Паразиты 2024, November
Anonim
Smart IoT Vision
Smart IoT Vision

To je projekt, osredotočen na kontekst pametnega mesta. V zvezi s tem rešujemo tri glavne težave:

1 - varčevanje z energijo pri javni razsvetljavi; 2 - izboljšati varnost mesta; 3 - izboljšajte pretok prometa.

1 - Z uporabo LED luči na ulicah so prihranki že do 50%, z dodatkom Telemanagement pa lahko prihranimo 30% več.

2 - Z uporabo pametnih kamer lahko nadzorujemo, da se luči zatemnijo tam, kjer ni ljudi, in da odsek ulice postane svetlejši, kjer ljudje hodijo. Ne bo samo prihranil energije, ampak bo povečal občutek, da vas bodo opazovali, in tako ustrašil ljudi z slabimi nameni. Poleg tega se lahko v primeru sumljivega vedenja uporabijo vizualni alarmi (na primer utripajoče svetilke).

3 - Pametna kamera bo spremljala promet, lokalno obdelovala njegove razmere in nadzorovala svetlobne signale, da bo najbolje upravljala promet. Na ta način bi se lahko izognili zastojem, avtomobilom ne bi bilo treba dolgo čakati na rdeče signale, ko na prehodu ni pretoka itd. Kar zadeva tehnološke težave, rešujemo tudi pogosta vprašanja v IoT, na primer robustno povezljivost v mestnem merilu in integracijo kamere za omrežje IoT, z uporabo robne obdelave za prenos samo ustreznih informacij.

Oglejte si našo publikacijo o Embarcadosu in GitHubu

Tudi na YouTubu

Naša ekipa:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Podatki za stik na dnu)

Korak: Diagram sistemskega bloka

Sistemski blok diagram
Sistemski blok diagram

To je pregled arhitekture rešitve.

Sistem je sestavljen iz Camera-Gateway-a, ki uporablja RFmesh na vmesniku FAN, WiFi v LAN-u in tudi CAT-M za povezljivost WAN. Vsebuje tudi pametne fotocelice, pametne kamere in svetlobne signale.

Vse naprave v omrežjih, predvsem pametna kamera, pošiljajo podatke prek 6lowpan do pametnega prehoda, tako da lahko sprejema odločitve glede javne razsvetljave in nadzora svetlobnih signalov.

Prehod je prek našega VPN povezan tudi z našim strežnikom. Na ta način imamo dostop do VENTILATORJA in LAN -a, bot za preverjanje stanja ali nadzor naprav.

2. korak: Komponente za ta projekt

Sestavine tega projekta
Sestavine tega projekta
Sestavine tega projekta
Sestavine tega projekta
Sestavine tega projekta
Sestavine tega projekta

Pametna kamera

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

- Modem Cat-M/3G

Pametni svetlobni signal

3. korak: 2. korak: vezje in povezave

2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave
2. korak: Shema vezja in povezave

Pametna kamera

- Kamera na vratih USB

- OneRF NIC na vratih UART

Camera Gateway

- Kamera na vratih USB

- OneRF NIC na vratih UART

- 3G/Cat-M modem na vratih USB

(Vse povezuje IoT Mezzanine)

Smart Stree Light

- Običajna ulična svetilka

- Relejna plošča (3 kanali)

- OneRF NIC

Pametna fotocelica

- OneRF NIC

- Merilnik moči

4. korak: Namestite OS na DragonBoards

Namestitev Debiana na Dragonboard820C (metoda Fastboot)

Z operacijskim sistemom Linux namestite pakete, navedene na:

Na zmajevi plošči:

izklopite s4 OFF, OFF, OFF, OFF

Vklopite pritisk vol (-)

Če uporabljate serijski monitor (zelo priporočljivo), se prikaže sporočilo »fastboot: obdelava ukazov« (serijski monitor na 115200) Priključite mikro-USB (J4) na računalnik

Na gostiteljskem računalniku: Prenesite (in razpakirajte) s spletnega mesta

$ sudo naprave za hiter zagon

452bb893 hitri zagon (primer)

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

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

Namestitev Debiana na Dragonboard410C

Koraki v računalniku (Linux)

1 - Prenesite sliko

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Razpakirajte datoteke

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Vstavite kartico microSD v računalnik in preverite, ali je nameščena

$ df -h

/dev/sdb1 7,4G 32K 7,4G 1%/mediji/3533-3737

4 - Odklopite kartico microSD in zažgite sliko

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = stanje sinhronizacije = noxfer

5 - Odstranite kartico microSD iz računalnika

Koraki v računalniku (Windows) Prenos - slika kartice SD - (možnost 1) Slika kartice SD - namestitev in zagon z eMMC

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

Razpakirajte sliko za namestitev kartice SD

Prenesite in namestite orodje Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Odprite orodje Win32DiskImager

Vstavite kartico SD v računalnik

Poiščite izvlečeno datoteko.img

Kliknite Napiši

Koraki na Dragonboard -u Prepričajte se, da je DragonBoard ™ 410c izključen iz napajanja

Stikalo S6 na DragonBoard ™ 410c nastavite na 0-1-0-0, “SD Boot switch” morate nastaviti na “ON”.

Priključite HDMI

Priključite tipkovnico USB

Vstavite kartico microSD

Priključite napajalnik

Izberite sliko za namestitev in kliknite »Namesti«

počakajte, da se namestitev konča

Odstranite napajalnik

Odstranite kartico microSD

Stikalo S6 nastavite na 0-0-0-0

KONČANO

5. korak: Vmesniki za povezljivost

Namestitev Cat-m in 3G

Z gostiteljskim strojem uporabite naslednje ukaze AT:

NA#SIMDET? // preveri prisotnost SIM#SIMDET: 2, 0 // sim ni vstavljen

#SIMDET: 2, 1 // vstavljena sim

AT+CREG? // preveri, če je registriran

+CREG: 0, 1 // (onemogoči nezaželeno kodo rezultata registracije omrežja (tovarniško privzeto), registrirano domače omrežje)

AT+POLJCI?

+COPS: 0, 0,”VIVO”, 2 // (način = samodejna izbira, format = alfanumerično, oper,?)

AT+CPAS // Status telefonske dejavnosti

+CPAS: 0 // pripravljeno

AT+CSQ // preverite kakovost storitve

+CSQ: 16, 3 // (rssi, bitna stopnja napak)

AT+CGATT? // stanje priloge GPRS

+CGATT: 1 // priloženo

AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // konfiguriraj kontekst

v redu

AT+CGDCONT? // preveri kontekst

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

AT#SGACT = 1, 1 // Aktivacija konteksta

#SGACT: 100.108.48.30

v redu

Nastavite vmesnik

Uporaba grafičnega okolja

Priključite modem (oneRF_Modem_v04 - HE910)

Odprite omrežne povezave

Kliknite +, da dodate novo povezavo

Izberite Mobilni širokopasovni dostop

Izberite pravo napravo

Izberite državo

Izberite ponudnika

Izberite načrt in shranite

Odstranite modem

Ponovno priključite modem

Z uporabo terminalapt-get install pppconfig

pppconfig

ponudnik = vivo

dinamico

CHAP

vivo

vivo

115200

Ton

*99#

ne (ročno)

/dev/ttyUSB0

shranite

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Če uporabljate modul Cat-M, pred tem uporabite samo naslednje ukaze:

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

apt-get install comgt

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

6. korak: Namestitev osnovnih modulov programske opreme

Na razvojnem računalniku

Upoštevajte, da so nekateri koraki odvisni od strojne opreme in jih je treba prilagoditi, da ustrezajo vašim dejanskim specifikacijam računalnika. Knjižnice je mogoče namestiti z enim ukazom.

sudo apt install build-bistven git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags-bdf5 opmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-prihodnost python-protobuf python-tipkanje python-hypotesis python-yaml

OpenCV

Ta okvir se uporablja za razvoj statističnih algoritmov, ki temeljijo na slikah, na razvojnem stroju. Ker je večina naše kode napisana v Pythonu, je najlažji način namestitve

pip namestite opencv-python

Upoštevajte pa, da ta kolesa ne bodo uporabljala ničesar razen vašega CPU -ja in morda ne bodo uporabila niti vseh njegovih jeder, zato boste morda želeli prevesti iz vira, da dosežete največjo zmogljivost. Če želite na primer sestaviti paket v Linuxu, datoteko zip prenesite s strani Izdaj OpenCV in jo razpakirajte. Iz razpakirane mape:

mkdir build && cd buildcmake.. naredi vse -j4

sudo make install

Ukaz -j4 ukaže make za uporabo štirih niti. Uporabite toliko, kolikor ima vaš CPU!

Caffe

Za nastavitev ogrodja Caffe iz virov:

git clone https://github.com/BVLC/caffe.git && cd caffemkdir build

cmake..

naredi vse

naredi test naredi runtest

Če so vsi testi uspešno izvedeni, ste pripravljeni.

TensorFlow

Google vam ne dovoljuje sestavljanja programa TensorFlow z običajnimi orodji. Za to potrebuje Bazel in verjetno ne bo delovalo, zato se izogibajte njegovemu sestavljanju in vzemite vnaprej sestavljen modul z:

pip install tensorflow

Če je vaš računalnik nekoliko star in nima navodil AVX, prenesite zadnji napetostni tok, ki ni AVX

pip install tensorflow == 1.5

In končali ste.

SNPE - Snapdragon ™ nevronski procesor

Nastavitev Snappyja, kot naši prijatelji Qualcomm imenujejo SNPE, ni težko, vendar je treba natančno slediti korakom. Okvir namestitve je naslednji:

klonirajte skladišča git ogrodja nevronskih omrežij

CaffeCaffe2

TensorFlow

ONNX

zaženite skripte, da preverite dependenciessnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

za vsak nameščen okvir zaženite snpe/bin/envsetup.sh

vir $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

vir $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

vir $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

vir $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

Če želite vir SNPE v vsakem terminalnem primerku, ki ga odprete, dodajte štiri vrstice tretjega koraka na konec datoteke ~/.bashrc.

Na ciljni plošči

Prehod na arm64 iz amd64 ni lahka naloga, saj bodo številne knjižnice za povečanje učinkovitosti uporabile navodila x86. Na srečo je mogoče zbrati večino potrebnih virov na sami plošči. Potrebne knjižnice se lahko namestijo z enim ukazom.

sudo apt install build-bistven git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags-hdfc opmpmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-prihodnost python-protobuf python-tipkanje python-hypotesis python-yaml

Namestite jih z apt in pojdite naprej. Upoštevajte, da lahko ta korak traja nekaj časa, saj apt klici ustvarijo kodo, ki ni vnaprej sestavljena.

OpenCV

Prenesite izdajo iz skladišča OpenCV, jo razpakirajte nekje in iz razpakirane mape:

mkdir build && cd buildcmake..

naredi vse -j3

sudo make install

Upoštevajte, da smo uporabili možnost -j3. Če dostopate do plošče prek ssh -a, lahko za prekinitev povezave zadostuje, da so vsa jedra naložena. To ni zaželeno. Z omejitvijo uporabe niti na tri bomo vedno imeli vsaj eno brezplačno nit za spopadanje s ssh povezavami in splošnim vzdrževanjem sistema.

To je za Dragonboard 820 in Inforce 6640 s čipom APQ8096. Na Dragonboard 410 boste želeli imeti nekaj prostega navideznega pomnilnika ali omejiti niti prevajanja na eno, saj ima na voljo manj fizičnega RAM -a.

Opozoriti je treba tudi, da bo hlajenje čipa pripomoglo k povečanju zmogljivosti z omejevanjem toplotnega dušenja. Hladilnik deluje pri majhnih obremenitvah, vendar boste potrebovali ustrezen ventilator za sestavljanje in druge obremenitve, ki zahtevajo veliko procesorja.

Zakaj ne bi namestili OpenCV z apt ali pip? Ker pri njegovem prevajanju v ciljnem računalniku prevajalec vidi vsa razpoložljiva navodila procesorja, kar izboljša zmogljivost izvajanja.

SNPE - Snapdragon ™ nevronski procesor

Snappy smo namestili tako, kot je bil na namiznem računalniku, čeprav dejanski okvir nevronskega omrežja ni bil nameščen (SNPE potrebuje le git repo, ne pa tudi dejanskih binarnih datotek).

Ker pa potrebujemo samo binarne datoteke in glave za ukaz snpe-net-run, obstaja možnost, da samo naslednje datoteke v mapi in dodajanje te mape v PATH deluje:

Nevronsko omrežje binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

Knjižnice procesorja

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

Knjižnice DSP

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Pregledovalnik rezultatov

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Krepki element, /usr/lib/aarch64-linux-gnu/libatomic.so.1, je na tej poti opremljen z Linarom in ga je treba kopirati v to hipotetično minimalno mapo.

Drugi pomembni paketi:

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

sudo apt namestite nodejs

sudo apt namestite openvpn

7. korak: demonstracija

Oglejte si kratek prikaz delovanja Smart IoT Vision za delovanje pametnega mesta !!

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

8. korak: Hvala

Zahvaljujemo se ekipi Qualcomm in podjetju Embarcados za oblikovanje in podporo tekmovanja.

Vabljeni, da nas kontaktirate na:

Reference

Dragonboard 410c Namestitveni vodnik za Linux in 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#…

Priporočena: