Sisällysluettelo:

Smart IoT Vision: 8 vaihetta
Smart IoT Vision: 8 vaihetta

Video: Smart IoT Vision: 8 vaihetta

Video: Smart IoT Vision: 8 vaihetta
Video: КАРКАСНЫЙ ГАРАЖ СВОИМИ РУКАМИ! СТРОПИЛЬНАЯ СИСТЕМА! 2024, Heinäkuu
Anonim
Älykäs IoT -visio
Älykäs IoT -visio

Tämä on projekti, joka keskittyy älykkään kaupungin kontekstiin. Tässä asiassa ratkaisemme kolme suurta ongelmaa:

1 - energiansäästö julkisessa valaistuksessa; 2 - parantaa kaupunkien turvallisuutta; 3 - parantaa liikenteen sujuvuutta.

1 - Kun LED -valoja käytetään kaduilla, säästöt ovat jopa 50%, ja Telemanagementin avulla voimme saada 30% enemmän säästöjä.

2 - Älykkäiden kameroiden avulla voimme hallita valojen himmenemistä siellä, missä ihmisten virtaus on poissa, ja tehdä kadun osasta kirkkaampi, kun ihmiset kävelevät. Se ei ainoastaan säästä energiaa, vaan lisää katsomisen tunnetta ja siten pelottaa pahoja aikomuksia omaavia ihmisiä. Lisäksi visuaalisia hälytyksiä (esimerkiksi vilkkuvia lamppuja) voidaan käyttää epäilyttävän toiminnan yhteydessä.

3 - Älykamera seuraa liikennettä, käsittelee paikallisesti sen olosuhteita ja ohjaa valosignaaleja hallitakseen parhaiten liikennettä. Tällä tavoin voitaisiin välttää ruuhkat, autojen ei tarvitsisi odottaa punaisia signaaleja pitkään, kun risteyksessä ei ole virtausta jne. Mitä tulee teknologisiin ongelmiin, ratkaisemme myös IoT: n yleisiä ongelmia, kuten vakaa yhteys kaupungin mittakaavassa ja kameraintegraatio IoT -verkkoon, käyttämällä reunankäsittelyä vain olennaisten tietojen lähettämiseen.

Katso julkaisumme Embarcadosista ja GitHubista

Myös YouTubessa

Tiimimme:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Yhteystiedot alhaalla)

Vaihe 1: Järjestelmän lohkokaavio

Järjestelmän lohkokaavio
Järjestelmän lohkokaavio

Tämä on yleiskatsaus ratkaisuarkkitehtuurista.

Järjestelmä koostuu kamera-yhdyskäytävästä, joka käyttää RFmesh-tuuletinliitäntää, WiFi lähiverkossa ja myös CAT-M WAN-yhteyttä varten. Se sisältää myös älykkäitä valokennoja, älykkäitä kameroita ja valosignaaleja.

Kaikki verkkojen laitteet, lähinnä älykamera, lähettävät tietoja 6lowpanin kautta älykkääseen yhdyskäytävään, joten se voi tehdä päätöksiä julkisesta valaistuksesta ja valosignaalien ohjauksesta.

Yhdyskäytävä on myös yhdistetty palvelimeemme VPN: n kautta. Tällä tavalla meillä on pääsy FAN- ja LAN -botteihin, joiden avulla voidaan tarkistaa tai hallita laitteita.

Vaihe 2: Tämän projektin osat

Tämän projektin komponentit
Tämän projektin komponentit
Tämän projektin komponentit
Tämän projektin komponentit
Tämän projektin komponentit
Tämän projektin komponentit

Älykäs kamera

- DragonBoard410C/DragonBoard820C

- USB -kamera

- OneRF -verkkokortti

Kameran yhdyskäytävä

- DragonBoard410C/DragonBoard820C

- USB -kamera

- OneRF -verkkokortti

- Cat-M/3G-modeemi

Älykäs valosignaali

Vaihe 3: Vaihe 2: Piirikaavio ja liitännät

Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät
Vaihe 2: Piirikaavio ja liitännät

Älykäs kamera

- Kamera USB -portissa

- OneRF -verkkokortti UART -portissa

Kameran yhdyskäytävä

- Kamera USB -portissa

- OneRF -verkkokortti UART -portissa

- 3G/Cat-M-modeemi USB-portissa

(Kaikki yhdistetty IoT -puolivälissä)

Smart Stree -valo

- Perinteinen katuvalo

- Relekortti (3 kanavaa)

- OneRF -verkkokortti

Älykäs valokenno

- OneRF -verkkokortti

- Voimamittari

Vaihe 4: Asenna käyttöjärjestelmä DragonBoardsille

Debianin asentaminen Dragonboard820C: hen (Fastboot Method)

Asenna Linux -käyttöjärjestelmää käyttävät paketit, jotka on lueteltu seuraavassa osoitteessa:

Dragonboardilla:

s4 pois päältä, pois, pois, pois päältä

Kytke virta painamalla vol (-)

Jos käytät sarjamonitoria (erittäin suositeltavaa), saat viestin "fastboot: processing commands" (sarjamonitori osoitteessa 115200) Liitä micro-usb (J4) tietokoneeseen

Isäntäkone: Lataa (ja pura) osoitteesta

$ sudo pikakäynnistyslaitteet

452bb893 pikakäynnistys (esimerkki)

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

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

Debianin asentaminen Dragonboard410C: hen

Tietokoneen vaiheet (Linux)

1 - Lataa kuva

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Pura tiedostot

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Aseta microSD -kortti tietokoneeseen ja tarkista, onko se asennettu

$ df -h

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

4 - Irrota microSD -kortti ja polta kuva

$ umount /dev /sdb1

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

5 - Poista microSD tietokoneesta

Tietokoneen vaiheet (Windows) Lataa - SD -kortin kuva - (Vaihtoehto 1) SD -kortin kuva - Asenna ja käynnistä eMMC: stä

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

Pura SD -kortin asennuskuva

Lataa ja asenna Win32DiskImager -työkalu

sourceforge.net/projects/win32diskimager/f…

Avaa Win32DiskImager -työkalu

Aseta SD -kortti tietokoneeseen

Etsi purettu.img -tiedosto

Napsauta Kirjoita

Vaiheet Dragonboardilla Varmista, että DragonBoard ™ 410c on irrotettu virtalähteestä

Aseta S6-kytkin DragonBoard ™ 410c -asentoon asentoon 0-1-0-0, "SD-käynnistyskytkin" on asetettava asentoon "ON".

Liitä HDMI

Liitä USB -näppäimistö

Aseta microSD -kortti paikalleen

Liitä verkkolaite

Valitse asennettava kuva ja napsauta "Asenna"

odota asennuksen päättymistä

Irrota verkkolaite

Poista microSD

Aseta S6-kytkin asentoon 0-0-0-0

TEHTY

Vaihe 5: Liitäntärajapinnat

Cat-m: n ja 3G: n asentaminen

Käytä seuraavia AT -komentoja isäntäkoneella:

#SIMDET? // tarkista SIM -kortin läsnäolo#SIMDET: 2, 0 // sim ei ole lisätty

#SIMDET: 2, 1 // sim lisätty

AT+CREG? // tarkista, onko se rekisteröity

+CREG: 0, 1 // (poista verkon rekisteröinnin ei -toivottu tuloskoodi käytöstä (tehdasasetus), rekisteröity kotiverkko)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (tila = automaattinen valinta, muoto = aakkosnumeerinen, opera,?)

AT+CPAS // Puhelintoimintojen tila

+CPAS: 0 // valmis

AT+CSQ // tarkista palvelun laatu

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

AT+CGATT? // GPRS -liitännän tila

+CGATT: 1 // liitteenä

AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // määritä konteksti

OK

AT+CGDCONT? // tarkista asiayhteys

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

AT#SGACT = 1, 1 // Kontekstin aktivointi

#SGACT: 100.108.48.30

OK

Määritä käyttöliittymä

Graafisen ympäristön käyttäminen

Yhdistä modeemi (oneRF_Modem_v04 - HE910)

Avaa Verkkoyhteydet

Napsauta + lisätäksesi uuden yhteyden

Valitse Mobiililaajakaista

Valitse oikea laite

Valitse maa

Valitse palveluntarjoaja

Valitse suunnitelma ja Tallenna

Irrota modeemi

Kytke modeemi uudelleen

Käyttämällä terminalapt-get install pppconfig

pppconfig

tarjoaja = vivo

dynaaminen

CHAP

vivo

vivo

115200

Sävy

*99#

ei (manuaalinen)

/dev/ttyUSB0

Tallentaa

kissa/etc/ppp/vertaiset/vivo

cat/etc/chatscripts/vivo

pon vivo

Jos käytät Cat-M-moduulia, käytä vain seuraavia komentoja ennen:

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

apt-get install comgt

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

Vaihe 6: Olennaisten ohjelmistomoduulien asentaminen

Kehitystietokoneella

Huomaa, että jotkin vaiheet ovat laitteistosta riippuvaisia ja ne on mukautettava vastaamaan todellisia tietokoneen teknisiä tietoja. Kirjastot voidaan asentaa yhdellä komennolla.

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 protobutf-comp python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-kirjoittaminen python-hypotesis python-yaml

OpenCV

Tätä kehystä käytetään kehittämään kuvapohjaisia tilastollisia algoritmeja kehityskoneella. Koska suurin osa koodistamme on kirjoitettu Pythonilla, helpoin asennusmenetelmä on vain

pip asenna opencv-python

Huomaa kuitenkin, että nämä pyörät eivät käytä mitään muuta kuin suorittimesi eivätkä välttämättä edes kaikkia sen ytimiä, joten saatat haluta kääntää lähteestä parhaan suorituskyvyn saavuttamiseksi. Jos haluat rakentaa paketin esimerkiksi Linuxissa, lataa zip -tiedosto OpenCV Releases -sivulta ja pura se. Pakatusta kansiosta:

mkdir build && cd buildcmake.. tee kaikki -j4

sudo tehdä asennus

Komento -j4 kehottaa tekemään neljä säiettä. Käytä niin paljon kuin suorittimessasi on!

Kahvi

Caffe -kehyksen määrittäminen lähteistä:

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

cmake..

tehdä kaikki

tee testi tee runtest

Jos kaikki testit suoritetaan onnistuneesti, olet valmis.

TensorFlow

Google ei anna sinun kääntää TensorFlow -ohjelmaa tavallisilla työkaluilla. Se vaatii Bazelia ja todennäköisesti se ei toimi, joten vältä sen kääntämistä ja nappaa esikäännetty moduuli:

pip asenna tensorflow

Jos tietokoneesi on vähän vanha eikä siinä ole AVX-ohjeita, hanki viimeinen ei-AVX-tensorflow-toiminto

pip install tensorflow == 1.5

Ja olet valmis.

SNPE - Snapdragon ™ -hermoprosessorimoottori

Snappyn asettaminen, kuten Qualcomm -ystävämme kutsuvat SNPE: ksi, ei ole vaikeaa, mutta vaiheita on seurattava tarkasti. Asennuksen pääpiirteet ovat:

kloonata hermoverkkorakenteiden git -arkistot

CaffeCaffe2

TensorFlow

ONNX

suorita komentosarjat, jotta voit tarkistaa riippuvuudetsnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

kullekin asennetulle kehykselle suorita snpe/bin/envsetup.sh

lähde $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

lähde $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

lähde $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

lähde $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

Jos haluat hankkia SNPE: n jokaisesta avaamastasi terminaalista, liitä vaiheen kolme neljä riviä ~/.bashrc -tiedoston loppuun.

Kohdetaululla

Am64: stä siirtyminen arm64: een ei ole vaivatonta, sillä monet kirjastot hyödyntävät x86 -ohjeita suorituskyvyn parantamiseksi. Onneksi on mahdollista koota suurin osa tarvittavista resursseista itse taululle. Tarvittavat kirjastot voidaan asentaa yhdellä komennolla.

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 protobutf-comp python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-kirjoittaminen python-hypotesis python-yaml

Asenna ne aptilla ja siirry eteenpäin. Huomaa, että tämä vaihe voi kestää jonkin aikaa, koska sopivat puhelut muodostavat koodin, jota ei ole koottu etukäteen.

OpenCV

Lataa julkaisu OpenCV -arkistosta, pura se jonnekin ja puretusta kansiosta:

mkdir build && cd buildcmake..

tee kaikki -j3

sudo tehdä asennus

Huomaa, että käytimme -j3 -vaihtoehtoa. Jos pääset levylle ssh: n kautta, kaikki ytimet ladattuna voi riittää yhteyden katkaisemiseen. Se ei ole toivottavaa. Rajoittamalla langankäytön kolmeen, meillä on aina vähintään yksi vapaa lanka ssh -yhteyksien ja järjestelmän yleisen huoltotöiden käsittelyyn.

Tämä koskee Dragonboard 820- ja Inforce 6640 -laitteita, joissa on APQ8096 -siru. Dragonboard 410 -laitteessa haluat saada jonkin verran vapaata virtuaalimuistia tai rajoittaa kääntämislangat yhteen, koska siinä on vähemmän fyysistä RAM -muistia.

On myös huomattava, että sirun jäähdyttäminen auttaa parantamaan suorituskykyä rajoittamalla termistä kuristusta. Jäähdytyselementti tekee tempun pienillä kuormituksilla, mutta haluat oikean tuulettimen kääntämiseen ja muihin CPU-intensiivisiin kuormituksiin.

Miksi et asenna OpenCV: tä apt- tai pip -ohjelmalla? Koska sen kääntäminen kohdekoneeseen tuo kääntäjälle näkyviin kaikki käytettävissä olevat prosessorikäskyt, mikä parantaa suoritustehoa.

SNPE - Snapdragon ™ -hermoprosessorimoottori

Asensimme Snappyn aivan kuten pöytätietokoneeseen, vaikka varsinaista hermoverkkokehystä ei ollut asennettu (SNPE tarvitsee vain git -repot, ei varsinaisia binäärejä).

Koska tarvitsemme kuitenkin vain snpe-net-run-komennon binaaritiedostot ja otsikot, on mahdollista, että vain seuraavat tiedostot kansiossa ja tämän kansion lisääminen PATH-järjestelmään toimivat:

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

CPU -kirjastot

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 -kirjastot

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Tulosten katseluohjelma

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Lihavoitu kohde, /usr/lib/aarch64-linux-gnu/libatomic.so.1, toimitetaan Linarolla tällä polulla ja se on kopioitava tähän hypoteettiseen minimikansioon.

Muut tärkeät paketit:

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

sudo apt asentaa nodejs

sudo apt asentaa openvpn

Vaihe 7: Esittely

Katso lyhyt esittely Smart IoT Vision for Smart-City -toiminnasta !!

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

Vaihe 8: Kiitos

Kiitämme Qualcomm -tiimiä ja Embarcadosia kilpailun luomisesta ja tuesta.

Ota rohkeasti yhteyttä:

Viitteet

Dragonboard 410c -asennusopas Linuxille ja Androidille

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/

Suositeltava: