Mundarija:
- 1 -qadam: tizim blok diagrammasi
- 2 -qadam: Ushbu loyihaning tarkibiy qismlari
- 3 -qadam: 2 -qadam: O'chirish diagrammasi va ulanishlar
- 4 -qadam: DragonBoards -ga OS -ni o'rnating
- 5 -qadam: Ulanish interfeyslari
- 6 -qadam: Asosiy dasturiy ta'minot modullarini o'rnatish
- 7 -qadam: Namoyish
- 8 -qadam: Rahmat
Video: Smart IoT Vision: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu aqlli shahar kontekstiga qaratilgan loyiha. Bu masalada biz hal qiladigan uchta asosiy muammo bor:
1 - umumiy yoritishda energiyani tejash; 2 - shahar xavfsizligini yaxshilash; 3 - transport oqimini yaxshilash.
1 - Ko'chalarda LED yoritgichlari yordamida tejash 50% gacha, Telemanagement qo'shilsa, biz 30% ko'proq tejashimiz mumkin.
2 - Aqlli kameralardan foydalangan holda, biz odamlar oqimi yo'q bo'lgan joylardagi yorug'likni pasaytira olamiz va odamlar yuradigan ko'cha qismini yorqinroq qilishimiz mumkin. Bu nafaqat energiyani tejaydi, balki tomosha qilish tuyg'usini oshiradi, shuning uchun yomon niyatli odamlarni qo'rqitadi. Bundan tashqari, shubhali xatti -harakatlarda vizual signallardan (masalan, chiroqlarning miltillashi) foydalanish mumkin.
3 - Aqlli kamera trafikni kuzatadi, uning sharoitlarini qayta ishlaydi va trafikni yaxshiroq boshqarish uchun yorug'lik signallarini boshqaradi. Shunday qilib, tirbandliklarning oldini olish mumkin edi, o'tish joyida oqim bo'lmaganda, avtomobillar uzoq vaqt qizil signallarni kutishlariga to'g'ri kelmasdi va hokazo. Texnologik muammolarga kelsak, biz faqat tegishli ma'lumotlarni uzatish uchun chekka ishlov berish yordamida IoT -da keng tarqalgan muammolarni hal qilamiz, masalan, shahar miqyosida mustahkam ulanish va IoT tarmog'i uchun kameralarni birlashtirish.
Embarcados va GitHub -dagi nashrimizni ko'ring
YouTube -da ham
Bizning jamoamiz:
Milton Felipe Souza Santos
Gustavo Retuchi Pinxeyro
Eduardo Kaldas Kardoso
Jonathas Beyker
(Aloqa ma'lumotlari pastda)
1 -qadam: tizim blok diagrammasi
Bu yechim arxitekturasining umumiy ko'rinishi.
Tizim FAN interfeysida RFmesh, LANda WiFi, shuningdek WAN ulanishi uchun CAT-M dan foydalanadigan Kamera-shlyuzdan iborat. Shuningdek, u aqlli fotosellar, aqlli kameralar va yorug'lik signallarini o'z ichiga oladi.
Tarmoqdagi barcha qurilmalar, asosan aqlli kamera, ma'lumotlarni 6lowpan orqali aqlli shlyuzga yuboradi, shuning uchun u umumiy yoritish va yorug'lik signallarini boshqarish to'g'risida qaror qabul qilishi mumkin.
Shlyuz ham bizning serverimizga VPN orqali ulangan. Shunday qilib, biz FAN va LAN -ga, qurilmalarning holatini tekshirish yoki boshqarish uchun botdan foydalana olamiz.
2 -qadam: Ushbu loyihaning tarkibiy qismlari
Aqlli kamera
- DragonBoard410C/DragonBoard820C
- USB kamera
- OneRF NIC
Kamera shlyuzi
- DragonBoard410C/DragonBoard820C
- USB kamera
- OneRF NIC
- Cat-M/3G modem
Aqlli yorug'lik signali
3 -qadam: 2 -qadam: O'chirish diagrammasi va ulanishlar
Aqlli kamera
- USB portidagi kamera
- UART portidagi OneRF NIC
Kamera shlyuzi
- USB portidagi kamera
- UART portidagi OneRF NIC
- USB portidagi 3G/Cat-M modem
(Hammasi IoT Mezzanine orqali ulangan)
Aqlli daraxt chirog'i
- An'anaviy ko'cha yoritgichi
- O'rnatish paneli (3 kanal)
- OneRF NIC
Aqlli fotosel
- OneRF NIC
- Quvvat o'lchagich
4 -qadam: DragonBoards -ga OS -ni o'rnating
Debian -ni Dragonboard820C -ga o'rnatish (Fastboot usuli)
Linux OS yordamida quyidagi paketlarni o'rnating:
Ajdaho taxtasida:
s4 O'chirish, O'chirish, O'chirish, O'chirish
Vol (-) tugmachasini bosing
Agar siz ketma-ket monitordan foydalansangiz (tavsiya etiladi), siz "fastboot: buyruqlarni qayta ishlash" xabarini olasiz (ketma-ket monitor 115200) Kompyuterga micro-usbni (J4) ulang.
Asosiy kompyuterda: https://www.96boards.org/documentation/consumer/d… dan yuklab oling (va oching).
$ sudo fastboot qurilmalari
452bb893 fastboot (misol)
$ sudo fastboot flesh boot boot-linaro-buster-dragonboard-820c-BUILD.img
$ sudo fastboot flesh rootfs linaro-buster-alip-dragonboard-820c-BUILD.img
Debian -ni Dragonboard410C -ga o'rnatish
Kompyuterdagi qadamlar (Linux)
1 - rasmni yuklab oling
$ CD ~
$ mkdir Debian_SD_Card_Install_image
$ CD Debian_SD_Card_Install_image
$ wget
2 - fayllarni oching
$ CD ~/Debian_SD_Card_Install_image
$ unzip dragonboard410c_sdcard_install_debian-233.zip
3 - microSD -ni kompyuteringizga joylashtiring va u o'rnatilganligini tekshiring
$ df -h
/dev/sdb1 7.4G 32K 7.4G 1%/media/3533-3737
4 - microSD -ni ajratib oling va tasvirni yoqing
$ umount /dev /sdb1
$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = sync status = noxfer
5 - microSD -ni shaxsiy kompyuterdan chiqarib oling
Kompyuterdagi qadamlar (Windows) Yuklab olish - SD -karta tasviri - (1 -variant) SD -karta tasviri - eMMC -dan o'rnatish va yuklash.
www.96boards.org/documentation/consumer/dr…
SD kartani o'rnatish rasmini oching
Win32DiskImager vositasini yuklab oling va o'rnating
sourceforge.net/projects/win32diskimager/f…
Win32DiskImager vositasini oching
SD -kartani kompyuterga joylashtiring
Chiqarilgan.img faylini toping
Yozish -ni bosing
Dragonboard -dagi qadamlar DragonBoard ™ 410c elektr tarmog'idan uzilganligiga ishonch hosil qiling
DragonBoard ™ 410c-dagi S6 kalitini 0-1-0-0 ga o'rnating, "SD yuklash kaliti" ni "ON" holatiga qo'ying.
HDMI ulang
USB klaviaturasini ulang
MicroSD -ni joylashtiring
Quvvat adapterini ulang
O'rnatish uchun rasmni tanlang va "O'rnatish" tugmasini bosing.
o'rnatish tugashini kuting
Quvvat adapterini chiqarib oling
MicroSD -ni olib tashlang
S6 kalitini 0-0-0-0 ga o'rnating
BILDI
5 -qadam: Ulanish interfeyslari
Cat-m va 3G-ni o'rnatish
Asosiy kompyuter yordamida quyidagi AT buyruqlarini qo'llang:
#SIMDET da? // SIM mavjudligini tekshiring#SIMDET: 2, 0 // sim kiritilmagan
#SIMDET: 2, 1 // sim kiritilgan
AT+CREG? // ro'yxatdan o'tganligini tekshiring
+CREG: 0, 1 // (tarmoqni ro'yxatdan o'tkazishni so'ralmagan natija kodini o'chirib qo'ying (zavod standarti), ro'yxatdan o'tgan uy tarmog'i)
AT+COPS?
+COPS: 0, 0, "VIVO", 2 // (rejim = avtomatik tanlov, format = alfasayısal, oper,?)
AT+CPAS // Telefon faolligi holati
+CPAS: 0 // tayyor
AT+CSQ // xizmat sifatini tekshiring
+CSQ: 16, 3 // (rssi, bit xato tezligi)
AT+CGATT? // GPRS ilovasi holati
+CGATT: 1 // biriktirilgan
AT+CGDCONT = 1, "IP", "zap.vivo.com.br", 0, 0 // kontekstni sozlash
OK
AT+CGDCONT? // kontekstni tekshiring
+CGDCONT: 1, "IP", "zap.vivo.com.br", "", 0, 0
AT#SGACT = 1, 1 // Kontekstni faollashtirish
#SGACT: 100.108.48.30
OK
Interfeysni sozlash
Grafik muhitdan foydalanish
Modemni ulang (oneRF_Modem_v04 - HE910)
Tarmoq ulanishlarini oching
Yangi ulanishni qo'shish uchun + ni bosing
Mobil keng polosali tarmoqni tanlang
To'g'ri qurilmani tanlang
Mamlakatni tanlang
Provayderni tanlang
Rejani tanlang va Saqlash -ni tanlang
Modemni olib tashlang
Modemni qayta ulang
Terminalapt-get yordamida pppconfig o'rnatiladi
pppconfig
provayder = vivo
dinamika
CHAP
vivo
vivo
115200
Ohang
*99#
yo'q (qo'lda)
/dev/ttyUSB0
saqla
cat/etc/ppp/peers/vivo
mushuk/etc/chatscripts/vivo
pon vivo
Agar siz Cat-M modulidan foydalanayotgan bo'lsangiz, oldin quyidagi buyruqlardan foydalaning:
echo 1bc7 1101>/sys/bus/usb-serial/drayverlar/option1/new_id
apt-get install comgt
comgt -d /dev /ttyUSB0 comgt ma'lumoti -d /dev /ttyUSB0
6 -qadam: Asosiy dasturiy ta'minot modullarini o'rnatish
Kompyuterni rivojlantirish bo'yicha
Shuni yodda tutingki, ba'zi qadamlar uskunaga bog'liq va ular sizning kompyuteringizning texnik xususiyatlariga mos kelishi kerak. Kutubxonalar bitta buyruq bilan o'rnatilishi mumkin.
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-OpenPP-DIF-PYP python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml
OpenCV
Ushbu ramka ishlab chiqish mashinasida tasvirga asoslangan statistik algoritmlarni ishlab chiqish uchun ishlatiladi. Bizning kodimizning ko'p qismi Python -da yozilganligi sababli, o'rnatishning eng oson usuli bu oddiy
opencv-python-ni o'rnatish
E'tibor bering, bu g'ildiraklar sizning protsessoringizdan boshqa hech narsani ishlatmaydi va hatto uning barcha yadrolaridan ham foydalana olmaydi, shuning uchun siz maksimal ishlashga erishish uchun manbadan kompilyatsiya qilishingiz mumkin. Paketni Linuxda yaratish uchun, masalan, OpenCV relizlar sahifasidan zip faylini yuklamaysiz va uni ochasiz. Ochilmagan papkadan:
mkdir build && cd buildcmake.. hammasini qilish -j4
sudo make install
-J4 buyrug'i to'rtta ipdan foydalanishga ko'rsatma beradi. CPU qanchalik ko'p bo'lsa, shuncha foydalaning!
Kofe
Manbalardan Caffe tizimini o'rnatish uchun:
git klon https://github.com/BVLC/caffe.git && cd caffemkdir build
smake..
hammasini qil
testni yugurishni bajaring
Agar barcha testlar muvaffaqiyatli o'tsa, demak siz tayyor bo'lasiz.
TensorFlow
Google sizga TensorFlow -ni oddiy vositalar yordamida kompilyatsiya qilishga ruxsat bermaydi. Buning uchun Bazel kerak va u ishlamay qolishi mumkin, shuning uchun uni tuzishdan saqlaning va oldindan tuzilgan modulni oling:
pip o'rnatish tensorflow
Agar sizning kompyuteringiz eskirgan bo'lsa va AVX ko'rsatmalari bo'lmasa, oxirgi AVX bo'lmagan tensorflowni oling
pip o'rnatish tensorflow == 1.5
Va siz tugadingiz.
SNPE - Snapdragon ™ asabiy ishlov berish mexanizmi
Qualcomm do'stlarimiz SNPE deb ataydigan Snappy -ni o'rnatish qiyin emas, lekin bu bosqichlarni diqqat bilan bajarish kerak. O'rnatish sxemasi quyidagicha:
neyron tarmoq ramkalarining git omborlarini klonlash
CaffeCaffe2
TensorFlow
ONNX
dependenciessnpe/bin/dependencies.sh ni tekshirish uchun skriptlarni ishga tushiring
snpe/bin/check_python_depends.sh
har bir o'rnatilgan ramka uchun snpe/bin/envsetup.sh -ni ishga tushiring
manba $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT
manba $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT
manba $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT
manba $ SNPE/bin/envsetup.sh -o $ ONNX_GIT
Ochilgan har bir terminal misolida SNPE manbasini yaratish uchun ~/.bashrc faylining oxiriga uchinchi bosqichning to'rt qatorini qo'shing.
Maqsadli taxtada
Arm64 -ga amd64 -dan o'tish oson ish emas, chunki ko'p kutubxonalar o'z ishini yaxshilash uchun x86 ko'rsatmalaridan foydalanadilar. Yaxshiyamki, kerakli resurslarning ko'pini doskaning o'zida to'plash mumkin. Kerakli kutubxonalar bitta buyruq bilan o'rnatilishi mumkin.
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-OpenPP-DIF-PYP python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml
Ularni apt bilan o'rnating va davom eting. E'tibor bering, bu qadam biroz vaqt talab qilishi mumkin, chunki to'g'ri qo'ng'iroqlar oldindan tuzilmagan kodni yaratishga majbur qiladi.
OpenCV
Nashrni OpenCV omboridan yuklab oling, uni biron bir joyda va ochilmagan papkadan oching:
mkdir build && cd buildcmake..
hammasini qiling -j3
sudo make install
E'tibor bering, biz -j3 variantidan foydalanganmiz. Agar siz taxtaga ssh orqali kirsangiz, barcha yadrolarning to'liq yuklanishi ulanishni uzish uchun etarli bo'lishi mumkin. Bu istalmagan. Ipdan foydalanishni uchtagacha cheklab, bizda ssh ulanishlari va umumiy uy ishlarini bajarish uchun har doim kamida bitta bo'sh ip bo'ladi.
Bu APQ8096 chipli Dragonboard 820 va Inforce 6640 uchun. Dragonboard 410 -da siz bo'sh virtual xotiraga ega bo'lishni xohlaysiz yoki kompilyatsiya mavzularini bitta bilan cheklaysiz, chunki u kamroq jismoniy RAMga ega.
Shuni ham ta'kidlash joizki, chipni sovutish issiqlik tejashni cheklash orqali ish faoliyatini oshirishga yordam beradi. Sovutgich kichik yuklarni ishlatadi, lekin siz kompilyatsiya qilish uchun mos fanat va boshqa protsessor talab qiladigan yuklarni xohlaysiz.
Nima uchun OpenCV -ni apt yoki pip bilan o'rnatmaysiz? Chunki uni maqsadli mashinada kompilyatsiya qilish har bir mavjud protsessor ko'rsatmasini kompilyatorga ko'rinadigan qilib, bajarilishini yaxshilaydi.
SNPE - Snapdragon ™ asabiy ishlov berish mexanizmi
Biz Snappy -ni xuddi ish stoli kompyuterida bo'lgani kabi o'rnatdik, garchi haqiqiy neyron tarmoqlari o'rnatilmagan bo'lsa ham (SNPE faqat ikkilik fayllarga emas, balki git -repolarga muhtoj).
Biroq, bizga snpe-net-run buyrug'i uchun ikkiliklar va sarlavhalar kerak bo'lgani uchun, papkada quyidagi fayllar bo'lishi va bu papkani PATH-ga qo'shish mumkin:
Nerv tarmog'i binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run
CPU kutubxonalari
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 kutubxonalari
snpe/lib/dsp/libsnpe_dsp_skel.so
snpe/lib/aarch64-linux-gcc4.9/libsnpe_adsp.so
Natijalarni ko'rish vositasi
snpe/modellar/alexnet/scripts/show_alexnet_classifications.py
Qalin element, /usr/lib/aarch64-linux-gnu/libatomic.so.1, bu yo'lda Linaro bilan ta'minlangan va bu gipotetik minimal papkaga ko'chirilishi kerak.
Boshqa muhim bo'lmagan paketlar:
sudo apt-get install net-toolssudo apt-get install gedit
sudo apt install nodejs
sudo apt install openvpn
7 -qadam: Namoyish
Smart-City uchun Smart IoT Vision-ning qisqacha namoyishini ko'ring !!
www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be
8 -qadam: Rahmat
Tanlovni yaratgan va qo'llab -quvvatlagan Qualcomm jamoasi va Embarcadosga minnatdorchilik bildiramiz.
Biz bilan bog'laning:
Manbalar
Linux va Android uchun Dragonboard 410c o'rnatish bo'yicha qo'llanma
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#…
Tavsiya:
Vision LED xodimlarining barqarorligi: 11 qadam (rasmlar bilan)
Vision LED xodimlarining turg'unligi: Ma'lumki, yorug'lik o'chirilganidan keyin ham, inson ko'zlari " ko'rish " bu soniyaning bir qismi uchun. Bu "Vizyonning barqarorligi" yoki "POV" deb nomlanadi va bu sizga "bo'yash" imkonini beradi. tasmani tez siljitish orqali rasmlar
Micro: bit MU Vision Sensor - Ob'ektlarni kuzatish: 7 qadam
Micro: bit MU Vision Sensor - Ob'ektlarni kuzatish: Shunday qilib, biz bu ko'rsatmaga biz o'rnatadigan Smart Car dasturini o'rnatishni boshlaymiz va MU ko'rish sensorini o'rnatamiz. bir oz oddiy ob'ektlarni kuzatish bilan, shuning uchun
Vision 4all - Visao Assistida tizimi kamchiliklari Visais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 qadam
Vision 4all - Visao Assistida dasturining kamchiliklari Visais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRI & Ccedil à a autonomia para deficientes visuais se locomoverem em ambientes como casas ou savdo markazlari va aeroportlar.A lokomo ç mapeados pode ou n ã o s
Raspberry PI Vision Processor (SpartaCam): 8 qadam (rasmlar bilan)
Raspberry PI Vision Processor (SpartaCam): FIRST Robotics Competition robotingiz uchun Raspberry PI ko'rish protsessor tizimi. FIRST haqida Vikipediya, https://en.wikipedia.org/wiki/FIRST_Robotics_Compe bepul ensiklopediyasi … FIRST Robotics Competition (FRC) - bu xalqaro yuqori darajadagi
Micro: bit MU Vision Sensor - Smart Car -ga o'rnatilgan: 5 qadam
Micro: bit MU Vision Sensor - Smart Car -ga o'rnatilgan: Bu MU ko'rish sensorini biz o'rnatadigan Smart Car -ga o'rnatish bo'yicha qo'llanma. Bu ko'rsatma sizga MU ko'rish sensorini qanday o'rnatishni ko'rsatsa ham, siz boshqa barcha turdagi sensorlarni o'rnatishingiz mumkin. Menda 2 o'qli kamera bor edi