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: IPHONE vs XIAOMI 2024, Novembar
Anonim
Smart IoT Vision
Smart IoT Vision

Ovo je projekt fokusiran 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 rasvjete 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 gledaju, 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 pratiti promet, lokalno obrađivati njegove uslove i kontrolirati svjetlosne signale kako bi najbolje upravljala prometom. Na ovaj način bi se mogle izbjeći gužve u saobraćaju, automobili ne bi morali dugo čekati na 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đe na YouTube -u

Naš tim:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Kontakt podaci na dnu)

Korak 1: Sistemski blok dijagram

Sistemski blok dijagram
Sistemski blok dijagram

Ovo je pregled arhitekture rješenja.

Sistem se sastoji od Camera-Gateway-a koji koristi RFmesh na FAN interfejsu, WiFi na LAN-u, kao i CAT-M za WAN povezivanje. Sadrži i pametne fotoćelije, pametne kamere i svjetlosne signale.

Svi uređaji u mrežama, uglavnom pametna kamera, šalju podatke putem 6lowpan -a do pametnog pristupnika, tako da može donositi odluke u pogledu javne rasvjete i upravljanja svjetlosnim signalima.

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

Korak 2: Komponente za ovaj projekat

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

Smart Cam

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

- Cat-M/3G modem

Pametni svjetlosni signal

Korak 3: Korak 2: Dijagram i veze

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

Smart Cam

- Kamera na USB portu

- OneRF NIC na UART portu

Camera Gateway

- Kamera na USB portu

- OneRF NIC na UART portu

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

(Sve povezano IoT mezaninom)

Smart Stree Light

- Uobičajena ulična rasvjeta

- Relejna ploča (3 kanala)

- OneRF NIC

Pametna foto ćelija

- OneRF NIC

- Merač snage

Korak 4: Instalirajte Os na DragonBoards

Instaliranje Debiana na Dragonboard820C (Fastboot metoda)

Koristeći Linux OS, instalirajte pakete navedene na:

Na ploči zmajeva:

neka s4 OFF, OFF, OFF, OFF

Uključite pritiskom na vol (-)

Ako koristite serijski monitor (toplo se preporučuje), dobit ćete poruku “fastboot: naredbe za obradu” (serijski monitor na 115200) Povežite mikro-USB (J4) na računaru

Na računaru domaćinu: Preuzmite (i raspakujte) sa

$ 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čunaru (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 narežite sliku

$ umount /dev /sdb1

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

5 - Uklonite microSD sa računara

Koraci na računaru (Windows) Preuzimanje - Slika SD kartice - (Opcija 1) Slika SD kartice - Instalirajte i pokrenite sistem 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čunar

Pronađite izdvojenu.img datoteku

Kliknite na Write

Koraci na Dragonboard -u Provjerite je li DragonBoard ™ 410c isključen iz napajanja

Postavite prekidač S6 na DragonBoard ™ 410c na 0-1-0-0, “SD Boot switch” treba postaviti na “ON”.

Povežite HDMI

Priključite USB tastaturu

Umetnite microSD karticu

Uključite adapter za napajanje

Odaberite sliku za instaliranje i kliknite "Instaliraj"

sačekajte da se instalacija završi

Uklonite adapter za napajanje

Uklonite microSD karticu

Postavite prekidač S6 na 0-0-0-0

DONE

Korak 5: Interfejsi za povezivanje

Instaliranje Cat-m i 3G

Primijenite sljedeće AT naredbe koristeći host mašinu:

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

#SIMDET: 2, 1 // umetnuta sim kartica

AT+CREG? // provjeravamo 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+POLICIJI?

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

AT+CPAS // Status aktivnosti telefona

+CPAS: 0 // spremno

AT+CSQ // provjerite kvalitetu usluge

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

AT+CGATT? // stanje GPRS priloga

+CGATT: 1 // u prilogu

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

uredu

AT+CGDCONT? // provjerite kontekst

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

AT#SGACT = 1, 1 // Kontekstna aktivacija

#SGACT: 100.108.48.30

uredu

Postavite sučelje

Korišćenje grafičkog okruženja

Povežite modem (oneRF_Modem_v04 - HE910)

Otvorite mrežne veze

Pritisnite + za dodavanje nove veze

Odaberite Mobilni širokopojasni pristup

Odaberite odgovarajući uređaj

Odaberite državu

Odaberite provajdera

Odaberite plan i spremite

Uklonite modem

Ponovo povežite modem

Korištenje terminalapt-get install pppconfig

pppconfig

provider = vivo

dinamico

CHAP

vivo

vivo

115200

Tone

*99#

ne (ručno)

/dev/ttyUSB0

spremi

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čunaru

Imajte na umu da neki koraci ovise o hardveru i da ih treba prilagoditi tako da odgovaraju vašim stvarnim specifikacijama računara. Biblioteke se mogu instalirati s 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 openmpimpmpmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-budućnost python-protobuf python-tipkanje python-hypotesis python-yaml

OpenCV

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

pip install 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 ni sva njegova jezgra, pa ćete možda htjeti kompajlirati iz izvora kako biste postigli maksimalne performanse. Na primjer, da biste izgradili paket u Linuxu, preuzimate zip datoteku s stranice izdanja OpenCV i raspakirate je. Iz raspakiranog foldera:

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

sudo make install

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

Caffe

Da biste postavili okvir Caffe iz izvora:

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

cmake..

napravi sve

napravi test napravi runtest

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

TensorFlow

Google vam ne dozvoljava da kompajlirate 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 kompajlirani modul sa:

pip install tensorflow

Ako je vaš računar pomalo star i nema AVX upute, nabavite posljednji tenzorski tok koji nije AVX

pip install tensorflow == 1.5

I završili ste.

SNPE - Snapdragon ™ motor za neuronsku obradu

Postavljanje Snappy -a, kako naši Qualcommovi prijatelji zovu SNPE, nije teško, ali treba pažljivo slijediti korake. Pregled instalacije je sljedeći:

klonirati git spremišta okvira neuronskih mreža

CaffeCaffe2

TensorFlow

ONNX

pokrenite skripte da provjerite 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 iz amd64 nije lak zadatak, jer će mnoge biblioteke iskoristiti x86 upute za povećanje performansi. Srećom, moguće je sastaviti većinu potrebnih resursa na samoj ploči. Potrebne biblioteke 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 openmpimpmpmpmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-budućnost python-protobuf python-tipkanje 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 kompajliran.

OpenCV

Preuzmite izdanje iz spremišta OpenCV, raspakirajte ga negdje i iz otpakiranog foldera:

mkdir build && cd buildcmake..

napravi sve -j3

sudo make install

Imajte na umu da smo koristili -j3 opciju. Ako na ploču pristupate putem ssh -a, punjenje svih jezgara 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 sistema.

Ovo je za Dragonboard 820 i Inforce 6640 sa čipom APQ8096. Na Dragonboard 410 ćete htjeti imati slobodnu virtualnu memoriju ili ograničiti niti kompajliranja na jednu jer ima manje fizičke RAM memorije.

Također je važno napomenuti da će hlađenje čipa pomoći u povećanju performansi ograničavanjem termičkog prigušivanja. Hladnjak radi trik pri malim opterećenjima, ali trebat ćete odgovarajući ventilator za kompajliranje i druga CPU intenzivna opterećenja.

Zašto ne biste instalirali OpenCV sa apt ili pip -om? Budući da njegovo kompajliranje na ciljnoj mašini čini sve dostupne instrukcije procesora vidljive kompajleru, poboljšavajući performanse izvođenja.

SNPE - Snapdragon ™ motor za neuronsku obradu

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

Međutim, budući da su nam potrebne samo binarne datoteke i zaglavlja za naredbu snpe-net-run, postoji mogućnost da samo postavljanje sljedećih datoteka u mapu i dodavanje ove mape u PATH funkcionira:

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

CPU biblioteke

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 biblioteke

snpe/lib/dsp/libsnpe_dsp_skel.so

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 Smart IoT vizije za rad Smart-City !!

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

Korak 8: Hvala vam

Zahvaljujemo Qualcomm timu i Embarcados -u na stvaranju i podršci takmičenja.

Slobodno nas kontaktirajte 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čuje se: