Sisukord:

Nutikas IoT -nägemus: 8 sammu
Nutikas IoT -nägemus: 8 sammu

Video: Nutikas IoT -nägemus: 8 sammu

Video: Nutikas IoT -nägemus: 8 sammu
Video: Студенты российского вуза разработали вечный двигатель #вечныйдвигатель #изобретения 2024, November
Anonim
Nutikas asjade Interneti visioon
Nutikas asjade Interneti visioon

See on projekt, mis keskendub targa linna kontekstile. Selles küsimuses lahendame kolm peamist probleemi:

1 - energiasääst avalikus valguses; 2 - parandada linna turvalisust; 3 - parandada liiklusvoogu.

1 - Kasutades tänavatel LED -tulesid, on kokkuhoid juba kuni 50% ja Telemanagementi lisandudes saame säästa 30% rohkem.

2 - Nutikate kaamerate abil saame juhtida tulesid, kus inimeste vool puudub, ja muuta tänavalõik heledamaks, kus inimesed kõnnivad. See mitte ainult ei säästa energiat, vaid suurendab ka jälgimise tunnet, hirmutades seega halbu kavatsusi tekitavaid inimesi. Lisaks võib kahtlase käitumise korral kasutada visuaalseid alarme (näiteks lampide vilkumist).

3 - Nutikas kaamera jälgib liiklust, töötleb kohapeal selle tingimusi ja juhib valgussignaale, et liiklust kõige paremini hallata. Nii saaks vältida ummikuid, autod ei peaks kaua ootama punaseid signaale, kui ülesõidul pole voolu jne. Tehnoloogiliste probleemide osas lahendame ka IoT -s levinud probleeme, nagu tugev ühenduvus linna mastaabis ja IoT -võrgu kaamerate integreerimine, kasutades serva töötlemist ainult asjakohase teabe edastamiseks.

Vaadake meie väljaannet Embarcados ja GitHub

Ka YouTube'is

Meie meeskond:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Kontaktandmed allosas)

Samm: süsteemi plokkskeem

Süsteemi plokkskeem
Süsteemi plokkskeem

See on ülevaade lahenduste arhitektuurist.

Süsteem koosneb kaameraväravast, mis kasutab ventilaatori liideses RFmeshi, kohtvõrgu WiFi-d ja WAN-ühenduse jaoks ka CAT-M-i. See sisaldab ka nutikaid fotoelemente, nutikaameraid ja valgussignaale.

Kõik võrkudes olevad seadmed, peamiselt nutikaamera, saadavad andmeid 6lowpani kaudu nutikale lüüsile, nii et see saab vastu võtta avaliku valgustuse ja valgussignaalide juhtimisega seotud otsuseid.

Lüüs on VPN -iga ühendatud ka meie serveriga. Sel viisil on meil juurdepääs ventilaatorile ja LAN -ile, oleku kontrollimiseks või seadmete juhtimiseks.

2. samm: selle projekti komponendid

Selle projekti komponendid
Selle projekti komponendid
Selle projekti komponendid
Selle projekti komponendid
Selle projekti komponendid
Selle projekti komponendid

Nutikas kaamera

- DragonBoard410C/DragonBoard820C

- USB kaamera

- OneRF NIC

Kaamera lüüs

- DragonBoard410C/DragonBoard820C

- USB kaamera

- OneRF NIC

- Cat-M/3G modem

Nutikas valgussignaal

3. samm: 2. samm: vooluahela skeem ja ühendused

2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused
2. samm: vooluahela skeem ja ühendused

Nutikas kaamera

- Kaamera USB -porti

- OneRF -võrgukaart UART -pordis

Kaamera lüüs

- Kaamera USB -porti

- OneRF -võrgukaart UART -pordis

- 3G/Cat-M modem USB-pordis

(Kõik on ühendatud IoT vahekorrusega)

Smart Stree Light

- tavaline tänavavalgusti

- releeplaat (3 kanalit)

- OneRF NIC

Nutikas fotoelement

- OneRF NIC

- võimsusmõõtur

Samm: installige osad DragonBoardsile

Debiani installimine Dragonboard820C -sse (kiire alglaadimise meetod)

Installige Linuxi operatsioonisüsteemi kasutades paketid, mis on loetletud aadressil

Draakonilaual:

lülitage s4 välja, välja, välja, välja, välja

Lülitage vol (-) vajutamine sisse

Kui kasutate jadamonitori (väga soovitatav), kuvatakse teade „fastboot: processing commands” (jadamonitor 115200 juures) Ühendage arvuti mikro-usb (J4)

Hostarvutis: laadige alla (ja pakkige lahti) aadressilt

$ sudo kiirlaadimise seadmed

452bb893 kiirlaadimine (näide)

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

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

Debiani installimine Dragonboard410C -sse

Sammud arvutis (Linux)

1 - laadige pilt alla

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Pakkige failid lahti

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Sisestage microSD -kaart arvutisse ja kontrollige, kas see on paigaldatud

$ df -h

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

4 - Eemaldage microSD ja põletage pilt

$ umount /dev /sdb1

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

5 - Eemaldage microSD oma arvutist

Sammud arvutis (Windows) Allalaadimine - SD -kaardi pilt - (1. valik) SD -kaardi pilt - Installige ja käivitage eMMC -st

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

Pakkige SD -kaardi installipilt lahti

Laadige alla ja installige tööriist Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Avage tööriist Win32DiskImager

Sisestage SD -kaart arvutisse

Leidke ekstraheeritud.img -fail

Klõpsake nuppu Kirjuta

Veenduge, et DragonBoard ™ 410c oleks vooluvõrgust lahti ühendatud

Seadke DragonBoard ™ 410c lüliti S6 asendisse 0-1-0-0, SD-alglaadimislüliti peaks olema asendis ON.

Ühendage HDMI

Ühendage USB -klaviatuur

Sisestage microSD

Ühendage toiteadapter pistikuga

Valige installitav pilt ja klõpsake nuppu "Install"

oodake, kuni installimine lõpeb

Eemaldage toiteadapter

Eemaldage microSD

Lülitage S6 lüliti asendisse 0-0-0-0

VALMIS

Samm 5: Ühendusliidesed

Cat-m ja 3G installimine

Rakendage hostmasina abil järgmised AT -käsud:

#SIMDET? // kontrollige SIM -i olemasolu#SIMDET: 2, 0 // sim pole sisestatud

#SIMDET: 2, 1 // sim sisestatud

AT+CREG? // kontrollige, kas see on registreeritud

+CREG: 0, 1 // (keelake võrgu registreerimise soovimatu tulemuse kood (tehase vaikeseade), registreeritud koduvõrk)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (režiim = automaatne valik, vorming = tähtnumbriline, opera,?)

AT+CPAS // Telefoni tegevuse olek

+CPAS: 0 // valmis

AT+CSQ // kontrollige teenuse kvaliteeti

+CSQ: 16, 3 // (rssi, bitivea määr)

AT+CGATT? // GPRS -i manuse olek

+CGATT: 1 // lisatud

AT+CGDCONT = 1, “IP”,”zap.vivo.com.br”,, 0, 0 // konteksti seadistamine

Okei

AT+CGDCONT? // kontrolli konteksti

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

AT#SGACT = 1, 1 // Konteksti aktiveerimine

#ÜLEVAADE: 100.108.48.30

Okei

Seadistage liides

Graafilise keskkonna kasutamine

Ühendage modem (oneRF_Modem_v04 - HE910)

Avage Võrguühendused

Uue ühenduse lisamiseks klõpsake nuppu +

Valige Mobiilne lairibaühendus

Valige õige seade

Valige riik

Valige pakkuja

Valige plaan ja salvestage

Eemaldage modem

Ühendage modem uuesti

Kasutades terminalapt-get install pppconfig

pppconfig

pakkuja = vivo

dünaamiline

CHAP

vivo

vivo

115200

Toon

*99#

ei (manuaal)

/dev/ttyUSB0

päästa

kass/etc/ppp/eakaaslased/vivo

cat/etc/chatscripts/vivo

pon vivo

Kui kasutate Cat-M moodulit, kasutage enne järgmisi käske:

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

apt-get install comgt

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

6. samm: oluliste tarkvaramoodulite installimine

Arendusarvutis

Pange tähele, et mõned sammud sõltuvad riistvarast ja neid tuleks kohandada vastavalt teie arvuti tegelikule spetsifikatsioonile. Raamatukogusid saab installida ühe käsuga.

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

OpenCV

Seda raamistikku kasutatakse arendusmasinal pildipõhiste statistiliste algoritmide väljatöötamiseks. Kuna enamik meie koodist on kirjutatud Pythonis, on lihtsaim installimeetod lihtsalt teha

pip install opencv-python

Pange aga tähele, et need rattad ei kasuta peale teie protsessori midagi ega pruugi isegi kõiki selle südamikke kasutada, seega võiksite maksimaalse jõudluse saavutamiseks kompileerida. Paketi loomiseks näiteks Linuxis laadite zip -faili OpenCV väljaannete lehelt alla ja pakite selle lahti. Pakitud kaustast:

mkdir build && cd buildcmake.. tee kõik -j4

sudo make install

Käsk -j4 käsib make kasutada nelja lõime. Kasutage nii palju kui teie protsessoril on!

Kohvik

Caffe raamistiku seadistamine allikatest:

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

cmake..

teha kõik

tee test tee runtest

Kui kõik testid töötavad edukalt, olete kõik valmis.

TensorFlow

Google ei luba teil TensorFlow tavaliste tööriistadega kompileerida. See nõuab Bazelit ja tõenäoliselt ei tööta see, nii et vältige selle koostamist ja haarake lihtsalt eelkompileeritud moodulist:

pip install tensorflow

Kui teie arvuti on natuke vana ja sellel pole AVX-i juhiseid, hankige viimane mitte-AVX-i tensorflow

pip install tensorflow == 1.5

Ja olete valmis.

SNPE - Snapdragon ™ närviprotsessor

Snappy seadistamine, nagu meie Qualcommi sõbrad SNPE -d kutsuvad, pole keeruline, kuid samme tuleks hoolikalt jälgida. Paigaldusjoon on järgmine:

kloonida närvivõrgu raamistike git -hoidlaid

CaffeCaffe2

TensorFlow

ONNX

käivitage skriptid, et kontrollida sõltuvusi snpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

iga installitud raamistiku jaoks käivitage snpe/bin/envsetup.sh

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

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

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

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

SNPE hankimiseks igast avatud terminali eksemplarist lisage faili ~/.bashrc lõppu kolmanda sammu neli rida.

Sihtlaual

Amd64 -lt arm64 -le liikumine pole lihtne ülesanne, kuna paljud raamatukogud kasutavad oma jõudluse suurendamiseks x86 juhiseid. Õnneks on enamus vajalikest ressurssidest võimalik ise tahvlile koondada. Vajalikud teegid saab installida ühe käsuga.

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

Installige need apt -ga ja liikuge edasi. Pange tähele, et see samm võib võtta aega, kuna sobivate kõnede abil luuakse kood, mida pole eelnevalt kompileeritud.

OpenCV

Laadige versioon välja OpenCV hoidlast, pakkige see kuhugi lahti ja lahtipakitud kaustast:

mkdir build && cd buildcmake..

tee kõik -j3

sudo make install

Pange tähele, et kasutasime valikut -j3. Kui pääsete tahvlile juurde ssh kaudu, võib ühenduse katkestamiseks piisata kõigi südamike täielikust laadimisest. See pole soovitav. Piirates niidikasutuse kolmele, on meil alati vähemalt üks vaba niit, et tulla toime ssh -ühenduste ja üldise süsteemi majapidamisega.

See on mõeldud APQ8096 kiibiga Dragonboard 820 ja Inforce 6640 jaoks. Dragonboard 410 -l soovite saada vaba virtuaalset mälu või piirata kompileerimisniidid ühega, kuna sellel on vähem füüsilist RAM -i.

Samuti tuleb märkida, et kiibi jahutamine aitab suurendada jõudlust, piirates termilist gaasipedaali. Jahutusradiaator teeb väikese koormuse korral trikki, kuid soovite korralikku ventilaatorit kompileerimiseks ja muudeks protsessorimahukateks koormusteks.

Miks mitte installida OpenCV apt või pip abil? Kuna selle kompileerimine sihtmasinas muudab kompilaatorile nähtavaks kõik saadaolevad protsessori juhised, parandades täitmist.

SNPE - Snapdragon ™ närviprotsessor

Paigaldasime Snappy täpselt nii, nagu see oli lauaarvutis, kuigi tegelikku närvivõrgu raamistikku polnud installitud (SNPE vajab ainult git -reposid, mitte tegelikke binaarfaile).

Kuna aga vajame ainult käsu snpe-net-run binaarfaile ja päiseid, on võimalik, et järgmiste failide olemasolu kaustas ja selle kausta lisamine PATH-ile toimib:

Närvivõrk binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU teegid

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 raamatukogud

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Tulemuste vaataja

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Rasvane kirje /usr/lib/aarch64-linux-gnu/libatomic.so.1 on Linaroga sellel teel kaasas ja see tuleb kopeerida sellesse hüpoteetilisse minimaalsesse kausta.

Muud pakendid:

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

sudo apt install nodejs

sudo apt install openvpn

7. samm: tutvustamine

Vaadake nutika linna toimimise Smart IoT Vision lühitutvustust !!

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

8. samm: aitäh

Täname Qualcommi meeskonda ja Embarcadosid võistluse loomise ja toetamise eest.

Võtke meiega julgelt ühendust:

Viited

Dragonboard 410c Linuxi ja Androidi installijuhend

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/

Soovitan: