Satura rādītājs:

Viedā IoT redze: 8 soļi
Viedā IoT redze: 8 soļi

Video: Viedā IoT redze: 8 soļi

Video: Viedā IoT redze: 8 soļi
Video: Led Zeppelin - How Many More Times (Danmarks Radio 1969) 2024, Jūlijs
Anonim
Viedā IoT vīzija
Viedā IoT vīzija

Šis ir projekts, kas vērsts uz viedās pilsētas kontekstu. Šajā jautājumā mēs risinām trīs galvenās problēmas:

1 - enerģijas taupīšana sabiedriskajā apgaismojumā; 2 - uzlabot pilsētas drošību; 3 - uzlabot satiksmes plūsmu.

1 - Izmantojot LED gaismas uz ielām, ietaupījums jau ir līdz 50%, un, pievienojot Telemanagement, mēs varam ietaupīt par 30% vairāk.

2 - Izmantojot viedās kameras, mēs varam kontrolēt apgaismojuma samazināšanos vietās, kur nav cilvēku plūsmas, un padarīt gaišāku ielas posmu, kur cilvēki staigā. Tas ne tikai ietaupīs enerģiju, bet palielinās sajūtu, ka tevi vēro, tādējādi iebiedējot ļaunos nodomus. Turklāt aizdomīgas uzvedības gadījumā var izmantot vizuālos trauksmes signālus (piemēram, mirgo lampas).

3 - Viedā kamera vēro satiksmi, lokāli apstrādā tās apstākļus un kontrolē gaismas signālus, lai vislabāk pārvaldītu satiksmi. Tādā veidā varētu izvairīties no sastrēgumiem, automašīnām nebūtu ilgi jāgaida sarkanie signāli, kad pārejā nav plūsmas utt. Kas attiecas uz tehnoloģiskām problēmām, mēs risinām arī IoT bieži sastopamās problēmas, piemēram, stabilu savienojamību pilsētas mērogā un kameru integrāciju IoT tīklā, izmantojot malu apstrādi, lai pārsūtītu tikai atbilstošu informāciju.

Skatiet mūsu publikāciju par Embarcados un GitHub

Arī vietnē YouTube

Mūsu komanda:

Miltons Felipe Souza Santoss

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Džonatass Beikers

(Kontaktinformācija apakšā)

1. darbība: sistēmas bloķēšanas shēma

Sistēmas bloku diagramma
Sistēmas bloku diagramma

Šis ir risinājumu arhitektūras pārskats.

Sistēma sastāv no kameras vārtejas, kas izmanto RFmesh FAN saskarnē, WiFi LAN, kā arī CAT-M WAN savienojumam. Tajā ir arī viedie fotoelementi, viedās kameras un gaismas signāli.

Visas tīklos esošās ierīces, galvenokārt viedā kamera, sūta datus caur 6lowpan uz viedo vārteju, lai tā varētu pieņemt lēmumus par sabiedrisko apgaismojumu un gaismas signālu kontroli.

Vārteja ir arī savienota ar mūsu serveri, izmantojot VPN. Šādā veidā mums ir piekļuve FAN un LAN, bot, lai pārbaudītu statusu vai kontrolētu ierīces.

2. darbība: šī projekta sastāvdaļas

Šī projekta sastāvdaļas
Šī projekta sastāvdaļas
Šī projekta sastāvdaļas
Šī projekta sastāvdaļas
Šī projekta sastāvdaļas
Šī projekta sastāvdaļas

Smart Cam

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

Kameras vārteja

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

- Cat-M/3G modems

Gudrs gaismas signāls

3. darbība: 2. darbība: shēmas shēma un savienojumi

2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi
2. darbība: shēmas shēma un savienojumi

Smart Cam

- Kamera USB portā

- OneRF NIC UART portā

Kameras vārteja

- Kamera USB portā

- OneRF NIC UART portā

- 3G/Cat-M modems USB portā

(Visi ir savienoti ar IoT starpstāvu)

Smart Stree Light

- Parasts ielu apgaismojums

- releja dēlis (3 kanāli)

- OneRF NIC

Viedais fotoelements

- OneRF NIC

- Jaudas mērītājs

4. solis: instalējiet OS uz DragonBoards

Debian instalēšana vietnē Dragonboard820C (ātrās sāknēšanas metode)

Izmantojot Linux operētājsistēmu, instalējiet paketes, kas norādītas vietnē

Uz pūķa dēļa:

iestatīt s4 OFF, OFF, OFF, OFF

Ieslēdziet nospiežot vol (-)

Ja izmantojat seriālo monitoru (ļoti ieteicams), jūs saņemsit ziņojumu “fastboot: processing komandas” (sērijas monitors pie 115200) Pievienojiet datoram mikro-usb (J4)

Uzņēmēja datorā: lejupielādējiet (un izpakojiet) no vietnes

$ sudo fastboot ierīces

452bb893 ātrā sāknēšana (piemērs)

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

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

Debian instalēšana vietnē Dragonboard410C

Darbības datorā (Linux)

1 - lejupielādējiet attēlu

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Izsaiņojiet failus

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Ievietojiet microSD datorā un pārbaudiet, vai tas ir pievienots

$ df -h

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

4 - Atvienojiet microSD un ierakstiet attēlu

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = sinhronizācijas statuss = noxfer

5 - Noņemiet microSD no datora

Darbības datorā (Windows) Lejupielāde - SD kartes attēls - (1. iespēja) SD kartes attēls - Instalēšana un sāknēšana no eMMC

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

Izsaiņojiet SD kartes instalēšanas attēlu

Lejupielādējiet un instalējiet Win32DiskImager rīku

sourceforge.net/projects/win32diskimager/f…

Atveriet rīku Win32DiskImager

Ievietojiet SD karti datorā

Atrodiet iegūto.img failu

Noklikšķiniet uz Rakstīt

Pārliecinieties, vai DragonBoard ™ 410c ir atvienots no strāvas

Iestatiet S6 slēdzi uz DragonBoard ™ 410c uz 0-1-0-0, “SD sāknēšanas slēdzim” jābūt iestatītam uz “ON”.

Pievienojiet HDMI

Pievienojiet USB tastatūru

Ievietojiet microSD

Pievienojiet strāvas adapteri

Atlasiet instalējamo attēlu un noklikšķiniet uz "Instalēt"

pagaidiet instalēšanas pabeigšanu

Noņemiet strāvas adapteri

Noņemiet microSD

Iestatiet S6 slēdzi uz 0-0-0-0

Gatavs

5. darbība. Savienojamības saskarnes

Cat-m un 3G instalēšana

Izmantojot resursdatoru, izmantojiet šādas AT komandas:

AT#SIMDET? // pārbaudīt SIM klātbūtni#SIMDET: 2, 0 // sim nav ievietots

#SIMDET: 2, 1 // sim ievietots

AT+CREG? // pārbaudiet, vai tas ir reģistrēts

+CREG: 0, 1 // (atspējot nevēlamu rezultātu reģistrācijas tīkla kodu (rūpnīcas noklusējums), reģistrēts mājas tīkls)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (režīms = automātiska izvēle, formāts = burtciparu, oper,?)

AT+CPAS // Tālruņa darbības statuss

+CPAS: 0 // gatavs

AT+CSQ // pārbaudiet pakalpojuma kvalitāti

+CSQ: 16, 3 // (rssi, bitu kļūdu īpatsvars)

AT+CGATT? // GPRS pielikuma stāvoklis

+CGATT: 1 // pievienots

AT+CGDCONT = 1, “IP”,”zap.vivo.com.br”,, 0, 0 // konteksta konfigurēšana

labi

AT+CGDCONT? // pārbaudīt kontekstu

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

AT#SGACT = 1, 1 // Konteksta aktivizēšana

#SGACT: 100.108.48.30

labi

Iestatiet saskarni

Izmantojot grafisko vidi

Pievienojiet modemu (oneRF_Modem_v04 - HE910)

Atveriet tīkla savienojumus

Noklikšķiniet uz +, lai pievienotu jaunu savienojumu

Atlasiet Mobilo platjoslu

Izvēlieties pareizo ierīci

Izvēlieties valsti

Izvēlieties pakalpojumu sniedzēju

Atlasiet plānu un saglabājiet

Noņemiet modemu

Atkārtoti pievienojiet modemu

Izmantojot terminalapt-get install pppconfig

pppconfig

nodrošinātājs = vivo

dinamico

CHAP

vivo

vivo

115200

Tonis

*99#

nē (manuāli)

/dev/ttyUSB0

saglabāt

kaķis/etc/ppp/vienaudži/vivo

cat/etc/chatscripts/vivo

pon vivo

Ja izmantojat Cat-M moduli, pirms tam vienkārši izmantojiet šādas komandas:

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. darbība: būtisku programmatūras moduļu instalēšana

Attīstības datorā

Ņemiet vērā, ka dažas darbības ir atkarīgas no aparatūras, un tās ir jāpielāgo atbilstoši jūsu faktiskajām datora specifikācijām. Bibliotēkas var instalēt ar vienu komandu.

sudo apt instalēt 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-tipping python-hypotesis python-yaml

OpenCV

Šo ietvaru izmanto, lai izstrādes mašīnā izstrādātu uz attēliem balstītus statistikas algoritmus. Tā kā lielākā daļa mūsu koda ir rakstīta Python, vienkāršākais instalēšanas veids ir vienkārši

pip instalējiet opencv-python

Tomēr ņemiet vērā, ka šie riteņi neizmantos neko citu, izņemot jūsu centrālo procesoru, un, iespējams, pat neizmantos visus tā kodolus, tāpēc, iespējams, vēlēsities apkopot no avota, lai sasniegtu maksimālu veiktspēju. Piemēram, lai izveidotu paketi operētājsistēmā Linux, lejupielādējiet ZIP failu no OpenCV izlaidumu lapas un izpakojiet to. No neizsaiņotās mapes:

mkdir build && cd buildcmake.. padarīt visu -j4

sudo veikt instalēšanu

Komanda -j4 uzdod lietot četrus pavedienus. Izmantojiet tik daudz, cik ir jūsu CPU!

Kafejnīca

Lai iestatītu Caffe sistēmu no avotiem:

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

cmake..

uztaisīt visu

veikt testu padarīt runtest

Ja visi testi darbojas veiksmīgi, tad viss ir gatavs.

TensorFlow

Google neļauj apkopot TensorFlow ar parastajiem rīkiem. Tam ir nepieciešams Bazel, un iespējams, ka tas nedarbosies, tāpēc izvairieties no tā apkopošanas un vienkārši paņemiet iepriekš apkopoto moduli ar:

pip instalēt tensorflow

Ja jūsu dators ir mazliet vecs un tam nav AVX instrukciju, iegūstiet pēdējo, kas nav AVX, tenzplūsmu ar

pip instal tensorflow == 1.5

Un jūs esat pabeidzis.

SNPE - Snapdragon ™ neironu apstrādes dzinējs

Snappy iestatīšana, kā mūsu Qualcomm draugi sauc par SNPE, nav grūta, taču darbības ir rūpīgi jāievēro. Instalācijas shēma ir šāda:

klonēt neironu tīkla ietvaru git krātuves

CaffeCaffe2

TensorFlow

ONNX

palaidiet skriptus, lai pārbaudītu, vai nav atkarību snpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

palaidiet katru instalēto ietvaru snpe/bin/envsetup.sh

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

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

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

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

Lai iegūtu SNPE katrā atvērtajā termināļa instancē, pievienojiet trešā soļa četras rindas faila ~/.bashrc beigās.

Uz mērķa dēļa

Pāreja uz arm64 no amd64 nav viegls uzdevums, jo daudzas bibliotēkas izmantos x86 instrukcijas, lai uzlabotu savu veiktspēju. Par laimi, lielāko daļu nepieciešamo resursu ir iespējams apkopot uz tāfeles. Nepieciešamās bibliotēkas var instalēt ar vienu komandu.

sudo apt instalēt 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-tipping python-hypotesis python-yaml

Instalējiet tos ar apt un dodieties tālāk. Ņemiet vērā, ka šī darbība var aizņemt kādu laiku, jo, veicot atbilstošus zvanus, tiek izveidots kods, kas nav iepriekš apkopots.

OpenCV

Lejupielādējiet laidienu no OpenCV krātuves, izpakojiet to kaut kur un no neiesaiņotās mapes:

mkdir build && cd buildcmake..

padarīt visu -j3

sudo veikt instalēšanu

Ņemiet vērā, ka mēs izmantojām opciju -j3. Ja piekļūstat plati, izmantojot ssh, var pilnībā pietikt ar visiem kodoliem, lai pārtrauktu savienojumu. Tas nav vēlams. Ierobežojot pavedienu izmantošanu līdz trim, mums vienmēr būs vismaz viens bezmaksas pavediens, lai tiktu galā ar ssh savienojumiem un vispārējo sistēmas uzkopšanu.

Tas ir paredzēts Dragonboard 820 un Inforce 6640 ar APQ8096 mikroshēmu. Dragonboard 410 jūs vēlaties brīvu virtuālo atmiņu vai ierobežot apkopošanas pavedienus līdz vienam, jo tajā ir mazāk fiziskās RAM.

Jāatzīmē arī tas, ka mikroshēmas dzesēšana palīdzēs uzlabot veiktspēju, ierobežojot termisko droseļvārstu. Radiators izdara triku pie nelielām slodzēm, bet jūs vēlēsities atbilstošu ventilatoru apkopošanai un citām CPU ietilpīgām slodzēm.

Kāpēc neinstalēt OpenCV ar apt vai pip? Tā kā, apkopojot to mērķa mašīnā, kompilatoram ir redzamas visas pieejamās procesora instrukcijas, uzlabojot izpildes veiktspēju.

SNPE - Snapdragon ™ neironu apstrādes dzinējs

Mēs instalējām Snappy tāpat kā galddatorā, lai gan nebija instalēta faktiskā neironu tīkla sistēma (SNPE ir nepieciešami tikai git repos, nevis faktiskie binārie faili).

Tomēr, tā kā mums ir vajadzīgi tikai snine-net-run komandas binārie faili un galvenes, pastāv iespēja, ka tikai šādu failu ievietošana mapē un šīs mapes pievienošana PATH darbojas:

Neironu tīkls binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU bibliotēkas

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 bibliotēkas

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Rezultātu skatītājs

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Treknrakstā iekļautais vienums /usr/lib/aarch64-linux-gnu/libatomic.so.1 tiek piegādāts kopā ar Linaro šajā ceļā, un tas ir jākopē šajā hipotētiskajā minimālajā mapē.

Citas svarīgas paketes:

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

sudo apt instalēt nodejs

sudo apt instalēt openvpn

7. solis: demonstrācija

Skatiet īsu Smart IoT Vision demonstrāciju Smart-City darbam !!

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

8. solis: Paldies

Mēs pateicamies Qualcomm komandai un Embarcados par konkursa izveidi un atbalstu.

Sazinieties ar mums:

Atsauces

Dragonboard 410c instalēšanas rokasgrāmata operētājsistēmai Linux un 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/

Ieteicams: