Përmbajtje:
- Hapi 1: Diagrami i Bllokimit të Sistemit
- Hapi 2: Komponentët për këtë projekt
- Hapi 3: Hapi 2: Diagrami i Qarkut dhe Lidhjet
- Hapi 4: Instaloni Os në DragonBoards
- Hapi 5: Ndërfaqet e lidhshmërisë
- Hapi 6: Instalimi i moduleve thelbësore të softuerit
- Hapi 7: Demonstrim
- Hapi 8: Faleminderit
Video: Vizioni Smart IoT: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:23
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
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
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
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:
Syze Vizioni i natës për kartonin Google: 10 hapa (me fotografi)
Syze Vizioni i natës për kartonin e Google: Përgjegjësia: Përdorimi i kësaj pajisje është menduar vetëm për argëtim, edukim dhe përdorim shkencor; jo për spiunim dhe/ose mbikëqyrje. &Quot; vegël spiune " veçoritë u shtuan në aplikacion vetëm për argëtim dhe nuk do të shërbenin për asnjë qëllim praktik për
AI Aids Eyes (Një sistem vizioni kompjuterik për të kujtuar operatorët të përdorin syze sigurie): 4 hapa
AI Aids Eyes (Një sistem vizioni kompjuterik për të kujtuar operatorët që të përdorin syze sigurie): Këtu është një demonstrim i sistemit. Kur sistemi zbulon se stërvitja është kapur, ai automatikisht do të lëshojë një paralajmërim për syzet e sigurisë. Për të përfaqësuar praninë e paralajmërimeve të syzeve të sigurisë, kufiri i imazhit RGB është i ngjyrosur me të kuqe në demonstrimin v
Përdorimi i Sonar, Lidar dhe Vizioni Kompjuterik në Mikrokontrolluesit për të Ndihmuar Personat me Shikim: 16 Hapa
Përdorimi i Sonar, Lidar dhe Vizioni Kompjuterik në Mikrokontrolluesit për të Ndihmuar Personat me Shikim të Dëgjuar: Unë dua të krijoj një ‘kallam’ inteligjent që mund të ndihmojë njerëzit me dëmtime të shikimit shumë më tepër sesa zgjidhjet ekzistuese. Shkopi do të jetë në gjendje të njoftojë përdoruesin për objektet para ose anash duke bërë një zhurmë në tipin e zërit rrethues headphon
Demonstratat Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: 3 hapa
Demo Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: Ky është artikulli i dytë në seri për Sipeed AI në platformën e mikrokontrolluesit Edge. Kësaj radhe do të shkruaj për MaiX Bit (lidhje me Seeed Studio Shop), një tabelë më e vogël, e gatshme për zhvillimin e gatimit. Specifikimet e tij janë shumë të ngjashme me
Vizioni i pasmë i automjetit: 9 hapa (me fotografi)
Vizioni i pasmë i automjetit: Pse ndërtojmë Vehicle Rear Vision? Përplasja rezervë ka qenë një problem i madh, Qendra Amerikane për Kontrollin e Sëmundjeve raportoi se nga viti 2001 - 2003, rreth 7,475 fëmijë (2,492 në vit) nën moshën 15 vjeç ishin i trajtuar për makinën