INHOUDSOPGAWE:

Slim IoT -visie: 8 stappe
Slim IoT -visie: 8 stappe

Video: Slim IoT -visie: 8 stappe

Video: Slim IoT -visie: 8 stappe
Video: АНИМАТРОНИКИ Обидели ТУСОВЩИКА из BACKROOMS и НЕЗАКОННЫЕ Эксперименты в VR! 2024, November
Anonim
Slim IoT -visie
Slim IoT -visie

Dit is 'n projek wat fokus op die slim stadskonteks. In hierdie saak is daar drie groot probleme wat ons oplos:

1 - energiebesparing in openbare beligting; 2 - verbeter die veiligheid van die stad; 3 - verbeter die verkeersvloei.

1 - Deur LED's op straat te gebruik, is die besparing reeds tot 50%, en met die toevoeging van Telemanagement kan ons 30% meer bespaar.

2 - Met die gebruik van slim kameras, kan ons die ligte beheer om te verdof waar die mense afwesig is, en die straatgedeelte helderder maak waar mense loop. Dit sal nie net energie bespaar nie, maar verhoog ook die gevoel dat u dopgehou word, sodat mense met 'n slegte bedoeling intimideer. Verder kan visuele alarms (byvoorbeeld die lampe knipper) gebruik word in die geval van verdagte gedrag.

3 - Die slimkamera kyk na die verkeer, verwerk die toestand daarvan plaaslik en beheer die ligseine om die verkeer die beste te bestuur. Op hierdie manier kan verkeersknope vermy word, motors hoef nie lank rooi seine te wag as daar geen vloei in die kruising is nie, ens. Wat tegnologiese probleme betref, los ons ook die algemene probleme in IoT op, soos robuuste konneksie in die stad en kamera -integrasie vir IoT Network, deur randverwerking te gebruik om slegs relevante inligting oor te dra.

Sien ons publikasie oor Embarcados en GitHub

Ook op YouTube

Ons span:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Kontakinligting onderaan)

Stap 1: Stelselblokdiagram

Stelselblokdiagram
Stelselblokdiagram

Dit is 'n oorsig van die oplossingsargitektuur.

Die stelsel bestaan uit 'n Camera-Gateway wat RFmesh gebruik op die FAN-koppelvlak, WiFi op LAN, en ook CAT-M vir WAN-verbinding. Dit bevat ook slim fotoselle, slim kameras en ligseine.

Alle toestelle in die netwerke, veral die slimkamera, stuur data deur middel van 'n laevlak na die smart gateway, sodat dit die besluite kan neem met betrekking tot openbare beligting en die beheer van ligseine.

Die poort is ook via VPN aan ons bediener gekoppel. Op hierdie manier het ons toegang tot die FAN en LAN, bot om die status te kontroleer of die toestelle te beheer.

Stap 2: Komponente vir hierdie projek

Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek

Slim kamera

- DragonBoard410C/DragonBoard820C

- USB -kamera

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB -kamera

- OneRF NIC

- Cat-M/3G-modem

Slim ligsein

Stap 3: Stap 2: Kringdiagram en verbindings

Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings
Stap 2: Kringdiagram en verbindings

Slim kamera

- Kamera op USB -poort

- OneRF NIC by UART -poort

Camera Gateway

- Kamera op USB -poort

- OneRF NIC by UART -poort

- 3G/Cat-M-modem by USB-poort

(Alles verbind deur die IoT Mezzanine)

Slim Stree Light

- Konvensionele straatlig

- Relay board (3 kanale)

- OneRF NIC

Slim fotosel

- OneRF NIC

- Kragmeter

Stap 4: Installeer Os op die DragonBoards

Debian installeer op Dragonboard820C (Fastboot -metode)

Installeer die pakkette met 'n Linux -bedryfstelsel in:

Op die draakbord:

maak s4 OFF, OFF, OFF, OFF

Skakel druk op vol (-)

As u 'n seriële monitor gebruik (sterk aanbeveel), kry u die boodskap "fastboot: verwerkingskommando's" (seriële monitor op 115200) Koppel die mikro-usb (J4) op die rekenaar

Op gasheer -rekenaar: Laai af (en pak dit uit) van

$ sudo fastboot -toestelle

452bb893 fastboot (voorbeeld)

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

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

Installeer Debian op Dragonboard410C

Stappe op die rekenaar (Linux)

1 - Laai die prent af

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Pak die lêers uit

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Plaas die microSD op u rekenaar en kyk of dit geïnstalleer is

$ df -h

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

4 - Ontkoppel die microSD en brand die prentjie

$ umount /dev /sdb1

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

5 - Verwyder die microSD van u rekenaar

Stappe op die rekenaar (Windows) Aflaai - SD -kaartbeeld - (Opsie 1) SD -kaartbeeld - Installeer en laai op vanaf eMMC

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

Pak SD -installasieprent uit

Laai die Win32DiskImager -instrument af en installeer dit

sourceforge.net/projects/win32diskimager/f…

Maak die Win32DiskImager -instrument oop

Plaas die SD -kaart in die rekenaar

Vind die onttrekde.img -lêer

Klik op Skryf

Trappe op die Dragonboard Maak seker dat DragonBoard ™ 410c van die krag ontkoppel is

Stel die S6-skakelaar op DragonBoard ™ 410c op 0-1-0-0, "SD Boot switch" moet op "ON" gestel word.

Koppel 'n HDMI

Koppel 'n USB -sleutelbord

Voeg die microSD in

Sluit die kragadapter aan

Kies die prentjie wat u wil installeer en klik op "Installeer"

wag totdat die installasie klaar is

Verwyder die kragadapter

Verwyder die microSD

Stel die S6-skakelaar op 0-0-0-0

GEDOEN

Stap 5: Koppelvlak -koppelvlakke

Die installering van Cat-m en 3G

Pas die volgende AT -opdragte toe met 'n gasheermasjien:

BY#SIMDET? // kyk na SIM -teenwoordigheid#SIMDET: 2, 0 // sim nie ingevoeg nie

#SIMDET: 2, 1 // sim ingevoeg

BY+CREG? // kyk of dit geregistreer is

+CREG: 0, 1 // (skakel netwerkregistrasie ongevraagde resultaatkode uit (fabrieksinstelling), geregistreerde tuisnetwerk)

BY+COPS?

+COPS: 0, 0,”VIVO”, 2 // (modus = outomatiese keuse, formaat = alfanumeries, oper,?)

AT+CPAS // Telefoonaktiwiteitstatus

+CPAS: 0 // gereed

AT+CSQ // kontroleer die kwaliteit van die diens

+CSQ: 16, 3 // (rssi, bitfoutkoers)

BY+CGATT? // toestand van GPRS -aanhangsel

+CGATT: 1 // aangeheg

AT+CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // stel konteks in

OK

BY+CGDCONT? // kyk na konteks

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

OP#SGACT = 1, 1 // Konteksaktivering

#SGACT: 100.108.48.30

OK

Stel die koppelvlak op

Gebruik grafiese omgewing

Koppel die modem (oneRF_Modem_v04 - HE910)

Maak netwerkverbindings oop

Klik op + om 'n nuwe verbinding by te voeg

Kies mobiele breëband

Kies die regte toestel

Kies die land

Kies die verskaffer

Kies die plan en stoor

Verwyder die modem

Koppel die modem weer aan

Gebruik terminalapt-get installeer pppconfig

pppconfig

verskaffer = vivo

dinamico

CHAP

vivo

vivo

115200

Toon

*99#

nee (handleiding)

/dev/ttyUSB0

stoor

kat/etc/ppp/peers/vivo

kat/etc/chatscripts/vivo

pon vivo

As u die Cat-M-module gebruik, gebruik net die volgende opdragte voor:

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

apt-get installeer comgt

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

Stap 6: Installeer noodsaaklike sagtewaremodules

Op die ontwikkelingsrekenaar

Let daarop dat sommige stappe hardeware-afhanklik is en aangepas moet word om aan u werklike rekenaarspesifikasies te voldoen. Die biblioteke kan geïnstalleer word met 'n enkele opdrag.

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 python-pip python-numpy python-scipy python-matplotlib python-toekomstige python-protobuf python-tik python-hipotese python-yaml

OpenCV

Hierdie raamwerk word gebruik om beeldgebaseerde statistiese algoritmes op die ontwikkelingsmasjien te ontwikkel. Aangesien die meeste van ons kode in Python geskryf is, is die maklikste installasiemetode net

pip installeer opencv-python

Let egter daarop dat hierdie wiele niks behalwe u SVE sal gebruik nie en dat hulle nie eers al die kerns daarvan sal gebruik nie, dus u wil dalk uit die bron saamstel om maksimum prestasie te behaal. Om die pakket byvoorbeeld in Linux te bou, laai u die zip -lêer van die OpenCV Releases -bladsy af en pak dit uit. Uit die uitgepakte vouer:

mkdir build && cd buildcmake.. maak alles -j4

sudo maak installeer

Die opdrag -j4 gee instruksies om vier drade te gebruik. Gebruik soveel as wat u SVE het!

Koffie

Om die Caffe -raamwerk uit bronne op te stel:

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

maak..

maak alles

maak toets maak runtest

As alle toetse suksesvol uitgevoer word, is u gereed.

TensorFlow

Google laat u nie toe om TensorFlow saam te stel met gewone gereedskap nie. Dit benodig Bazel daarvoor, en die kans is goed dat dit nie sal werk nie, dus vermy dit en stel die vooraf saamgestelde module met:

pip installeer tensorflow

As u rekenaar 'n bietjie oud is en geen AVX-instruksies het nie, moet u die laaste tensorflow van nie-AVX kry

pip installeer tensorflow == 1.5

En jy is klaar.

SNPE - Snapdragon ™ neurale verwerkingsenjin

Dit is nie moeilik om Snappy op te stel, soos ons Qualcomm -vriende SNPE noem nie, maar die stappe moet noukeurig gevolg word. Die installasie uiteensetting is:

kloon die git -bewaarplekke van die neurale netwerkraamwerke

Koffie Koffie 2

TensorFlow

ONNX

voer die skrifte uit om te kyk of dependenciessnpe/bin/dependencies.sh is

snpe/bin/check_python_depends.sh

hardloop snpe/bin/envsetup.sh vir elke geïnstalleerde raamwerk

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

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

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

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

Om SNPE te kry in elke terminale instansie wat u oopmaak, voeg stap drie se vier reëls by aan die einde van u ~/.bashrc -lêer.

Op die teikenbord

Om oor te skakel na arm64 van amd64 is nie 'n moeitelose taak nie, aangesien baie biblioteke voordeel sal trek uit x86 -instruksies om hul prestasie te verbeter. Gelukkig is dit moontlik om die meeste van die nodige hulpbronne op die bord self saam te stel. Die nodige biblioteke kan met 'n enkele opdrag geïnstalleer word.

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 python-pip python-numpy python-scipy python-matplotlib python-toekomstige python-protobuf python-tik python-hipotese python-yaml

Installeer dit met apt en gaan aan. Let op dat hierdie stap 'n rukkie kan neem, aangesien geskikte oproepe gemaak word om die kode te bou wat nie vooraf saamgestel is nie.

OpenCV

Laai die vrystelling van die OpenCV -bewaarplek af, pak dit êrens uit die map uit die rits:

mkdir build && cd buildcmake..

maak al -j3

sudo maak installeer

Let daarop dat ons die -j3 -opsie gebruik het. As u toegang tot die bord kry via ssh, is dit moontlik dat alle kerne volledig gelaai is om die verbinding te verbreek. Dit is nie wenslik nie. Deur draadgebruik tot drie te beperk, sal ons altyd ten minste een gratis draad hê om ssh -verbindings en algemene stelsels te onderhou.

Dit is vir die Dragonboard 820 en Inforce 6640 met die APQ8096 -chip. Op die Dragonboard 410 wil u gratis virtuele geheue hê of die draaddrade tot een beperk, aangesien dit minder fisiese RAM beskikbaar het.

Dit is ook opmerklik dat die afkoeling van die chip die prestasie sal verhoog deur termiese versnelling te beperk. 'N Koelbak doen die truuk by klein vragte, maar u benodig 'n behoorlike waaier vir die opstel en ander CPU-intensiewe vragte.

Waarom nie OpenCV met apt of pip installeer nie? Omdat die opstel daarvan in die doelmasjien elke beskikbare verwerkerinstruksie vir die samesteller sigbaar maak, verbeter die uitvoeringsprestasie.

SNPE - Snapdragon ™ neurale verwerkingsenjin

Ons het Snappy geïnstalleer net soos op 'n tafelrekenaar, alhoewel daar geen werklike neurale netwerkraamwerk geïnstalleer is nie (SNPE benodig slegs die git repos, nie die werklike binaries nie).

Aangesien alles wat ons nodig het, die binaries en headers vir die snpe-net-run-opdrag is, is daar 'n moontlikheid dat slegs die volgende lêers in 'n gids is en hierdie gids by die PATH gevoeg word:

Neurale netwerk 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

Resultate kyker

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Die vetgedrukte item, /usr/lib/aarch64-linux-gnu/libatomic.so.1, word saam met Linaro op hierdie pad voorsien en moet na hierdie hipotetiese minimale gids gekopieer word.

Ander onverwagte pakkette:

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

sudo apt installeer nodejs

sudo apt installeer openvpn

Stap 7: Demonstrasie

Sien 'n kort demonstrasie van die Smart IoT Vision vir die werking van Smart-City !!

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

Stap 8: Dankie

Ons bedank die Qualcomm -span en Embarcados vir die opstel en ondersteuning van die wedstryd.

Kontak ons gerus op:

Verwysings

Dragonboard 410c installasiegids vir Linux en 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/

Aanbeveel: