Taula de continguts:

Visió intel·ligent de l’IoT: 8 passos
Visió intel·ligent de l’IoT: 8 passos

Vídeo: Visió intel·ligent de l’IoT: 8 passos

Vídeo: Visió intel·ligent de l’IoT: 8 passos
Vídeo: Sol De Bossa (bossa nova full album) 2024, De novembre
Anonim
Visió intel·ligent de l’IoT
Visió intel·ligent de l’IoT

Es tracta d’un projecte centrat en el context de la ciutat intel·ligent. En aquest assumpte, hi ha tres problemes principals que estem resolent:

1 - estalvi energètic en enllumenat públic; 2 - millorar la seguretat de la ciutat; 3 - millorar el flux de trànsit.

1 - Mitjançant l'ús de llums LED als carrers, l'estalvi ja arriba al 50% i, amb l'addició de la telegestió, podem estalviar un 30% més.

2 - Amb l'ús de càmeres intel·ligents, podem controlar els llums per disminuir-los allà on la gent flueix absent i fer que la secció del carrer sigui més brillant per on camina la gent. No només estalviarà energia, sinó que augmentarà la sensació de ser observat, de manera que intimidarà les persones amb males intencions. A més, es podrien utilitzar alarmes visuals (parpellejant les llums, per exemple) en cas de comportament sospitós.

3 - La càmera intel·ligent vigilarà el trànsit, processarà localment les seves condicions i controlarà els senyals lluminosos per gestionar millor el trànsit. D’aquesta manera, es podrien evitar embussos, els cotxes no haurien d’esperar durant molt de temps els senyals vermells quan no hi ha cabal a la travessia, etc. Pel que fa als problemes tecnològics, també estem resolent problemes comuns a l'IoT, com ara una connectivitat sòlida a escala de ciutat i la integració de càmeres per a la xarxa IoT, mitjançant l'ús de processament de vora per transmetre només informació rellevant.

Consulteu la nostra publicació a Embarcados i GitHub

També a YouTube

El nostre equip:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Informació de contacte a la part inferior)

Pas 1: diagrama de blocs del sistema

Diagrama de blocs del sistema
Diagrama de blocs del sistema

Aquesta és una visió general de l'arquitectura de la solució.

El sistema es compon d'una càmera-passarel·la que utilitza RFmesh a la interfície FAN, WiFi a LAN i també CAT-M per a la connectivitat WAN. També conté fotocèl·lules intel·ligents, càmeres intel·ligents i senyals lluminosos.

Tots els dispositius de les xarxes, principalment la càmera intel·ligent, envien dades a través de 6lowpan a la passarel·la intel·ligent, de manera que pot prendre les decisions relatives a la il·luminació pública i el control de senyals lluminosos.

La passarel·la també està connectada al nostre servidor mitjançant VPN. D’aquesta manera, tenim accés al FAN i LAN, bot per comprovar l’estat o controlar els dispositius.

Pas 2: components d'aquest projecte

Components d'aquest projecte
Components d'aquest projecte
Components d'aquest projecte
Components d'aquest projecte
Components d'aquest projecte
Components d'aquest projecte

Càmera intel·ligent

- DragonBoard410C / DragonBoard820C

- Càmera USB

- NIC OneRF

Passarel·la de la càmera

- DragonBoard410C / DragonBoard820C

- Càmera USB

- NIC OneRF

- Mòdem Cat-M / 3G

Senyal de llum intel·ligent

Pas 3: Pas 2: diagrama de circuit i connexions

Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions
Pas 2: diagrama de circuit i connexions

Càmera intel·ligent

- Càmera al port USB

- OneRF NIC al port UART

Passarel·la de càmera

- Càmera al port USB

- OneRF NIC al port UART

- Mòdem 3G / Cat-M al port USB

(Tot connectat per l'IoT Mezzanine)

Llum Smart Stree

- Farola convencional

- Taula de retransmissió (3 canals)

- NIC OneRF

Fotocèl·lula intel·ligent

- NIC OneRF

- Mesurador de potència

Pas 4: instal·leu Os als DragonBoards

Instal·lació de Debian al Dragonboard820C (mètode Fastboot)

Mitjançant un sistema operatiu Linux, instal·leu els paquets indicats a:

Al drac:

fer s4 OFF, OFF, OFF, OFF

Activa la pressió de vol (-)

Si utilitzeu un monitor sèrie (molt recomanable), rebrà el missatge “fastboot: processant ordres” (monitor sèrie al 115200) Connecteu el micro-usb (J4) al PC

Al PC amfitrió: descarregueu-lo i descomprimiu-lo des de

Dispositius $ sudo fastboot

452bb893 fastboot (exemple)

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

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

Instal·lació de Debian a Dragonboard410C

Passos a l'ordinador (Linux)

1 - Descarregueu la imatge

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Descomprimiu els fitxers

$ cd ~ / Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Introduïu la microSD a l'ordinador i comproveu si està muntada

$ df -h

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

4 - Desmunteu la microSD i graveu la imatge

$ umount / dev / sdb1

$ sudo dd if = db410c_sd_install_debian.img of = / dev / sdb bs = 4M oflag = estat de sincronització = noxfer

5 - Traieu la microSD de l'ordinador

Passos a l'ordinador (Windows) Descàrrega: imatge de la targeta SD - (opció 1) Imatge de la targeta SD: instal·lació i arrencada des de l'eMMC

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

Descomprimiu la imatge d'instal·lació de la targeta SD

Descarregueu i instal·leu l'eina Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Obriu l'eina Win32DiskImager

Introduïu la targeta SD a l'ordinador

Cerqueu el fitxer.img extret

Feu clic a Escriu

Passos del Dragonboard Assegureu-vos que DragonBoard ™ 410c està desconnectat de la xarxa

Estableix el commutador S6 a DragonBoard ™ 410c a 0-1-0-0; el "commutador d'arrencada SD" s'ha d'establir a "ACTIVAT".

Connecteu un HDMI

Connecteu un teclat USB

Inseriu la microSD

Endoll adaptador de corrent

Seleccioneu la imatge que voleu instal·lar i feu clic a "Instal·la"

espereu a que finalitzi la instal·lació

Traieu l'adaptador de corrent

Traieu la microSD

Estableix el commutador S6 a 0-0-0-0

FET

Pas 5: interfícies de connectivitat

Instal·lació de Cat-m i 3G

Apliqueu les ordres AT següents mitjançant una màquina amfitrió:

A # SIMDET? // comproveu la presència de SIM # SIMDET: 2, 0 // sim no inserit

#SIMDET: 2, 1 // sim inserit

A + CREG? // comproveu si està registrat

+ CREG: 0, 1 // (desactiva el codi de resultat no sol·licitat de registre de xarxa (predeterminat de fàbrica), xarxa domèstica registrada)

AT + COPS?

+ COPS: 0, 0, "VIVO", 2 // (mode = elecció automàtica, format = alfanumèric, oper,?)

AT + CPAS // Estat de l’activitat del telèfon

+ CPAS: 0 // llest

AT + CSQ // comprova la qualitat del servei

+ CSQ: 16, 3 // (rssi, taxa d'errors de bits)

AT + CGATT? // estat del fitxer adjunt GPRS

+ CGATT: 1 // adjunt

AT + CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // configurar el context

D'acord

AT + CGDCONT? // comprovar el context

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

AT # SGACT = 1, 1 // Activació del context

#SGACT: 100.108.48.30

D'acord

Configureu la interfície

Utilitzant entorn gràfic

Connecteu el mòdem (oneRF_Modem_v04 - HE910)

Obriu Connexions de xarxa

Feu clic a + per afegir una connexió nova

Seleccioneu banda ampla mòbil

Seleccioneu el dispositiu correcte

Seleccioneu el país

Seleccioneu el proveïdor

Seleccioneu el pla i Desa

Traieu el mòdem

Torneu a connectar el mòdem

Utilitzant terminalapt-get install pppconfig

pppconfig

proveïdor = vivo

dinàmic

CHAP

vivo

vivo

115200

To

*99#

no (manual)

/ dev / ttyUSB0

guardar

cat / etc / ppp / peers / vivo

cat / etc / chatscripts / vivo

pon vivo

Si feu servir el mòdul Cat-M, feu servir les ordres següents abans:

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

apt-get install comgt

comgt -d / dev / ttyUSB0 informació comgt -d / dev / ttyUSB0

Pas 6: Instal·lació de mòduls de programari essencials

A l'ordinador de desenvolupament

Tingueu en compte que alguns passos depenen del maquinari i s’han d’ajustar per complir les especificacions reals de l’ordinador. Les biblioteques es poden instal·lar amb una sola ordre.

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-compil python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf tything python python-hypotesis python-yaml

OpenCV

Aquest marc s'utilitza per desenvolupar algoritmes estadístics basats en imatges a la màquina de desenvolupament. Com que la majoria del nostre codi està escrit en Python, el mètode d'instal·lació més senzill és simplement fer-ho

instal·lar pip opencv-python

Tingueu en compte, però, que aquestes rodes no utilitzaran res a part de la vostra CPU i que ni tan sols poden utilitzar tots els seus nuclis, de manera que és possible que vulgueu compilar des de la font per aconseguir el màxim rendiment. Per construir el paquet a Linux, per exemple, descarregueu el fitxer zip de la pàgina OpenCV Releases i descomprimiu-lo. Des de la carpeta descomprimida:

mkdir build && cd buildcmake.. make all -j4

sudo make install

L'ordre -j4 indica a make per utilitzar quatre fils. Feu-ne servir tantes com tingui la vostra CPU.

Cafè

Per configurar el marc Caffe des de fonts:

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

cmake..

fer-ho tot

fer prova fer més runt

Si totes les proves s’executen correctament, ja estareu a punt.

TensorFlow

Google no us permet compilar TensorFlow amb eines normals. Necessita Bazel i és probable que no funcioni, així que eviteu compilar-lo i agafeu el mòdul precompilat amb:

pip instal·lar tensorflow

Si l’ordinador és poc antic i no té instruccions AVX, obteniu l’últim tensorflow que no és AVX

pip install tensorflow == 1.5

I ja està.

SNPE: motor de processament neuronal Snapdragon ™

Configurar Snappy, com diuen els nostres amics de Qualcomm a SNPE, no és difícil, però cal seguir els passos de prop. El resum de la instal·lació és:

clonar els dipòsits git dels marcs de xarxes neuronals

CaffeCaffe2

TensorFlow

ONNX

executeu els scripts per comprovar si hi ha dependenciessnpe / bin / dependencies.sh

snpe / bin / check_python_depends.sh

per a cada marc instal·lat, executeu snpe / bin / envsetup.sh

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

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

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

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

Per obtenir SNPE a totes les instàncies de terminal que obriu, afegiu les quatre línies del pas tres al final del fitxer ~ /.bashrc.

Al tauler de destinació

Passar a arm64 des de amd64 no és una tasca senzilla, ja que moltes biblioteques aprofitaran les instruccions x86 per augmentar el seu rendiment. Per sort, és possible compilar la majoria dels recursos necessaris al propi tauler. Les biblioteques necessàries es poden instal·lar amb una sola ordre.

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 tything python python-hypotesis python-yaml

Instal·leu-los amb apt i continueu. Tingueu en compte que aquest pas pot trigar una mica, ja que es fan trucades apt per crear el codi que no s'ha compilat prèviament.

OpenCV

Descarregueu la versió des del dipòsit OpenCV, descomprimiu-la en algun lloc i des de la carpeta descomprimida:

mkdir build && cd buildcmake..

fer tot -j3

sudo make install

Tingueu en compte que hem utilitzat l'opció -j3. Si accediu a la placa mitjançant ssh, és possible que tingueu tots els nuclis completament carregats per deixar de banda la connexió. Això no és desitjable. En limitar l’ús de fils a tres, sempre tindrem com a mínim un fil gratuït per fer front a les connexions ssh i la neteja general del sistema.

Això és per al Dragonboard 820 i l’Inforce 6640 amb el xip APQ8096. Al Dragonboard 410 voldreu tenir memòria virtual gratuïta o limitar els fils de compilació a un, ja que té menys RAM física disponible.

També cal destacar que el refredament del xip ajudarà a augmentar el rendiment limitant l’acceleració tèrmica. Un dissipador de calor fa el truc amb càrregues petites, però voldreu un ventilador adequat per compilar i altres càrregues que requereixin intensitat de CPU.

Per què no instal·leu OpenCV amb apt o pip? Com que la compilació a la màquina de destinació fa que totes les instruccions de processador disponibles siguin visibles per al compilador, millorant el rendiment d’execució.

SNPE: motor de processament neuronal Snapdragon ™

Vam instal·lar Snappy tal com estava en un ordinador d’escriptori, tot i que no hi havia cap marc de xarxa neuronal instal·lat (SNPE només necessita els repos git, no els binaris reals).

No obstant això, com que només necessitem els fitxers binaris i les capçaleres de l'ordre snpe-net-run, hi ha la possibilitat que només tingueu els fitxers següents en una carpeta i afegiu aquesta carpeta al PATH:

Xarxa neuronal binarysnpe / bin / aarch64-linux-gcc4.9 / snpe-net-run

Biblioteques de CPU

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

Biblioteques DSP

snpe / lib / dsp / libsnpe_dsp_skel.so

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

Visor de resultats

snpe / models / alexnet / scripts / show_alexnet_classifications.py

L'element en negreta, /usr/lib/aarch64-linux-gnu/libatomic.so.1, es proporciona amb Linaro en aquest camí i s'ha de copiar a aquesta hipotètica carpeta mínima.

Altres paquets importants:

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

sudo apt install nodejs

sudo apt instal·lar openvpn

Pas 7: demostració

Mireu una breu demostració de la Smart IoT Vision per al funcionament de Smart-City !!

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

Pas 8: gràcies

Agraïm l'equip de Qualcomm i Embarcados per crear i donar suport al concurs.

No dubti en contactar amb nosaltres a:

Referències

Guia d'instal·lació de Dragonboard 410c per a Linux i Android

github.com/96boards/documentation/wiki/Dr….

DragonBoard 410c

caffe.berkeleyvision.org/install_apt.html https://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/

Recomanat: