Mündəricat:

Smart IoT Vision: 8 addım
Smart IoT Vision: 8 addım

Video: Smart IoT Vision: 8 addım

Video: Smart IoT Vision: 8 addım
Video: Настройка и подключение уличной WiFi камеры приложение ICSee от SMART XATA 2024, Noyabr
Anonim
Smart IoT Vision
Smart IoT Vision

Bu, ağıllı şəhər kontekstinə yönəlmiş bir layihədir. Bu mövzuda həll etdiyimiz üç əsas problem var:

1 - ictimai işıqlandırmada enerjiyə qənaət; 2 - şəhər təhlükəsizliyinin yaxşılaşdırılması; 3 - nəqliyyat axınının yaxşılaşdırılması.

1 - Küçələrdə LED işıqları istifadə edərək qənaətlər artıq 50% -ə qədərdir və Telemanagement ilə 30% daha çox qənaət edə bilərik.

2 - Ağıllı kameraların istifadəsi ilə insanların getmədiyi yerlərdə işıqları söndürə bilərik və insanların getdiyi küçə hissəsini daha parlaq edə bilərik. Yalnız enerjiyə qənaət etməyəcək, həm də izlənmə hissini artıracaq, beləliklə pis niyyətli insanları qorxudacaq. Bundan əlavə, şübhəli davranış halında vizual həyəcan siqnalları (məsələn, lampaların yanıb -sönməsi) istifadə edilə bilər.

3 - Ağıllı kamera, trafiki ən yaxşı şəkildə idarə etmək üçün trafiki izləyəcək, yerli şəraitini işləyəcək və işıq siqnallarını idarə edəcək. Bu yolla tıxacların qarşısını almaq olardı, keçiddə axın olmadığı zaman avtomobillər qırmızı siqnalları uzun müddət gözləməli olmazdı və s. Texnoloji problemlərə gəldikdə, yalnız müvafiq məlumatları ötürmək üçün kənar emaldan istifadə edərək IoT -də şəhər miqyasında möhkəm əlaqə və IoT Şəbəkəsi üçün kamera inteqrasiyası kimi ümumi problemləri həll edirik.

Embarcados və GitHub üzərindəki nəşrimizə baxın

YouTube -da da

Bizim komanda:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Əlaqə məlumatları aşağıda)

Addım 1: Sistem Blok Şeması

Sistem Blok Şeması
Sistem Blok Şeması

Bu həll memarlığına ümumi bir baxışdır.

Sistem, FAN interfeysində RFmesh, LANda WiFi və WAN bağlantısı üçün CAT-M istifadə edən Kamera Ağ Geçidindən ibarətdir. Ayrıca ağıllı fotosellər, Ağıllı Kameralar və işıq siqnalları da var.

Şəbəkədəki bütün cihazlar, əsasən ağıllı kamera, məlumatları 6lowpan vasitəsilə ağıllı ağ geçidinə göndərir, buna görə də ictimai işıqlandırma və işıq siqnallarının idarə edilməsi ilə bağlı qərarlar qəbul edə bilər.

Ağ geçidi də VPN vasitəsilə serverimizə bağlıdır. Bu şəkildə, cihazların vəziyyətini yoxlamaq və ya idarə etmək üçün FAN və LAN, bota daxil oluruq.

Addım 2: Bu Layihənin Komponentləri

Bu Layihə üçün Komponentlər
Bu Layihə üçün Komponentlər
Bu Layihə üçün Komponentlər
Bu Layihə üçün Komponentlər
Bu Layihə üçün Komponentlər
Bu Layihə üçün Komponentlər

Ağıllı Kamera

- DragonBoard410C/DragonBoard820C

- USB Kamera

- OneRF NIC

Kamera Ağ Geçidi

- DragonBoard410C/DragonBoard820C

- USB Kamera

- OneRF NIC

- Cat-M/3G modemi

Ağıllı İşıq Siqnalı

Addım 3: Adım 2: Dövrə Diaqramı və Bağlantılar

Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar
Addım 2: Dövrə Diaqramı və Bağlantılar

Ağıllı Kamera

- USB portunda kamera

- UART limanında OneRF NIC

Kamera Ağ Geçidi

- USB portunda kamera

- UART limanında OneRF NIC

- USB portunda 3G/Cat-M modemi

(Hamısı IoT Mezzanine ilə bağlıdır)

Ağıllı ağac işığı

- Adi küçə işığı

- Röle lövhəsi (3 kanal)

- OneRF NIC

Ağıllı Fotosel

- OneRF NIC

- Güc Ölçən

Addım 4: OS -ni DragonBoards -a quraşdırın

Debian -ı Dragonboard820C -də quraşdırın (Fastboot Metodu)

Linux OS istifadə edərək, aşağıda göstərilən paketləri quraşdırın:

Əjdaha taxtasında:

s4 OFF, OFF, OFF, OFF etmək

Vol (-) düyməsini basın

Serial monitordan istifadə edirsinizsə (çox tövsiyə olunur), "fastboot: emal əmrləri" mesajını alacaqsınız (115200-də seriyalı monitor) Mikro usb-i (J4) PC-yə qoşun.

Ana kompüterdə: https://www.96boards.org/documentation/consumer/d… yükləyin (və açın).

$ sudo fastboot cihazları

452bb893 fastboot (nümunə)

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

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

Debian -ı Dragonboard410C -də quraşdırın

Kompüterdəki addımlar (Linux)

1 - Şəkli yükləyin

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Faylları açın

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - microSD -ni kompüterinizə daxil edin və quraşdırıldığını yoxlayın

$ df -h

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

4 - microSD -ni ayırın və görüntünü yandırın

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = sync status = noxfer

5 - microSD -ni kompüterinizdən çıxarın

Kompüterdəki addımlar (Windows) Yükləmə - SD Kart görüntüsü - (Seçim 1) SD Kart Şəkli - eMMC -dən quraşdırın və yükləyin

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

SD Kart Quraşdırma Şəkilini açın

Win32DiskImager alətini yükləyin və quraşdırın

sourceforge.net/projects/win32diskimager/f…

Win32DiskImager alətini açın

SD kartı kompüterə daxil edin

Ayıklanan.img faylını tapın

Yazın üzərinə basın

Dragonboard üzərindəki addımlar DragonBoard ™ 410c -nin elektrikdən ayrıldığından əmin olun

DragonBoard ™ 410c üzərindəki S6 açarını 0-1-0-0 olaraq təyin edin, "SD Yükləmə açarı" "ON" olaraq təyin edilməlidir.

Bir HDMI bağlayın

USB klaviatura bağlayın

MicroSD daxil edin

Güc adapteri

Qurulacaq şəkli seçin və "Quraşdır" düyməsini basın

quraşdırmanın bitməsini gözləyin

Güc adapterini çıxarın

MicroSD -ni çıxarın

S6 keçidini 0-0-0-0 olaraq təyin edin

BİTDİ

Addım 5: Bağlantı Arayüzləri

Cat-m və 3G-nin quraşdırılması

Bir ana maşın istifadə edərək aşağıdakı AT əmrlərini tətbiq edin:

#SIMDET -də? // SIM varlığını yoxlayın#SIMDET: 2, 0 // sim daxil edilməyib

#SIMDET: 2, 1 // sim daxil edildi

AT+CREG? // qeydiyyat olub olmadığını yoxlayın

+CREG: 0, 1 // (şəbəkə qeydiyyatını istənməyən nəticə kodunu deaktiv edin (fabrika standartı), qeydiyyatdan keçmiş ev şəbəkəsi)

AT+COPS?

+COPS: 0, 0, "VIVO", 2 // (rejim = avtomatik seçim, format = alfasayısal, oper,?)

AT+CPAS // Telefon Fəaliyyət Vəziyyəti

+CPAS: 0 // hazırdır

AT+CSQ // xidmət keyfiyyətini yoxlayın

+CSQ: 16, 3 // (rssi, bit səhv dərəcəsi)

AT+CGATT? // GPRS qoşma vəziyyəti

+CGATT: 1 // əlavə olunur

AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // konteksti konfiqurasiya edin

tamam

AT+CGDCONT? // konteksti yoxlayın

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

AT#SGACT = 1, 1 // Kontekst Aktivləşdirilməsi

#SGACT: 100.108.48.30

tamam

İnterfeys qurun

Qrafik mühitdən istifadə

Modemi qoşun (oneRF_Modem_v04 - HE910)

Şəbəkə Bağlantılarını açın

Yeni əlaqə əlavə etmək üçün + düyməsini basın

Mobil Genişzolaqlı seçin

Doğru cihazı seçin

Ölkəni seçin

Provayder seçin

Planı seçin və Saxla

Modemi çıxarın

Modemi yenidən qoşun

Terminalapt-get install pppconfig istifadə edərək

pppconfig

təminatçı = vivo

dinamika

ÇAP

vivo

vivo

115200

Səs

*99#

yox (dərslik)

/dev/ttyUSB0

yadda saxla

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Cat-M modulundan istifadə edirsinizsə, əvvəl aşağıdakı əmrləri istifadə edin:

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

apt-get comgt yükləyin

comgt -d /dev /ttyUSB0 comgt məlumatı -d /dev /ttyUSB0

Addım 6: Əsas Proqram Modullarının Qurulması

İnkişaf kompüterində

Unutmayın ki, bəzi addımlar aparatdan asılıdır və faktiki kompüter spesifikasiyalarınıza uyğun olaraq tənzimlənməlidir. Kitabxanalar tək bir əmrlə quraşdırıla bilər.

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 open-comp-cip-faylları python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

Bu çərçivə, inkişaf maşınında görüntü əsaslı statistik alqoritmlər hazırlamaq üçün istifadə olunur. Kodumuzun çoxu Python -da yazıldığından, ən asan quraşdırma üsulu sadəcə etməkdir

opencv-python quraşdırın

Ancaq unutmayın ki, bu təkərlər CPU -dan başqa heç nə istifadə etməyəcək və hətta bütün nüvələrini belə istifadə edə bilməz, buna görə də maksimum performans əldə etmək üçün mənbədən tərtib etmək istəyə bilərsiniz. Paketi Linux -da qurmaq üçün, OpenCV Releases səhifəsindən zip faylını yükləyin və açın. Açılmamış qovluqdan:

mkdir build && cd buildcmake.. hamısını düzəldin -j4

sudo qurun

-J4 əmri dörd mövzu istifadə etməyi əmr edir. CPU -nun olduğu qədər istifadə edin!

Kafe

Mənbələrdən Caffe çərçivəsini qurmaq üçün:

git clone https://github.com/BVLC/caffe.git && cd caffemkdir qurmaq

vallah..

hamısını düzəlt

test etmək runtest etmək

Bütün testlər uğurla keçərsə, hər şey hazırdır.

TensorFlow

Google adi vasitələrlə TensorFlow tərtib etməyinizə icazə vermir. Bunun üçün Bazel tələb olunur və işləməyəcəyi ehtimalı var, buna görə onu tərtib etməkdən çəkinin və əvvəlcədən tərtib edilmiş modulu götürün:

pip tensorflow quraşdırın

Kompüteriniz bir qədər köhnədirsə və AVX təlimatları yoxdursa, son AVX olmayan tensorflow-u əldə edin

pip quraşdırma tensorflow == 1.5

Və bitirdiniz.

SNPE - Snapdragon ™ Sinir İşləmə Mühərriki

Qualcomm dostlarımızın SNPE adlandırdıqları kimi Snappy qurmaq çətin deyil, amma addımlar yaxından təqib edilməlidir. Quraşdırma konturu belədir:

sinir şəbəkəsi çərçivələrinin git depolarını klonlayın

CaffeCaffe2

TensorFlow

ONNX

dependenciessnpe/bin/dependencies.sh olub olmadığını yoxlamaq üçün skriptləri işə salın

snpe/bin/check_python_depends.sh

hər quraşdırılmış çərçivə üçün snpe/bin/envsetup.sh işləyin

mənbə $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

mənbə $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

mənbə $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

mənbə $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

Açdığınız hər bir terminal nümunəsində SNPE əldə etmək üçün ~/.bashrc faylınızın sonuna üçüncü addımın dörd sətrini əlavə edin.

Hədəf lövhəsində

Arm64 -ə amd64 -dən keçmək çox çətin bir iş deyil, çünki bir çox kitabxana performansını artırmaq üçün x86 təlimatlarından istifadə edəcək. Xoşbəxtlikdən, lazım olan mənbələrin çoxunu lövhənin özündə toplamaq mümkündür. Lazım olan kitabxanalar tək bir əmrlə quraşdırıla bilər.

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 open-comp-cip-faylları python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

Onları apt ilə quraşdırın və davam edin. Uyğun zənglərin əvvəlcədən tərtib edilməmiş kodu qurmağa başladığı üçün bu addım bir az vaxt ala bilər.

OpenCV

Açığı OpenCV deposundan yükləyin, bir yerdə və açılmamış qovluqdan açın:

mkdir build & cd buildcmake..

hamısını düzəlt -j3

sudo qurun

-J3 seçimindən istifadə etdiyimizi unutmayın. Lövhəyə ssh vasitəsilə daxil olsanız, bütün nüvələrin tam yüklənməsi əlaqəni kəsmək üçün kifayət ola bilər. Bu arzuolunan deyil. Mövzu istifadəsini üç ilə məhdudlaşdıraraq, ssh əlaqələri və ümumi sistem təmizliyi ilə öhdəsindən gəlmək üçün həmişə ən azı bir pulsuz ipimiz olacaq.

Bu APQ8096 çipli Dragonboard 820 və Inforce 6640 üçündür. Dragonboard 410 -da, daha az fiziki RAM olduğu üçün bir az pulsuz virtual yaddaşa sahib olmaq və ya kompilyasiya mövzularını bir ilə məhdudlaşdırmaq istəyəcəksiniz.

Çipin soyudulmasının istilik tənzimləməsini məhdudlaşdıraraq performansı artırmağa kömək edəcəyi də diqqət çəkir. Bir soyuducu kiçik yüklərdə hiylə qurur, ancaq kompilyasiya və digər CPU intensiv yüklər üçün uyğun bir fan istəyəcəksiniz.

Niyə OpenCV -ni apt və ya pip ilə qurmursunuz? Hədəf maşında tərtib etmək, hər bir mövcud prosessor təlimatını tərtibçi üçün görünən hala gətirərək icra performansını artırır.

SNPE - Snapdragon ™ Sinir İşləmə Mühərriki

Həqiqi bir neyron şəbəkə çərçivəsi olmamasına baxmayaraq, Snappy -ni bir masa üstü kompüterdə olduğu kimi qurduq (SNPE -yə faktiki ikili fayllar deyil, yalnız git repoları lazımdır).

Ancaq ehtiyac duyduğumuz şey, snpe-net-run əmri üçün ikili fayllar və başlıqlar olduğundan, aşağıdakı faylları bir qovluqda saxlamaq və bu qovluğu PATH-ə əlavə etmək ehtimalı var:

Sinir şəbəkəsi binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU kitabxanaları

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 kitabxanaları

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Nəticələrə baxan

snpe/modeller/alexnet/scripts/show_alexnet_classifications.py

Qalın maddə, /usr/lib/aarch64-linux-gnu/libatomic.so.1, bu yolda Linaro ilə təmin edilmişdir və bu hipotetik minimal qovluğa kopyalanmalıdır.

Digər təsirsiz paketlər:

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

sudo apt nodejs quraşdırın

sudo apt install openvpn

Addım 7: Nümayiş

Smart City işləmək üçün Smart IoT Vision-un qısa bir nümayişinə baxın!

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

Addım 8: Təşəkkür edirəm

Müsabiqəni yaradan və dəstəkləyən Qualcomm komandasına və Embarcados'a təşəkkür edirik.

Bizimlə əlaqə saxlamaqdan çekinmeyin:

İstinadlar

Linux və Android üçün Dragonboard 410c Quraşdırma Kılavuzu

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/

Tövsiyə: