Përmbajtje:

Vizioni Smart IoT: 8 hapa
Vizioni Smart IoT: 8 hapa

Video: Vizioni Smart IoT: 8 hapa

Video: Vizioni Smart IoT: 8 hapa
Video: Учим цвета Разноцветные яйца на ферме Miroshka Tv 2024, Nëntor
Anonim
Smart IoT Vision
Smart IoT Vision

Ky është një projekt i fokusuar në kontekstin e qytetit të zgjuar. Në këtë çështje, ka tre probleme kryesore që ne po zgjidhim:

1 - kursimi i energjisë në ndriçimin publik; 2 - përmirësimi i sigurisë së qytetit; 3 - përmirësoni rrjedhën e trafikut.

1 - Duke përdorur dritat LED në rrugë, kursimet tashmë janë deri në 50%, dhe me shtimin e Telemanagement, ne mund të kemi 30% më shumë kursime.

2 - Me përdorimin e kamerave të zgjuara, ne mund të kontrollojmë dritat që të zbehen aty ku njerëzit rrjedhin mungon dhe ta bëjmë pjesën e rrugës më të ndritshme ku njerëzit po ecin. Kjo jo vetëm që do të kursejë energji, por do të rrisë ndjenjën e vëzhgimit, kështu që do të frikësojë njerëzit me qëllim të keq. Për më tepër, alarme vizuale (pulsimi i llambave për shembull), mund të përdoren në rast të sjelljes së dyshimtë.

3 - Kamera e zgjuar do të shikojë trafikun, do të përpunojë kushtet e tij në nivel lokal dhe do të kontrollojë sinjalet e dritës në mënyrë që të menaxhojë më së miri trafikun. Në këtë mënyrë, bllokimet e trafikut mund të shmangen, makinat nuk do të duhet të presin për shumë kohë sinjale të kuqe kur nuk ka rrjedhje në vendkalim, etj. Lidhur me problemet teknologjike, ne po zgjidhim edhe çështjet e zakonshme në IoT si lidhja e fortë në shkallë të qytetit dhe integrimi i kamerës për Rrjetin IoT, duke përdorur përpunimin e përparësisë për të transmetuar vetëm informacionin përkatës.

Shihni botimin tonë në Embarcados dhe GitHub

Gjithashtu në YouTube

Ekipi ynë:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Informacioni i kontaktit në fund)

Hapi 1: Diagrami i Bllokimit të Sistemit

Diagrami i Bllokut të Sistemit
Diagrami i Bllokut të Sistemit

Ky është një përmbledhje e arkitekturës së zgjidhjes.

Sistemi është i përbërë nga një Kamera-Portë që përdor RFmesh në ndërfaqen FAN, WiFi në LAN, dhe gjithashtu CAT-M për lidhjen WAN. Ai gjithashtu përmban fotocelë të zgjuar, Kamera të Zgjuara dhe sinjale drite.

Të gjitha pajisjet në rrjet, kryesisht kamera e zgjuar, po dërgojnë të dhëna përmes 6lowpan në portën inteligjente, kështu që mund të marrë vendime në lidhje me ndriçimin publik dhe kontrollin e sinjaleve të dritës.

Porta lidhet gjithashtu me serverin tonë përmes VPN. Në këtë mënyrë, ne kemi qasje në FAN dhe LAN, bot, për të kontrolluar statusin ose kontrolluar pajisjet.

Hapi 2: Komponentët për këtë projekt

Komponentët për këtë projekt
Komponentët për këtë projekt
Komponentët për këtë projekt
Komponentët për këtë projekt
Komponentët për këtë projekt
Komponentët për këtë projekt

Kamera e zgjuar

- DragonBoard410C/DragonBoard820C

- Kamera USB

- OneRF NIC

Porta e Kamerave

- DragonBoard410C/DragonBoard820C

- Kamera USB

- OneRF NIC

- Modemi Cat-M/3G

Sinjal i zgjuar i dritës

Hapi 3: Hapi 2: Diagrami i Qarkut dhe Lidhjet

Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet
Hapi 2: Diagrami i Qarkut dhe Lidhjet

Kamera e zgjuar

- Kamera në portën USB

- OneRF NIC në portin UART

Porta e Kamerave

- Kamera në portën USB

- OneRF NIC në portin UART

- Modemi 3G/Cat-M në portën USB

(Të gjitha të lidhura me IoT Mezzanine)

Smart Stree Light

- Drita konvencionale e rrugës

- Bordi stafetë (3 kanale)

- OneRF NIC

Fotocelë e zgjuar

- OneRF NIC

- Matës i energjisë

Hapi 4: Instaloni Os në DragonBoards

Instalimi i Debian në Dragonboard820C (Metoda e Fastboot)

Duke përdorur një OS Linux, instaloni paketat e listuara në:

Në tabelën e dragoit:

bëj s4 OFF, OFF, OFF, OFF

Ndizni shtypjen e vol (-)

Nëse përdorni një monitor serik (rekomandohet shumë), do të merrni mesazhin "fastboot: komandat e përpunimit" (monitor serik në 115200) Lidhni mikro-usb (J4) në PC

Në PC -në pritës: Shkarkoni (dhe zbërtheni) nga

$ sudo pajisje të shpejta të nisjes

452bb893 fastboot (shembull)

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

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

Instalimi i Debian në Dragonboard410C

Hapat në kompjuter (Linux)

1 - Shkarkoni imazhin

$ cd

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Zhbllokoni skedarët

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Futni microSD në kompjuterin tuaj dhe kontrolloni nëse është montuar

$ df -h

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

4 - Çmontoni microSD dhe digjni imazhin

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img e =/dev/sdb bs = 4M oflag = statusi i sinkronizimit = noxfer

5 - Hiqeni microSD nga kompjuteri juaj

Hapat në kompjuter (Windows) Shkarkimi - Imazhi i Kartës SD - (Opsioni 1) Imazhi i Kartës SD - Instaloni dhe nisni nga eMMC

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

Zbërtheni imazhin e instalimit të kartës SD

Shkarkoni dhe instaloni mjetin Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Hapni mjetin Win32DiskImager

Futni kartën SD në kompjuter

Gjeni skedarin e nxjerrë.img

Klikoni në Shkruaj

Hapat në Dragonboard Sigurohuni që DragonBoard ™ 410c të jetë shkëputur nga fuqia

Vendoseni çelësin S6 në DragonBoard ™ 410c në 0-1-0-0, "Çelësi i SD Boot" duhet të vendoset në "ON".

Lidhni një HDMI

Lidhni një tastierë USB

Futni microSD

Lidhni përshtatësin e energjisë

Zgjidhni imazhin për ta instaluar dhe klikoni "Instalo"

prisni që instalimi të përfundojë

Hiqni përshtatësin e energjisë

Hiqeni microSD

Vendosni kalimin S6 në 0-0-0-0

E BER

Hapi 5: Ndërfaqet e lidhshmërisë

Instalimi i Cat-m dhe 3G

Aplikoni komandat e mëposhtme AT duke përdorur një makinë pritëse:

N##SIMDET? // kontrolloni praninë e SIM#SIMDET: 2, 0 // SIM nuk është futur

#SIMDET: 2, 1 // sim e futur

AT+CREG? // kontrolloni nëse është i regjistruar

+CREG: 0, 1 // (çaktivizo regjistrimin e rrjetit kodin e rezultateve të pakërkuara (parazgjedhja e fabrikës), rrjetin e regjistruar në shtëpi)

AT+COPS?

+COPS: 0, 0, "VIVO", 2 // (mënyra = zgjedhje automatike, format = alfanumerike, oper,?)

AT+CPAS // Statusi i aktivitetit të telefonit

+CPAS: 0 // gati

AT+CSQ // kontrolloni cilësinë e shërbimit

+CSQ: 16, 3 // (rssi, shkalla e gabimit të bitit)

AT+CGATT? // gjendja e shtojcës GPRS

+CGATT: 1 // bashkangjitur

AT+CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // konfiguro kontekstin

Ne rregull

AT+CGDCONT? // kontrolloni kontekstin

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

AT#SGACT = 1, 1 // Aktivizimi i kontekstit

#SGACT: 100.108.48.30

Ne rregull

Vendosni Ndërfaqen

Përdorimi i mjedisit grafik

Lidhni modemin (oneRF_Modem_v04 - HE910)

Hapni Lidhjet e Rrjetit

Klikoni në + për të shtuar lidhje të re

Zgjidhni brezin e gjerë celular

Zgjidhni pajisjen e duhur

Zgjidhni Vendin

Zgjidhni ofruesin

Zgjidhni planin dhe ruani

Hiqni modemin

Rilidhni modemin

Duke përdorur terminalapt-get install pppconfig

pppconfig

ofrues = vivo

dinamiko

KAPITULLI

vivo

vivo

115200

Ton

*99#

jo (manual)

/dev/ttyUSB0

ruaj

cat/etc/ppp/kolegët/vivo

cat/etc/chatscripts/vivo

pon vivo

Nëse përdorni modulin Cat-M, thjesht përdorni komandat e mëposhtme më parë:

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

apt-get install comgt

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

Hapi 6: Instalimi i moduleve thelbësore të softuerit

Në kompjuterin e zhvillimit

Vini re se disa hapa varen nga hardueri dhe duhet të rregullohen për të përmbushur specifikimet aktuale të kompjuterit tuaj. Bibliotekat mund të instalohen me një komandë të vetme.

sudo apt install build-thelbësore 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 python-pip python-numpy python-scipy python-matplotlib python-python të ardhshëm-protobuf python-typing python-hypotesis python-yaml

OpenCV

Ky kuadër përdoret për të zhvilluar algoritme statistikore të bazuara në imazhe në makinën e zhvillimit. Meqenëse shumica e kodit tonë është shkruar në Python, metoda më e lehtë e instalimit është vetëm

pip instaloni opencv-python

Vini re, megjithatë, se këto rrota nuk do të përdorin asgjë përveç CPU -së tuaj dhe madje nuk mund të përdorin të gjitha bërthamat e saj, kështu që ju mund të dëshironi të përpiloni nga burimi për të arritur performancën maksimale. Për të ndërtuar paketën në Linux, për shembull, ju shkarkoni skedarin zip nga faqja e Publikimeve të OpenCV dhe e hapni atë. Nga dosja e palidhur:

mkdir build && cd buildcmake.. bëj të gjitha -j4

sudo make install

Urdhëron komanda -j4 të përdorë katër fije. Përdorni aq sa ka CPU -ja juaj!

Kafe

Për të konfiguruar kuadrin Caffe nga burimet:

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

cmake..

bëj të gjitha

bëj provë bëj runtest

Nëse të gjitha testet funksionojnë me sukses, atëherë jeni gati.

TensorFlow

Google nuk ju lejon të përpiloni TensorFlow me mjete të zakonshme. Kërkon Bazel për të dhe shanset janë që nuk do të funksionojë, kështu që shmangni përpilimin e tij dhe thjesht kapni modulin e para-përpiluar me:

pip instaloni tensorflow

Nëse kompjuteri juaj është pak i vjetër dhe nuk ka udhëzime AVX, merrni tensorflow-in e fundit jo-AVX

pip instaloni tensorflow == 1.5

Dhe mbarove.

SNPE - Motori i përpunimit nervor Snapdragon

Vendosja e Snappy, siç e quajnë miqtë tanë Qualcomm SNPE, nuk është e vështirë, por hapat duhet të ndiqen nga afër. Skica e instalimit është:

klononi depot e git të kornizave të rrjetit nervor

KafeKafe2

TensorFlow

ONNX

ekzekutoni skriptet për të kontrolluar përpendenciessnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

për çdo kornizë të instaluar ekzekutoni snpe/bin/envsetup.sh

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

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

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

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

Për të buruar SNPE në çdo shembull terminali që hapni, shtoni katër rreshtat e hapit tre në fund të skedarit tuaj ~/.bashrc.

Në tabelën e synuar

Kalimi në arm64 nga amd64 nuk është një detyrë e lehtë, pasi shumë biblioteka do të përfitojnë nga udhëzimet x86 për të rritur performancën e tyre. Për fat të mirë, është e mundur të grumbullohen shumica e burimeve të nevojshme në vetë tabelën. Bibliotekat e nevojshme mund të instalohen me një komandë të vetme.

sudo apt install build-thelbësore 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 python-pip python-numpy python-scipy python-matplotlib python-python të ardhshëm-protobuf python-typing python-hypotesis python-yaml

Instalojini ato me apt dhe vazhdoni. Vini re se ky hap mund të marrë pak kohë, pasi thirrjet e duhura bëjnë për të ndërtuar kodin që nuk është përpiluar paraprakisht.

OpenCV

Shkarkoni lëshimin nga depoja OpenCV, zbërtheni atë diku dhe nga dosja e pazbuluar:

mkdir build && cd buildcmake..

bëj të gjitha -j3

sudo make install

Vini re se ne përdorëm opsionin -j3. Nëse hyni në tabelë përmes ssh, ngarkimi i plotë i të gjitha bërthamave mund të jetë i mjaftueshëm për të hequr lidhjen. Kjo nuk është e dëshirueshme. Duke kufizuar përdorimin e fijeve në tre, ne gjithmonë do të kemi të paktën një fije të lirë për të përballuar lidhjet ssh dhe pastrimin e përgjithshëm të sistemit.

Kjo është për Dragonboard 820 dhe Inforce 6640 me çipin APQ8096. Në Dragonboard 410 do të dëshironi të keni pak memorie virtuale falas ose të kufizoni fijet e përpiluara në një, pasi ajo ka më pak RAM fizike në dispozicion.

Gjithashtu vlen të përmendet se ftohja e çipit do të ndihmojë në rritjen e performancës duke kufizuar mbytjen termike. Ngrohësja bën mashtrimin në ngarkesa të vogla, por ju do të dëshironi një ventilator të përshtatshëm për përpilimin dhe ngarkesa të tjera intensive të CPU-së.

Pse të mos instaloni OpenCV me apt ose pip? Për shkak se përpilimi i tij në makinën e synuar e bën çdo udhëzim të disponueshëm të procesorit të dukshëm për përpiluesin, duke përmirësuar performancën e ekzekutimit.

SNPE - Motori i përpunimit nervor Snapdragon

Ne e instaluam Snappy ashtu siç ishte në një kompjuter desktop, edhe pse nuk kishte asnjë kornizë aktuale të rrjetit nervor të instaluar (SNPE ka nevojë vetëm për repo git, jo binaret aktuale).

Sidoqoftë, meqenëse gjithçka që na nevojitet janë binaret dhe titujt për komandën snpe-net-run, ekziston mundësia që të kesh skedarët e mëposhtëm në një dosje dhe të shtosh këtë dosje në PATH:

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

Bibliotekat e CPU -së

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

Bibliotekat DSP

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Shikuesi i rezultateve

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Artikulli i guximshëm, /usr/lib/aarch64-linux-gnu/libatomic.so.1, sigurohet me Linaro në këtë rrugë dhe duhet të kopjohet në këtë dosje minimale hipotetike.

Pako të tjera të rëndësishme:

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

sudo apt install nodejs

sudo apt instaloni openvpn

Hapi 7: Demonstrim

Shikoni një demonstrim të shkurtër të Smart IoT Vision për Smart-City duke punuar !!

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

Hapi 8: Faleminderit

Falenderojmë ekipin Qualcomm dhe Embarcados për krijimin dhe mbështetjen e konkursit.

Mos ngurroni të na kontaktoni në:

Referencat

Udhëzues instalimi Dragonboard 410c për Linux dhe 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/ https://caffe.berkeleyvision.org/installation.html#…

Recommended: