สารบัญ:

วิสัยทัศน์ Smart IoT: 8 ขั้นตอน
วิสัยทัศน์ Smart IoT: 8 ขั้นตอน

วีดีโอ: วิสัยทัศน์ Smart IoT: 8 ขั้นตอน

วีดีโอ: วิสัยทัศน์ Smart IoT: 8 ขั้นตอน
วีดีโอ: รายการ Internet IT บทที่ 8 Internet Of Thing (IoT) 2024, กรกฎาคม
Anonim
สมาร์ท IoT วิสัยทัศน์
สมาร์ท IoT วิสัยทัศน์

นี่เป็นโครงการที่เน้นบริบทเมืองอัจฉริยะ ในเรื่องนี้มีสามปัญหาใหญ่ที่เรากำลังแก้ไข:

1 – การประหยัดพลังงานในแสงสว่างสาธารณะ 2 – ปรับปรุงการรักษาความปลอดภัยของเมือง; 3 – ปรับปรุงการไหลของการจราจร

1 – ด้วยการใช้ไฟ LED บนถนน ประหยัดได้ถึง 50% และด้วยการเพิ่มการจัดการทางไกล เราสามารถประหยัดได้มากขึ้น 30%

2 – ด้วยการใช้กล้องอัจฉริยะ เราสามารถควบคุมไฟให้หรี่ลงในที่ที่ผู้คนไม่อยู่ และทำให้ส่วนถนนสว่างขึ้นในจุดที่ผู้คนกำลังเดิน นอกจากจะประหยัดพลังงานแล้ว ยังให้ความรู้สึกเหมือนมีคนจับตามองอีกด้วย ทำให้ข่มขู่คนคิดร้ายได้ นอกจากนี้ อาจใช้สัญญาณเตือนภาพ (เช่น ไฟกะพริบ) ได้ในกรณีที่มีพฤติกรรมที่น่าสงสัย

3 – กล้องอัจฉริยะจะคอยดูการจราจร ประมวลผลสภาพในพื้นที่ และควบคุมสัญญาณไฟเพื่อจัดการการจราจรได้ดีที่สุด ด้วยวิธีนี้สามารถหลีกเลี่ยงรถติดได้ รถยนต์ไม่ต้องรอสัญญาณสีแดงเป็นเวลานานเมื่อไม่มีน้ำไหลผ่าน เป็นต้น เกี่ยวกับปัญหาทางเทคโนโลยี เรากำลังแก้ไขปัญหาทั่วไปใน IoT เช่น การเชื่อมต่อที่แข็งแกร่งในระดับเมืองและการรวมกล้องสำหรับเครือข่าย IoT โดยใช้การประมวลผลแบบขอบเพื่อส่งข้อมูลที่เกี่ยวข้องเท่านั้น

ดูสิ่งพิมพ์ของเราเกี่ยวกับ Embarcados และ GitHub

บน YouTube ด้วย

ทีมงานของเรา:

มิลตัน เฟลิเป้ ซูซ่า ซานโตส

Gustavo Retuci Pinheiro

เอดูอาร์โด กัลดัส คาร์โดโซ

โจนาธาส เบเกอร์

(ข้อมูลติดต่อด้านล่าง)

ขั้นตอนที่ 1: ไดอะแกรมบล็อกระบบ

ไดอะแกรมบล็อกระบบ
ไดอะแกรมบล็อกระบบ

นี่คือภาพรวมของสถาปัตยกรรมโซลูชัน

ระบบประกอบด้วย Camera-Gateway ที่ใช้ RFmesh บนอินเทอร์เฟซ FAN, WiFi บน LAN และ CAT-M สำหรับการเชื่อมต่อ WAN นอกจากนี้ยังมีโฟโตเซลล์อัจฉริยะ กล้องอัจฉริยะ และสัญญาณไฟ

อุปกรณ์ทั้งหมดในเครือข่ายซึ่งส่วนใหญ่เป็นกล้องอัจฉริยะกำลังส่งข้อมูลผ่าน 6lowpan ไปยังเกตเวย์อัจฉริยะ จึงสามารถตัดสินใจเกี่ยวกับการควบคุมไฟสาธารณะและสัญญาณไฟได้

เกตเวย์ยังเชื่อมต่อกับเซิร์ฟเวอร์ของเราผ่าน VPN ในลักษณะนี้ เราสามารถเข้าถึง FAN และ LAN บอทสำหรับตรวจสอบสถานะหรือควบคุมอุปกรณ์ได้

ขั้นตอนที่ 2: ส่วนประกอบสำหรับโครงการนี้

ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้

สมาร์ทแคม

- DragonBoard410C/DragonBoard820C

- กล้อง USB

- OneRF NIC

เกตเวย์กล้อง

- DragonBoard410C/DragonBoard820C

- กล้อง USB

- OneRF NIC

- โมเด็ม Cat-M/3G

สัญญาณไฟอัจฉริยะ

ขั้นตอนที่ 3: ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ

ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ
ขั้นตอนที่ 2: แผนภาพวงจรและการเชื่อมต่อ

สมาร์ทแคม

- กล้องบนพอร์ต USB

- OneRF NIC ที่พอร์ต UART

เกตเวย์กล้อง

- กล้องบนพอร์ต USB

- OneRF NIC ที่พอร์ต UART

- โมเด็ม 3G/Cat-M ที่พอร์ต USB

(ทั้งหมดเชื่อมต่อกันด้วย IoT Mezzanine)

สมาร์ท สตรีท ไลท์

- ไฟถนนธรรมดา

- แผงรีเลย์ (3 ช่อง)

- OneRF NIC

ตาแมวอัจฉริยะ

- OneRF NIC

- เครื่องวัดพลังงาน

ขั้นตอนที่ 4: ติดตั้งระบบปฏิบัติการบน DragonBoards

การติดตั้ง Debian บน Dragonboard820C (วิธี Fastboot)

ใช้ระบบปฏิบัติการ Linux ติดตั้งแพ็คเกจที่ระบุไว้ใน:

บนกระดานมังกร:

ทำให้ s4 ปิด, ปิด, ปิด, ปิด

เปิดการกด vol (-)

หากคุณใช้จอภาพแบบอนุกรม (แนะนำเป็นอย่างยิ่ง) คุณจะได้รับข้อความ “fastboot: processing commands” (การตรวจสอบซีเรียลที่ 115200) เชื่อมต่อ micro-usb (J4) บนพีซี

บนโฮสต์พีซี:ดาวน์โหลด (และเปิดเครื่องรูด) จาก

$ sudo อุปกรณ์ fastboot

452bb893 fastboot (ตัวอย่าง)

$ sudo fastboot บูตแฟลช boot-linaro-buster-dragonboard-820c-BUILD.img

$ sudo fastboot แฟลช rootfs 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? // ตรวจสอบสถานะซิม#SIMDET: 2, 0 // ไม่ได้ใส่ซิม

#SIMDET: 2, 1 // ใส่ซิมแล้ว

AT+CREG? //ตรวจสอบว่าลงทะเบียนแล้วหรือไม่

+CREG: 0, 1 //(ปิดการใช้งานการลงทะเบียนเครือข่ายรหัสผลลัพธ์ที่ไม่พึงประสงค์ (ค่าเริ่มต้นจากโรงงาน), เครือข่ายในบ้านที่ลงทะเบียน)

AT + ตำรวจ?

+COPS: 0, 0,”VIVO”, 2 // (mode = ตัวเลือกอัตโนมัติ, รูปแบบ = ตัวอักษรและตัวเลข, oper, ?)

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

dinamico

CHAP

ร่างกาย

ร่างกาย

115200

โทน

*99#

ไม่ (ด้วยตนเอง)

/dev/ttyUSB0

บันทึก

cat /etc/ppp/peers/vivo

cat /etc/chatscripts/vivo

ปอน วีโว่

หากคุณกำลังใช้โมดูล Cat-M เพียงใช้คำสั่งต่อไปนี้ก่อน:

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

apt-get ติดตั้ง comgt

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

ขั้นตอนที่ 6: การติดตั้งโมดูลซอฟต์แวร์ที่จำเป็น

ในการพัฒนาคอมพิวเตอร์

โปรดทราบว่าบางขั้นตอนขึ้นอยู่กับฮาร์ดแวร์และควรปรับให้ตรงตามข้อกำหนดคอมพิวเตอร์จริงของคุณ ไลบรารีสามารถติดตั้งได้ด้วยคำสั่งเดียว

sudo apt ติดตั้ง 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-buf คอมไพล์ pro python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

เฟรมเวิร์กนี้ใช้ในการพัฒนาอัลกอริธึมทางสถิติตามรูปภาพบนเครื่องพัฒนา เนื่องจากโค้ดของเราส่วนใหญ่เขียนด้วย Python วิธีการติดตั้งที่ง่ายที่สุดคือเพียงแค่

pip ติดตั้ง opencv-python

อย่างไรก็ตาม โปรดทราบว่าวงล้อเหล่านี้จะไม่ใช้สิ่งใดนอกจาก CPU ของคุณ และอาจไม่ได้ใช้แกนประมวลผลทั้งหมด ดังนั้นคุณอาจต้องการคอมไพล์จากแหล่งที่มาเพื่อให้ได้ประสิทธิภาพสูงสุด ตัวอย่างเช่น ในการสร้างแพ็คเกจใน Linux คุณดาวน์โหลดไฟล์ zip จากหน้า OpenCV Releases แล้วคลายซิป จากโฟลเดอร์ที่คลายซิป:

mkdir build && cd buildcmake.. ทำทั้งหมด -j4

sudo ทำการติดตั้ง

คำสั่ง -j4 สั่งให้ make ใช้สี่เธรด ใช้มากที่สุดเท่าที่ CPU ของคุณมี!

คาเฟ่

ในการตั้งค่าเฟรมเวิร์ก Caffe จากแหล่งที่มา:

โคลน git https://github.com/BVLC/caffe.git && cd caffemkdir build

ซีเมค..

ทำทุกอย่าง

ทำการทดสอบ ทำ runtest

หากการทดสอบทั้งหมดทำงานสำเร็จ แสดงว่าคุณพร้อมแล้ว

TensorFlow

Google ไม่อนุญาตให้คุณรวบรวม TensorFlow ด้วยเครื่องมือทั่วไป มันต้องใช้ Bazel สำหรับมันและมีโอกาสที่มันจะไม่ทำงาน ดังนั้นหลีกเลี่ยงการคอมไพล์มันและเพียงแค่คว้าโมดูลที่คอมไพล์ไว้ล่วงหน้าด้วย:

pip ติดตั้งเทนเซอร์โฟลว์

หากคอมพิวเตอร์ของคุณค่อนข้างเก่าและไม่มีคำสั่ง AVX ให้รับเทนเซอร์โฟลว์ที่ไม่ใช่ AVX ล่าสุดด้วย

pip ติดตั้งเทนเซอร์โฟลว์==1.5

และคุณทำเสร็จแล้ว

SNPE – เอ็นจิ้นประมวลผลประสาท Snapdragon™

การตั้งค่า Snappy ตามที่เพื่อน Qualcomm เรียก SNPE นั้นไม่ยาก แต่ควรปฏิบัติตามขั้นตอนอย่างใกล้ชิด โครงร่างการติดตั้งคือ:

โคลนที่เก็บ git ของเฟรมเวิร์กโครงข่ายประสาทเทียม

CaffeCaffe2

TensorFlow

ONNX

เรียกใช้สคริปต์เพื่อตรวจสอบการพึ่งพาsnpe/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 ในทุกอินสแตนซ์ของเทอร์มินัลที่คุณเปิด ให้ต่อท้ายสี่บรรทัดของขั้นตอนที่ 3 ต่อท้ายไฟล์ ~/.bashrc ของคุณ

บนกระดานเป้าหมาย

การย้ายไปยัง arm64 จาก amd64 นั้นไม่ใช่เรื่องง่าย เนื่องจากไลบรารีจำนวนมากจะใช้ประโยชน์จากคำสั่ง x86 เพื่อเพิ่มประสิทธิภาพการทำงาน โชคดีที่คุณสามารถรวบรวมทรัพยากรที่จำเป็นส่วนใหญ่ไว้บนบอร์ดได้ ไลบรารีที่จำเป็นสามารถติดตั้งได้ด้วยคำสั่งเดียว

sudo apt ติดตั้ง 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-buf คอมไพล์ pro python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

ติดตั้งด้วย apt และไปต่อ โปรดทราบว่าขั้นตอนนี้อาจใช้เวลาสักครู่ เนื่องจากการเรียกใช้ apt เพื่อสร้างโค้ดที่ไม่ได้คอมไพล์ล่วงหน้า

OpenCV

ดาวน์โหลดรีลีสจากที่เก็บ OpenCV แตกไฟล์จากที่ไหนสักแห่งและจากโฟลเดอร์ที่คลายซิป:

mkdir build && cd buildcmake..

ทำให้ทั้งหมด -j3

sudo ทำการติดตั้ง

โปรดทราบว่าเราใช้ตัวเลือก -j3 หากคุณเข้าถึงบอร์ดผ่าน ssh การมีคอร์ที่โหลดจนเต็มอาจเพียงพอที่จะทำให้การเชื่อมต่อหลุด ที่ไม่พึงปรารถนา ด้วยการจำกัดการใช้เธรดเป็นสาม เราจะมีเธรดว่างอย่างน้อยหนึ่งเธรดเสมอเพื่อจัดการกับการเชื่อมต่อ ssh และการดูแลระบบทั่วไป

สำหรับ Dragonboard 820 และ Inforce 6640 ที่มีชิป APQ8096 บน Dragonboard 410 คุณจะต้องมีหน่วยความจำเสมือนว่างบางส่วนหรือจำกัดการคอมไพล์เธรดให้เป็นหนึ่งเดียว เนื่องจากมี RAM ที่มีอยู่จริงน้อยกว่า

นอกจากนี้ ยังควรทราบด้วยว่าการระบายความร้อนของชิปจะช่วยเพิ่มประสิทธิภาพโดยจำกัดการควบคุมความร้อน ฮีทซิงค์ใช้เคล็ดลับในการโหลดขนาดเล็ก แต่คุณจะต้องการพัดลมที่เหมาะสมสำหรับการคอมไพล์และการโหลดที่ใช้ 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 มาพร้อมกับ Linaro บนพาธนี้ และต้องคัดลอกไปยังโฟลเดอร์ขั้นต่ำสุดสมมตินี้

แพ็คเกจสำคัญอื่นๆ:

sudo apt-get install net-toolssudo apt-get ติดตั้ง gedit

sudo apt ติดตั้ง nodejs

sudo apt ติดตั้ง openvpn

ขั้นตอนที่ 7: การสาธิต

ชมการสาธิตสั้นๆ ของ Smart IoT Vision สำหรับการทำงานของ Smart-City!!

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/ https://caffe.berkeleyvision.org/ https://caffe.berkeleyvision.org/://caffe.berkeleyvision.org/installation.html#…

แนะนำ: