Բովանդակություն:

Smart IoT Vision: 8 քայլ
Smart IoT Vision: 8 քայլ

Video: Smart IoT Vision: 8 քայլ

Video: Smart IoT Vision: 8 քայլ
Video: 🔔 CAMWON︱E27 Bulb Wi-Fi Camera 2024, Հուլիսի
Anonim
Smart IoT Vision
Smart IoT Vision

Սա նախագիծ է, որը կենտրոնացած է խելացի քաղաքի համատեքստում: Այս հարցում մենք լուծում ենք երեք հիմնական խնդիր.

1 - էներգախնայողություն հանրային լուսավորության մեջ. 2 - բարելավել քաղաքի անվտանգությունը. 3 - բարելավել երթևեկի հոսքը:

1 - Փողոցներում օգտագործելով LED լուսարձակներ, խնայողություններն արդեն հասնում են մինչև 50% -ի, իսկ Telemanagement- ի ավելացման դեպքում մենք կարող ենք ունենալ 30% ավելի խնայողություն:

2 - Խելացի տեսախցիկների օգտագործմամբ մենք կարող ենք վերահսկել լույսերը, որպեսզի մարվեն այնտեղ, որտեղ մարդիկ բացակայում են, և լուսավորվի փողոցը, որտեղ մարդիկ քայլում են: Դա ոչ միայն կխնայի էներգիան, այլև կբարձրացնի դիտված լինելու զգացումը, այդպիսով ՝ կվախեցնի վատ մտադրությամբ մարդկանց: Ավելին, կասկածելի վարքագծի դեպքում կարող են օգտագործվել տեսողական ահազանգեր (օրինակ ՝ լամպերը թարթելը):

3 - Խելացի տեսախցիկը հետևելու է երթևեկությանը, տեղում մշակելու դրա պայմանները և վերահսկելու լուսային ազդանշանները `երթևեկը լավագույնս կառավարելու համար: Այս կերպ կարելի էր խուսափել խցանումներից, մեքենաները ստիպված չէին լինի երկար սպասել կարմիր ազդանշաններին, երբ անցումում հոսք չկա և այլն: Ինչ վերաբերում է տեխնոլոգիական խնդիրներին, մենք նաև լուծում ենք IoT- ում տարածված խնդիրները, ինչպիսիք են քաղաքային մասշտաբի ամուր կապը և IoT ցանցի տեսախցիկների ինտեգրումը `օգտագործելով ծայրահեղ մշակումը` միայն համապատասխան տեղեկատվություն փոխանցելու համար:

Տես մեր հրապարակումը Embarcados- ում և GitHub- ում

Նաև YouTube- ում

Մեր թիմը:

Միլթոն Ֆելիպե Սոուզա Սանտոս

Գուստավո Ռետուցի Պինեյրո

Էդուարդո Կալդաս Կարդոսո

Onatոնաթաս Բեյքեր

(Կոնտակտային տվյալներ ներքևում)

Քայլ 1: Համակարգի արգելափակման դիագրամ

Համակարգի արգելափակման դիագրամ
Համակարգի արգելափակման դիագրամ

Սա լուծման ճարտարապետության ակնարկ է:

Համակարգը բաղկացած է Camera-Gateway- ից, որն օգտագործում է RFmesh FAN ինտերֆեյսի վրա, WiFi LAN- ի վրա, ինչպես նաև CAT-M WAN միացման համար: Այն պարունակում է նաև խելացի լուսաբջիջներ, խելացի տեսախցիկներ և լուսային ազդանշաններ:

Devicesանցերի բոլոր սարքերը, հիմնականում ՝ խելացի տեսախցիկը, տվյալները 6lowpan- ով ուղարկում են խելացի դարպաս, այնպես որ այն կարող է որոշումներ կայացնել հանրային լուսավորության և լուսային ազդանշանների կառավարման վերաբերյալ:

Դարպասը նաև VPN- ի միջոցով է միացված մեր սերվերին: Այս կերպ մենք ունենք մուտք դեպի FAN և LAN, բոտ ՝ կարգավիճակը ստուգելու կամ սարքերը վերահսկելու համար:

Քայլ 2: Այս ծրագրի բաղադրիչները

Այս ծրագրի բաղադրիչները
Այս ծրագրի բաղադրիչները
Այս ծրագրի բաղադրիչները
Այս ծրագրի բաղադրիչները
Այս ծրագրի բաղադրիչները
Այս ծրագրի բաղադրիչները

Խելացի տեսախցիկ

- DragonBoard410C/DragonBoard820C

- USB տեսախցիկ

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB տեսախցիկ

- OneRF NIC

- Cat-M/3G մոդեմ

Smart Light ազդանշան

Քայլ 3: Քայլ 2. Շղթայի դիագրամ և միացումներ

Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ
Քայլ 2. Շղթայի դիագրամ և միացումներ

Խելացի տեսախցիկ

- Տեսախցիկ USB պորտի վրա

- OneRF NIC UART նավահանգստում

Camera Gateway

- Տեսախցիկ USB պորտի վրա

- OneRF NIC UART նավահանգստում

- 3G/Cat-M մոդեմ USB պորտում

(Բոլորը կապված են IoT միջնահարկով)

Smart Stree Light

- Պայմանական փողոցային լույս

- Ռելեային տախտակ (3 ալիք)

- OneRF NIC

Smart Photocell

- OneRF NIC

- Էլեկտրաէներգիայի հաշվիչ

Քայլ 4: Տեղադրեք OS- ը DragonBoards- ում

Debian- ի տեղադրում Dragonboard820C- ում (Fastboot մեթոդ)

Linux OS- ի միջոցով տեղադրեք փաթեթները, որոնք նշված են ՝

Վիշապի տախտակի վրա.

make s4 OFF, OFF, OFF, OFF

Միացնել vol (-) սեղմելը

Եթե դուք օգտագործում եք սերիական մոնիտոր (խիստ խորհուրդ է տրվում), դուք կստանաք «fastboot: processing commands» (սերիական մոնիտոր 115200 հասցեով) հաղորդագրությունը, միացրեք micro-usb (J4) համակարգչին

Հյուրընկալող համակարգչի վրա. Ներբեռնեք (և բացեք) ՝ https://www.96boards.org/documentation/consumer/d… կայքից

$ sudo fastboot սարքեր

452bb893 fastboot (օրինակ)

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

$ sudo fastboot ֆլեշ արմատներ linaro-buster-alip-dragonboard-820c-BUILD.img

Debian- ի տեղադրում Dragonboard410C- ում

Քայլեր համակարգչի վրա (Linux)

1 - Ներբեռնեք պատկերը

$ cd

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Բացեք ֆայլերը

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Տեղադրեք microSD ձեր համակարգչի վրա և ստուգեք, արդյոք այն տեղադրված է

$ df -h

/dev/sdb1 7.4G 32K 7.4G 1%/մեդիա/3533-3737

4 - Տեղահանեք microSD- ը և այրեք պատկերը

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = համաժամացման կարգավիճակ = noxfer

5 - Հեռացրեք microSD- ը ձեր համակարգչից

Քայլեր համակարգչում (Windows) Ներբեռնում - SD քարտի պատկեր - (տարբերակ 1) SD քարտի պատկեր - Տեղադրեք և ներբեռնեք eMMC- ից

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

Բացեք SD քարտի տեղադրման պատկերը

Ներբեռնեք և տեղադրեք Win32DiskImager գործիքը

sourceforge.net/projects/win32diskimager/f…

Բացեք Win32DiskImager գործիքը

Տեղադրեք SD քարտը համակարգչում

Գտեք արդյունահանված.img ֆայլը

Կտտացրեք Գրեք

Քայլեր Dragonboard- ում Համոզվեք, որ DragonBoard ™ 410c- ն անջատված է հոսանքից

Սահմանեք S6 անջատիչը DragonBoard ™ 410c- ի վրա 0-1-0-0, «SD Boot switch»-ը պետք է սահմանվի «ON»:

Միացրեք HDMI- ին

Միացրեք USB ստեղնաշարը

Տեղադրեք microSD

Միացրեք հոսանքի ադապտեր

Ընտրեք տեղադրման պատկերը և կտտացրեք «Տեղադրեք»

սպասեք տեղադրման ավարտին

Հեռացրեք հոսանքի ադապտերը

Հեռացրեք microSD- ը

Սահմանել S6 անջատիչը 0-0-0-0

ԿԱՏԱՐԱԾ

Քայլ 5: Միացման միջերեսներ

Տեղադրելով Cat-m և 3G

Կիրառեք AT- ի հետևյալ հրամանները ՝ օգտագործելով հյուրընկալող մեքենա

#SIMDET- ով? // ստուգեք SIM- ի առկայությունը#SIMDET: 2, 0 // SIM քարտը տեղադրված չէ

#SIMDET: 2, 1 // SIM տեղադրված է

AT+CREG? // ստուգեք, արդյոք գրանցված է

+CREG: 0, 1 // (անջատել ցանցի գրանցման չցանկացած արդյունքի կոդը (գործարանային լռելյայն), գրանցված տնային ցանց)

AT+COPS?

+COPS ՝ 0, 0, «VIVO», 2 // (ռեժիմ = ավտոմատ ընտրություն, ձևաչափ = այբբենական, օպերատոր,?)

AT+CPAS // Հեռախոսի գործունեության կարգավիճակ

+CPAS: 0 // պատրաստ է

AT+CSQ // ստուգեք ծառայության որակը

+CSQ: 16, 3 // (rssi, բիտ սխալի տոկոսադրույք)

AT+CGATT? // GPRS հավելվածի վիճակը

+CGATT: 1 // կցվում է

AT+CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // կարգավորել համատեքստը

լավ

AT+CGDCONT? // ստուգեք համատեքստը

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

AT#SGACT = 1, 1 // Համատեքստի ակտիվացում

#SGACT: 100.108.48.30

լավ

Կարգավորեք միջերեսը

Օգտագործելով գրաֆիկական միջավայր

Միացրեք մոդեմը (oneRF_Modem_v04 - HE910)

Բացեք ցանցային կապերը

Կտտացրեք + ՝ նոր կապ ավելացնելու համար

Ընտրեք Շարժական լայնաշերտ

Ընտրեք ճիշտ սարքը

Ընտրեք Երկիրը

Ընտրեք մատակարարը

Ընտրեք ծրագիրը և պահեք

Հեռացրեք մոդեմը

Միացրեք մոդեմը

Օգտագործելով terminalapt-get install pppconfig

pppconfig

մատակարար = vivo

դինամիկո

CHAP

vivo

vivo

115200

Տոննա

*99#

ոչ (ձեռնարկ)

/dev/ttyUSB0

խնայել

կատու/etc/ppp/հասակակիցներ/vivo

cat/etc/chatscripts/vivo

պոն վիվո

Եթե դուք օգտագործում եք Cat-M մոդուլ, ապա նախքան օգտագործեք հետևյալ հրամանները

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

apt-get install comgt

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

Քայլ 6: Հիմնական ծրագրաշարի մոդուլների տեղադրում

Theարգացման համակարգչի վրա

Նկատի ունեցեք, որ որոշ քայլեր կախված են ապարատից և պետք է ճշգրտվեն `համապատասխանելու ձեր համակարգչի իրական բնութագրերին: Գրադարանները կարող են տեղադրվել մեկ հրամանով:

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 openmpi-bin opnempi-doc protobuf python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

Այս շրջանակը օգտագործվում է զարգացման մեքենայի վրա պատկերների վրա հիմնված վիճակագրական ալգորիթմներ մշակելու համար: Քանի որ մեր ծածկագրի մեծ մասը գրված է Python- ում, տեղադրման ամենահեշտ մեթոդը պարզապես

pip տեղադրել opencv-python

Այնուամենայնիվ, նշեք, որ այս անիվները ձեր պրոցեսորից բացի ոչինչ չեն օգտագործի և նույնիսկ չեն կարող օգտագործել դրա բոլոր միջուկները, ուստի գուցե ցանկանաք կազմել սկզբնաղբյուրից `առավելագույն կատարման հասնելու համար: Օրինակ ՝ Linux- ում փաթեթը կառուցելու համար դուք բեռնում եք zip ֆայլը OpenCV թողարկումների էջից և այն բացում: Անջատված թղթապանակից.

mkdir build && cd buildcmake.. կատարել բոլորը -j4

sudo make install

-J4 հրամանի հրահանգները ստիպում են օգտագործել չորս թել: Օգտագործեք այնքան, որքան ունի ձեր պրոցեսորը:

Կոֆե

Caffe շրջանակը աղբյուրներից կարգավորելու համար.

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

սմեկ..

պատրաստել բոլորը

make test make runtest

Եթե բոլոր թեստերը հաջողությամբ են ընթանում, ապա ամեն ինչ պատրաստ է:

TensorFlow

Google- ը թույլ չի տալիս TensorFlow- ը կազմել սովորական գործիքներով: Դրա համար պահանջվում է Բազել, և, ամենայն հավանականությամբ, այն չի աշխատի, այնպես որ խուսափեք այն կազմելուց և պարզապես գրավեք նախապես կազմված մոդուլը ՝

pip տեղադրել tensorflow

Եթե ձեր համակարգիչը մի փոքր հին է և չունի AVX հրահանգներ, ստացեք վերջին ոչ AVX tensorflow- ը

pip տեղադրել tensorflow == 1.5

Եվ դուք ավարտեցիք:

SNPE - Snapdragon ™ Նյարդային մշակման շարժիչ

Snappy- ի կարգավորումը, ինչպես մեր Qualcomm ընկերներն են անվանում SNPE, դժվար չէ, բայց քայլերը պետք է ուշադիր հետևել: Տեղադրման ուրվագիծը հետևյալն է.

կլոնավորել նյարդային ցանցի շրջանակների git շտեմարանները

CaffeCaffe2

TensorFlow

ONNX

գործարկեք սցենարները, որպեսզի ստուգեքpendenciessnpe/bin/dependencies.sh- ը

snpe/bin/check_python_depends.sh

յուրաքանչյուր տեղադրված շրջանակի համար գործարկեք snpe/bin/envsetup.sh

աղբյուր $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

աղբյուր $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

աղբյուր $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

աղբյուր $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

SNPE- ի աղբյուրը յուրաքանչյուր բացվող տերմինալում ավելացրեք երրորդ քայլի չորս տողերը ձեր ~/.bashrc ֆայլի վերջում:

Թիրախային տախտակի վրա

Amd64- ից arm64- ին անցնելը հեշտ աշխատանք չէ, քանի որ շատ գրադարաններ կօգտվեն x86 հրահանգներից `իրենց կատարողականությունը բարձրացնելու համար: Բարեբախտաբար, հնարավոր է անհրաժեշտ ռեսուրսների մեծ մասը կազմել հենց տախտակի վրա: Անհրաժեշտ գրադարանները կարող են տեղադրվել մեկ հրամանով:

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 openmpi-bin opnempi-doc protobuf python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

Տեղադրեք դրանք apt- ով և շարունակեք: Նկատի ունեցեք, որ այս քայլը կարող է որոշ ժամանակ տևել, քանի որ համապատասխան զանգերը կատարում են նախապես կազմված ծածկագիրը կառուցելու համար:

OpenCV

Ներբեռնեք թողարկումը OpenCV պահոցից, տեղահանեք այն ինչ -որ տեղ և չփակված թղթապանակից.

mkdir build && cd buildcmake..

կատարել բոլորը -j3

sudo make install

Նշենք, որ մենք օգտագործել ենք -j3 տարբերակը: Եթե դուք մուտք եք գործում տախտակ ssh- ի միջոցով, բոլոր միջուկները ամբողջությամբ բեռնված լինելը կարող է բավական լինել կապը դադարեցնելու համար: Դա ցանկալի չէ: Թելերի օգտագործումը երեքով սահմանափակելով, մենք միշտ կունենանք առնվազն մեկ անվճար թել `ssh կապերին և ընդհանուր համակարգի տնային տնտեսությանը դիմակայելու համար:

Սա Dragonboard 820- ի և Inforce 6640- ի համար է ՝ APQ8096 չիպով: Dragonboard 410 -ում դուք կցանկանաք ունենալ ազատ վիրտուալ հիշողություն կամ սահմանափակել կազմված թելերը մեկով, քանի որ այն ունի ավելի քիչ ֆիզիկական RAM:

Նաև նշենք, որ չիպի սառեցումը կնպաստի կատարողականի բարձրացմանը `սահմանափակելով ջերմային շնչափողը: Heեռուցիչը հնարք է կատարում փոքր բեռների դեպքում, բայց դուք կցանկանաք ունենալ համապատասխան օդափոխիչ `CPU- ի և այլ ինտենսիվ բեռների հավաքման համար:

Ինչու՞ տեղադրել OpenCV- ն apt- ով կամ pip- ով: Քանի որ այն թիրախային մեքենայի մեջ հավաքելը տեսանելի է դարձնում յուրաքանչյուր մատչելի պրոցեսորի հրահանգը կազմողի համար ՝ բարելավելով կատարման կատարողականը:

SNPE - Snapdragon ™ Նյարդային մշակման շարժիչ

Մենք Snappy- ը տեղադրեցինք այնպես, ինչպես աշխատասեղանի համակարգչի վրա, չնայած որ տեղադրված չէր նեյրոնային ցանցի իրական շրջանակ (SNPE- ին անհրաժեշտ են միայն git repos, այլ ոչ թե իրական երկուական ֆայլերը):

Այնուամենայնիվ, քանի որ մեզ անհրաժեշտ են երկուական ֆայլերն ու վերնագրերը snpe-net-run հրամանի համար, կա հավանականություն, որ թղթապանակում պարզապես ունենալ հետևյալ ֆայլերը և այս թղթապանակը ավելացնել PATH- ին.

Նյարդային ցանց binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

Պրոցեսորի գրադարաններ

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 գրադարաններ

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Արդյունքների դիտիչ

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Համարձակ կետը ՝ /usr/lib/aarch64-linux-gnu/libatomic.so.1, տրամադրված է Լինարոյի հետ այս ճանապարհին և պետք է պատճենվի այս հիպոթետիկ նվազագույն թղթապանակում:

Այլ կարևոր փաթեթներ.

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

sudo apt տեղադրել nodejs

sudo apt տեղադրել openvpn

Քայլ 7: rationուցադրություն

Տեսեք Smart IoT Vision- ի խելացի քաղաքի աշխատանքի կարճ ցուցադրումը !!

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

Քայլ 8: Շնորհակալություն

Շնորհակալություն ենք հայտնում Qualcomm թիմին և Embarcados- ին ՝ մրցույթը ստեղծելու և աջակցելու համար:

Ազատ զգալ կապվեք մեզ հետ ՝

Հղումներ

Dragonboard 410c- ի տեղադրման ուղեցույց Linux- ի և 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/

Խորհուրդ ենք տալիս: