Mundarija:

Smart IoT Vision: 8 qadam
Smart IoT Vision: 8 qadam

Video: Smart IoT Vision: 8 qadam

Video: Smart IoT Vision: 8 qadam
Video: Top 10 IoT Projects 2023 | Smart IoT Projects | Applications Of IoT | Simplilearn 2024, Noyabr
Anonim
Smart IoT Vision
Smart IoT Vision

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

Tizim blok diagrammasi
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

Ushbu loyiha uchun komponentlar
Ushbu loyiha uchun komponentlar
Ushbu loyiha uchun komponentlar
Ushbu loyiha uchun komponentlar
Ushbu loyiha uchun komponentlar
Ushbu loyiha uchun komponentlar

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

2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
2 -qadam: O'chirish diagrammasi va ulanishlar
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: