Sadržaj:

Smart IoT Vision: 8 koraka
Smart IoT Vision: 8 koraka

Video: Smart IoT Vision: 8 koraka

Video: Smart IoT Vision: 8 koraka
Video: Инструкция по настройке детских смарт-часов 2024, Studeni
Anonim
Smart IoT Vision
Smart IoT Vision

Ovo je projekt usmjeren na kontekst pametnog grada. Po ovom pitanju rješavamo tri glavna problema:

1 - ušteda energije u javnoj rasvjeti; 2 - poboljšati sigurnost grada; 3 - poboljšati protok prometa.

1 - Korištenjem LED svjetla na ulicama uštede su već do 50%, a dodatkom Telemanagement -a možemo uštedjeti 30%.

2 - Korištenjem pametnih kamera možemo kontrolirati svjetla da se priguše tamo gdje nema protoka ljudi i da dio ulice učine svjetlijim gdje ljudi hodaju. Ne samo da će uštedjeti energiju, već će povećati osjećaj da vas netko promatra, pa će zastrašiti ljude loše namjere. Nadalje, vizualni alarmi (na primjer, trepćuće lampe) mogu se koristiti u slučaju sumnjivog ponašanja.

3 - Pametna kamera će promatrati promet, lokalno obrađivati njegove uvjete i kontrolirati svjetlosne signale kako bi najbolje upravljala prometom. Na ovaj način bi se mogle izbjeći gužve u prometu, automobili ne bi morali dugo čekati crvene signale kada na prijelazu nema protoka itd. Što se tiče tehnoloških problema, rješavamo i uobičajena pitanja u IoT -u, poput robusne povezanosti u gradskim razmjerima i integracije kamera za IoT mrežu, koristeći rubnu obradu za prijenos samo relevantnih informacija.

Pogledajte našu publikaciju na Embarcadosu i GitHubu

Također na YouTubeu

Naš tim:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Podaci za kontakt na dnu)

Korak 1: Dijagram bloka sustava

Blok dijagram sustava
Blok dijagram sustava

Ovo je pregled arhitekture rješenja.

Sustav se sastoji od Camera-Gateway-a koji koristi RFmesh na FAN sučelju, WiFi na LAN-u, a također i CAT-M za WAN povezivost. Sadrži i pametne fotoćelije, pametne kamere i svjetlosne signale.

Svi uređaji u mrežama, uglavnom pametna kamera, šalju podatke putem 6lowpan do pametnog pristupnika, tako da može donositi odluke u vezi s javnom rasvjetom i kontrolom svjetlosnih signala.

Gateway je također povezan s našim poslužiteljem putem VPN -a. Na taj način imamo pristup VENTILATORU i LAN -u, botu za provjeru statusa ili kontrolu uređaja.

Korak 2: Komponente za ovaj projekt

Komponente ovog projekta
Komponente ovog projekta
Komponente ovog projekta
Komponente ovog projekta
Komponente ovog projekta
Komponente ovog projekta

Pametna kamera

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

Vrata kamere

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

- Cat-M/3G modem

Pametni svjetlosni signal

Korak 3: Korak 2: Dijagram i veze

Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze
Korak 2: Dijagram i veze

Pametna kamera

- Kamera na USB priključku

- OneRF NIC na UART portu

Vrata kamere

- Kamera na USB priključku

- OneRF NIC na UART portu

- 3G/Cat-M modem na USB priključku

(Sve povezano IoT mezaninom)

Pametno Stree svjetlo

- Konvencionalna ulična rasvjeta

- Relejna ploča (3 kanala)

- OneRF NIC

Pametna fotoćelija

- OneRF NIC

- Mjerač snage

Korak 4: Instalirajte Os na DragonBoards

Instaliranje Debiana na Dragonboard820C (metoda brzog pokretanja)

Koristeći Linux OS, instalirajte pakete navedene na:

Na ploči zmajeva:

isključite s4, isključite, isključite, isključite

Uključite pritiskom na vol (-)

Ako koristite serijski monitor (visoko preporučeno), dobit ćete poruku "fastboot: naredbe za obradu" (serijski monitor na 115200) Spojite mikro-USB (J4) na računalo

Na računalu domaćinu: Preuzmite (i raspakirajte) s

$ sudo uređaji za brzo pokretanje

452bb893 fastboot (primjer)

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

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

Instaliranje Debiana na Dragonboard410C

Koraci na računalu (Linux)

1 - Preuzmite sliku

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Raspakirajte datoteke

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Umetnite microSD u računalo i provjerite je li montiran

$ df -h

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

4 - Demontirajte microSD i snimite sliku

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img od =/dev/sdb bs = 4M oflag = status sinkronizacije = noxfer

5 - Uklonite microSD s računala

Koraci na računalu (Windows) Preuzimanje - Slika SD kartice - (Opcija 1) Slika SD kartice - Instalirajte i pokrenite sustav s eMMC -a

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

Raspakirajte sliku za instaliranje SD kartice

Preuzmite i instalirajte alat Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Otvorite alat Win32DiskImager

Umetnite SD karticu u računalo

Pronađite izdvojenu.img datoteku

Kliknite na Napiši

Koraci na DragonboardUvjerite se da je DragonBoard ™ 410c isključen iz napajanja

Postavite prekidač S6 na DragonBoard ™ 410c na 0-1-0-0, "Prekidač za pokretanje SD" trebao bi biti postavljen na "UKLJUČENO".

Spojite HDMI

Priključite USB tipkovnicu

Umetnite microSD

Uključite adapter za napajanje

Odaberite sliku za instaliranje i kliknite "Instaliraj"

pričekajte da instalacija završi

Uklonite adapter za napajanje

Uklonite microSD

Prekidač S6 postavite na 0-0-0-0

GOTOVO

Korak 5: Sučelja za povezivanje

Instaliranje Cat-m i 3G

Primijenite sljedeće AT naredbe pomoću računala domaćina:

NA#SIMDETU? // provjerava prisutnost SIM kartice#SIMDET: 2, 0 // sim nije umetnut

#SIMDET: 2, 1 // umetnuta sim kartica

AT+CREG? // provjeriti je li registrirano

+CREG: 0, 1 // (onemogući registraciju mreže neželjeni kôd rezultata (tvornički zadano), registrirana kućna mreža)

U+POLICAJCIMA?

+COPS: 0, 0, "VIVO", 2 // (način rada = automatski odabir, format = alfanumerički, oper,?)

AT+CPAS // Status aktivnosti telefona

+CPAS: 0 // spremno

AT+CSQ // provjerite kvalitetu usluge

+CSQ: 16, 3 // (rssi, brzina bitne greške)

AT+CGATT? // stanje GPRS privitka

+CGATT: 1 // u privitku

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

u redu

NA+CGDCONT? // provjeriti kontekst

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

AT#SGACT = 1, 1 // Kontekstna aktivacija

#SGACT: 100.108.48.30

u redu

Postavite sučelje

Korištenje grafičkog okruženja

Spojite modem (jedanRF_Modem_v04 - HE910)

Otvorite mrežne veze

Pritisnite + za dodavanje nove veze

Odaberite Mobilni širokopojasni pristup

Odaberite ispravan uređaj

Odaberite državu

Odaberite davatelja usluga

Odaberite plan i spremite

Uklonite modem

Ponovno spojite modem

Korištenje terminalapt-get install pppconfig

pppconfig

pružatelj usluga = vivo

dinamico

MOMAK

vivo

vivo

115200

Ton

*99#

ne (ručno)

/dev/ttyUSB0

uštedjeti

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Ako koristite Cat-M modul, samo upotrijebite sljedeće naredbe prije:

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

apt-get install comgt

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

Korak 6: Instaliranje osnovnih softverskih modula

Na razvojnom računalu

Imajte na umu da neki koraci ovise o hardveru i da ih treba prilagoditi tako da odgovaraju vašim stvarnim specifikacijama računala. Knjižnice se mogu instalirati jednom naredbom.

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 libgflags-hdf5 opmpmpmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

Ovaj se okvir koristi za razvoj statističkih algoritama temeljenih na slici na razvojnom stroju. Budući da je većina našeg koda napisana na Pythonu, najjednostavniji način instalacije je samo

pip instalirajte opencv-python

Imajte na umu, međutim, da ti kotači neće koristiti ništa osim vašeg CPU -a, pa čak neće koristiti niti sve njegove jezgre, pa ćete možda htjeti kompajlirati iz izvora kako biste postigli maksimalne performanse. Na primjer, da biste izgradili paket u Linuxu, morate preuzeti datoteku zip s stranice izdanja OpenCV i raspakirati je. Iz raspakirane mape:

mkdir build && cd buildcmake.. napraviti sve -j4

sudo make install

Naredba -j4 upućuje make da koristi četiri niti. Koristite onoliko koliko vaš CPU ima!

Caffe

Za postavljanje okvira Caffe iz izvora:

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

cmake..

učini sve

make test napraviti runtest

Ako su svi testovi uspješno izvedeni, sve je spremno.

TensorFlow

Google vam ne dopušta sastavljanje TensorFlow običnim alatima. Za to je potreban Bazel, a velike su šanse da neće uspjeti, stoga izbjegavajte njegovo sastavljanje i samo zgrabite unaprijed sastavljeni modul sa:

pip install tensorflow

Ako je vaše računalo malo staro i nema AVX upute, nabavite posljednji tenzorski tok koji nije AVX

pip install tensorflow == 1.5

I gotovi ste.

SNPE - Snapdragon ™ stroj za neuronsku obradu

Postavljanje Snappyja, kako naši prijatelji iz Qualcomm -a zovu SNPE, nije teško, ali treba pažljivo slijediti korake. Pregled instalacije je:

klonirati git spremišta okvira neuronskih mreža

CaffeCaffe2

TensorFlow

ONNX

pokrenite skripte kako biste provjerili ima li dependenciessnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

za svaki instalirani okvir pokrenite snpe/bin/envsetup.sh

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

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

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

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

Za izvor SNPE -a u svakoj terminalnoj instanci koju otvorite, dodajte četiri retka trećeg koraka na kraj datoteke ~/.bashrc.

Na ciljnoj ploči

Prelazak na arm64 s amd64 nije zadatak bez napora, jer će mnoge knjižnice iskoristiti x86 upute za povećanje performansi. Srećom, moguće je sastaviti većinu potrebnih resursa na samoj ploči. Potrebne knjižnice mogu se instalirati jednom naredbom.

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 libgflags-hdf5 opmpmpmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

Instalirajte ih s apt -om i krenite dalje. Imajte na umu da ovaj korak može potrajati jer apt pozivi stvaraju kôd koji nije unaprijed kompiliran.

OpenCV

Preuzmite izdanje iz spremišta OpenCV, raspakirajte ga negdje i iz otpakirane mape:

mkdir build && cd buildcmake..

napraviti sve -j3

sudo make install

Imajte na umu da smo koristili -j3 opciju. Ako na ploču pristupate putem ssh -a, punjenje svih jezgri može biti dovoljno za prekid veze. To nije poželjno. Ograničavajući upotrebu niti na tri, uvijek ćemo imati barem jednu besplatnu nit koja će se nositi sa ssh vezama i općim održavanjem sustava.

Ovo je za Dragonboard 820 i Inforce 6640 sa čipom APQ8096. Na Dragonboard 410 htjet ćete imati slobodnu virtualnu memoriju ili ograničiti niti prevođenja na jednu jer ima manje fizičkog RAM -a na raspolaganju.

Također je važno napomenuti da će hlađenje čipa pomoći povećati performanse ograničavanjem toplinskog prigušivanja. Hladnjak radi trik pri malim opterećenjima, ali trebat ćete odgovarajući ventilator za sastavljanje i druga CPU-intenzivna opterećenja.

Zašto ne biste instalirali OpenCV s apt ili pip -om? Budući da njegovo sastavljanje na ciljnom stroju čini sve dostupne procesorske upute vidljivim prevoditelju, poboljšavajući izvedbu izvođenja.

SNPE - Snapdragon ™ stroj za neuronsku obradu

Instalirali smo Snappy baš kao i na stolno računalo, iako nije bio instaliran stvarni okvir neuronske mreže (SNPE -u su potrebni samo git repo, a ne stvarne binarne datoteke).

No, budući da su nam sve potrebne binarne datoteke i zaglavlja za naredbu snpe-net-run, postoji mogućnost da samo sljedeće datoteke u mapi i dodavanje ove mape u PATH funkcionira:

Neuralna mreža binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU knjiž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 knjižnice

snpe/lib/dsp/libsnpe_dsp_skel.također

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

Preglednik rezultata

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Podebljana stavka, /usr/lib/aarch64-linux-gnu/libatomic.so.1, isporučena je s Linarom na ovoj stazi i mora se kopirati u ovu hipotetičku minimalnu mapu.

Ostali važni paketi:

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

sudo apt install nodejs

sudo apt install openvpn

Korak 7: Demonstracija

Pogledajte kratku demonstraciju rada Smart IoT Vision za Smart-City koji radi !!

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

Korak 8: Hvala vam

Zahvaljujemo Qualcomm timu i Embarcadosu na stvaranju i podršci natjecanja.

Slobodno nam se obratite na:

Reference

Dragonboard 410c Vodič za instalaciju za Linux i 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/

Preporučeni: