Isi kandungan:

Visi IoT Pintar: 8 Langkah
Visi IoT Pintar: 8 Langkah

Video: Visi IoT Pintar: 8 Langkah

Video: Visi IoT Pintar: 8 Langkah
Video: Mengenal Internet of Thing (IoT) 2024, November
Anonim
Visi IoT Pintar
Visi IoT Pintar

Ini adalah projek yang tertumpu pada konteks bandar pintar. Dalam masalah ini, ada tiga masalah utama yang sedang kita selesaikan:

1 - penjimatan tenaga dalam pencahayaan awam; 2 - meningkatkan keselamatan bandar; 3 - meningkatkan aliran lalu lintas.

1 - Dengan menggunakan lampu LED di jalanan, penjimatan sudah sampai 50%, dan dengan penambahan Telemanagement, kita dapat penjimatan 30% lebih banyak.

2 - Dengan penggunaan kamera pintar, kita dapat mengawal lampu untuk redup di mana aliran orang tidak ada dan menjadikan bahagian jalan lebih terang di mana orang berjalan. Ini bukan sahaja dapat menjimatkan tenaga tetapi juga meningkatkan perasaan diperhatikan, dengan demikian, menakut-nakutkan orang yang berniat jahat. Selanjutnya, penggera visual (berkedip lampu misalnya), dapat digunakan sekiranya berlaku tingkah laku yang mencurigakan.

3 - Kamera pintar akan menyaksikan lalu lintas, memproses keadaannya secara tempatan, dan mengawal isyarat cahaya untuk menguruskan lalu lintas dengan sebaik-baiknya. Dengan cara ini, kesesakan lalu lintas dapat dielakkan, kereta tidak perlu menunggu lama isyarat merah ketika tidak ada aliran di persimpangan, dan sebagainya. Mengenai masalah teknologi, kami juga menyelesaikan masalah umum di IoT seperti penyambungan yang kuat dalam skala bandar dan integrasi kamera untuk Rangkaian IoT, dengan menggunakan pemprosesan tepi untuk menghantar maklumat yang relevan sahaja.

Lihat penerbitan kami di Embarcados dan GitHub

Juga di YouTube

Pasukan kami:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Maklumat hubungan di bahagian bawah)

Langkah 1: Diagram Blok Sistem

Rajah Blok Sistem
Rajah Blok Sistem

Ini adalah gambaran keseluruhan seni bina penyelesaian.

Sistem ini terdiri daripada Camera-Gateway yang menggunakan RFmesh pada antara muka FAN, WiFi di LAN, dan juga CAT-M untuk sambungan WAN. Ia juga mengandungi sel cahaya pintar, Kamera Pintar, dan isyarat cahaya.

Semua peranti dalam rangkaian, terutama kamera pintar, mengirim data melalui 6lowpan ke pintu masuk pintar, sehingga dapat mengambil keputusan mengenai kawalan lampu dan isyarat cahaya umum.

Pintu masuk juga disambungkan ke pelayan kami melalui VPN. Dengan cara ini, kami mempunyai akses ke FAN dan LAN, bot untuk memeriksa status atau mengawal peranti.

Langkah 2: Komponen untuk Projek ini

Komponen untuk Projek ini
Komponen untuk Projek ini
Komponen untuk Projek ini
Komponen untuk Projek ini
Komponen untuk Projek ini
Komponen untuk Projek ini

Kamera Pintar

- DragonBoard410C / DragonBoard820C

- Kamera USB

- OneRF NIC

Gerbang Kamera

- DragonBoard410C / DragonBoard820C

- Kamera USB

- OneRF NIC

- Modem Cat-M / 3G

Isyarat Lampu Pintar

Langkah 3: Langkah 2: Diagram Litar dan Sambungan

Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar
Langkah 2: Diagram dan Sambungan Litar

Kamera Pintar

- Kamera pada port USB

- OneRF NIC di pelabuhan UART

Gerbang Kamera

- Kamera pada port USB

- OneRF NIC di pelabuhan UART

- Modem 3G / Cat-M di port USB

(Semua dihubungkan oleh MeTanin IoT)

Lampu Jalan Pintar

- Lampu jalan konvensional

- Papan geganti (3 saluran)

- OneRF NIC

Photocell Pintar

- OneRF NIC

- Meter Kuasa

Langkah 4: Pasang Os di DragonBoards

Memasang Debian pada Dragonboard820C (Kaedah Fastboot)

Dengan menggunakan OS Linux, pasang pakej yang disenaraikan di:

Di papan naga:

buat s4 OFF, OFF, OFF, OFF

Hidupkan menekan vol (-)

Sekiranya anda menggunakan monitor bersiri (sangat disyorkan), anda akan mendapat mesej "fastboot: processing pages" (monitor bersiri di 115200) Sambungkan micro-usb (J4) pada PC

Pada hos PC: Muat turun (dan unzip) dari

$ sudo fastboot devices

452bb893 fastboot (contoh)

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

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

Memasang Debian pada Dragonboard410C

Langkah-langkah di komputer (Linux)

1 - Muat turun gambar

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Buka zip fail

$ cd ~ / Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Masukkan microSD pada komputer anda dan periksa apakah ia dipasang

$ df -h

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

4 - Lepaskan mikroSD dan bakar gambar

$ umount / dev / sdb1

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

5 - Keluarkan microSD dari PC anda

Langkah-langkah di komputer (Windows) Muat turun - Imej Kad SD - (Pilihan 1) Imej Kad SD - Pasang dan boot dari eMMC

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

Unzip Gambar Pasang Kad SD

Muat turun dan pasang alat Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

Buka alat Win32DiskImager

Masukkan kad SD ke dalam komputer

Cari fail.img yang diekstrak

Klik Tulis

Langkah-langkah di Dragonboard Pastikan DragonBoard ™ 410c dicabut dari kuasa

Atur suis S6 pada DragonBoard ™ 410c ke 0-1-0-0, "SD Boot switch" harus diatur ke "ON".

Sambungkan HDMI

Pasangkan papan kekunci USB

Masukkan microSD

Palam penyesuai kuasa

Pilih gambar untuk dipasang dan klik "Pasang"

tunggu pemasangan selesai

Tanggalkan penyesuai kuasa

Tanggalkan microSD

Tetapkan suis S6 ke 0-0-0-0

SELESAI

Langkah 5: Antaramuka Kesambungan

Memasang Cat-m dan 3G

Terapkan arahan AT berikut menggunakan mesin hos:

DI # SIMDET? // periksa kehadiran SIM # SIMDET: 2, 0 // sim tidak dimasukkan

#SIMDET: 2, 1 // sim dimasukkan

AT + CREG? // periksa sama ada ia didaftarkan

+ CREG: 0, 1 // (lumpuhkan kod hasil pendaftaran yang tidak diminta (lalai kilang), rangkaian kediaman berdaftar)

ATAU COPS?

+ COPS: 0, 0, "VIVO", 2 // (mod = pilihan automatik, format = alfanumerik, operasi,?)

AT + CPAS // Status Aktiviti Telefon

+ CPAS: 0 // siap

AT + CSQ // periksa kualiti perkhidmatan

+ CSQ: 16, 3 // (rssi, kadar ralat bit)

AT + CGATT? // keadaan lampiran GPRS

+ CGATT: 1 // dilampirkan

AT + CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // konfigurasikan konteks

okey

AT + CGDCONT? // periksa konteks

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

AT # SGACT = 1, 1 // Pengaktifan Konteks

#SGACT: 100.108.48.30

okey

Sediakan Antaramuka

Menggunakan persekitaran grafik

Sambungkan modem (oneRF_Modem_v04 - HE910)

Buka Sambungan Rangkaian

Klik + untuk menambah sambungan baru

Pilih Jalur Lebar Mudah Alih

Pilih peranti yang betul

Pilih Negara

Pilih penyedia

Pilih rancangan dan Simpan

Keluarkan Modem

Sambungkan semula Modem

Menggunakan terminalapt-get install pppconfig

pppconfig

penyedia = vivo

dinamico

MURAH

vivo

vivo

115200

Nada

*99#

tidak (manual)

/ dev / ttyUSB0

berjimat

kucing / etc / ppp / rakan sebaya / vivo

kucing / etc / chatscripts / vivo

pon vivo

Sekiranya anda menggunakan modul Cat-M, gunakan perintah berikut sebelum ini:

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

apt-get install comgt

comgt -d / dev / ttyUSB0 maklumat comgt -d / dev / ttyUSB0

Langkah 6: Memasang Modul Perisian Penting

Pada komputer pembangunan

Perhatikan bahawa beberapa langkah bergantung pada perkakasan dan harus disesuaikan untuk memenuhi spesifikasi komputer sebenar anda. Perpustakaan boleh dipasang dengan satu arahan.

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-compiler python-pip python-numpy python-scipy python-matplotlib python-masa depan python-protobuf python-typing python-hypotesis python-yaml

OpenCV

Kerangka ini digunakan untuk mengembangkan algoritma statistik berdasarkan gambar pada mesin pengembangan. Oleh kerana sebahagian besar kod kami ditulis dalam Python, kaedah pemasangan paling mudah adalah dengan adil

memasang pip opencv-python

Namun, perhatikan bahawa roda ini tidak akan menggunakan apa-apa selain CPU anda dan bahkan mungkin tidak menggunakan semua intinya, jadi anda mungkin ingin menyusun dari sumber untuk mencapai prestasi maksimum. Untuk membina pakej di Linux, misalnya, anda tidak memuat fail zip dari halaman OpenCV Release dan melepaskannya. Dari folder yang tidak dizip:

mkdir build && cd buildcmake.. buat semua -j4

sudo buat pasang

Perintah -j4 memerintahkan untuk menggunakan empat utas. Gunakan seberapa banyak CPU anda!

Kafe

Untuk menyediakan rangka kerja Caffe dari sumber:

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

cmake..

buat semua

membuat ujian membuat runtest

Sekiranya semua ujian berjaya dijalankan maka anda sudah bersedia.

TensorFlow

Google tidak membenarkan anda menyusun TensorFlow dengan alat biasa. Ia memerlukan Bazel untuknya dan kemungkinan ia tidak akan berjaya, jadi elakkan menyusunnya dan ambil modul pra-kompilasi dengan:

memasang pip tensorflow

Sekiranya komputer anda agak tua dan tidak mempunyai arahan AVX, dapatkan aliran tensor bukan AVX terakhir

memasang pip tensorflow == 1.5

Dan anda sudah selesai.

SNPE - Mesin Pemprosesan Neural Snapdragon ™

Menetapkan Snappy, kerana rakan Qualcomm kami memanggil SNPE, tidak sukar tetapi langkahnya harus diikuti dengan teliti. Garis besar pemasangan adalah:

mengklon repositori git rangka kerja neural

CaffeCaffe2

TensorFlow

ONNX

jalankan skrip untuk memeriksa dependenciessnpe / bin / dependencies.sh

snpe / bin / check_python_depends.sh

untuk setiap rangka kerja yang terpasang, jalankan snpe / bin / envsetup.sh

sumber $ SNPE / bin / envsetup.sh -c $ CAFFE_GIT

sumber $ SNPE / bin / envsetup.sh -f $ CAFFE2_GIT

sumber $ SNPE / bin / envsetup.sh -t $ TENSORFLOW_GIT

sumber $ SNPE / bin / envsetup.sh -o $ ONNX_GIT

Untuk mendapatkan sumber SNPE dalam setiap contoh terminal yang anda buka, tambahkan empat baris langkah tiga hingga akhir fail ~ /.bashrc anda.

Di papan sasaran

Pindah ke arm64 dari amd64 bukanlah tugas yang mudah, kerana banyak perpustakaan akan memanfaatkan petunjuk x86 untuk meningkatkan prestasi mereka. Nasib baik, mungkin menyusun sebahagian besar sumber yang diperlukan di papan itu sendiri. Perpustakaan yang diperlukan boleh dipasang dengan satu arahan.

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-compiler python-pip python-numpy python-scipy python-matplotlib python-masa depan python-protobuf python-typing python-hypotesis python-yaml

Pasang dengan apt dan teruskan. Perhatikan bahawa langkah ini mungkin memerlukan sedikit masa, kerana panggilan yang tepat dibuat untuk membina kod yang belum disusun sebelumnya.

OpenCV

Muat turun pelepasan dari repositori OpenCV, unzipnya di suatu tempat dan dari folder yang tidak dizip:

mkdir build && cd buildcmake..

buat semua -j3

sudo buat pasang

Perhatikan bahawa kami menggunakan pilihan -j3. Sekiranya anda mengakses papan melalui ssh, semua inti dimuat sepenuhnya cukup untuk memutuskan sambungan. Itu tidak diingini. Dengan mengehadkan penggunaan benang menjadi tiga, kami akan selalu mempunyai sekurang-kurangnya satu utas bebas untuk mengatasi sambungan ssh dan pengemasan sistem umum.

Ini untuk Dragonboard 820 dan Inforce 6640 dengan cip APQ8096. Pada Dragonboard 410, anda pasti ingin mempunyai memori maya percuma atau menghadkan utas kompilasi menjadi satu, kerana RAM fizikalnya kurang tersedia.

Juga perlu diperhatikan bahawa penyejukan cip akan membantu meningkatkan prestasi dengan menghadkan pendikit terma. Heatsink melakukan trik pada beban kecil tetapi anda akan memerlukan kipas yang tepat untuk menyusun dan beban intensif CPU yang lain.

Mengapa tidak memasang OpenCV dengan apt atau pip? Kerana menyusunnya di mesin sasaran menjadikan setiap arahan pemproses yang tersedia dapat dilihat oleh penyusun, meningkatkan prestasi pelaksanaan.

SNPE - Mesin Pemprosesan Neural Snapdragon ™

Kami memasang Snappy seperti pada komputer desktop, walaupun tidak ada kerangka rangkaian neural yang sebenarnya dipasang (SNPE hanya memerlukan repositori git, bukan binari sebenarnya).

Namun, kerana semua yang kita perlukan adalah binari dan header untuk perintah snpe-net-run, ada kemungkinan hanya mempunyai fail berikut pada folder dan menambahkan folder ini ke PATH berfungsi:

Jaringan saraf binarysnpe / bin / aarch64-linux-gcc4.9 / snpe-net-run

Perpustakaan CPU

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

Perpustakaan DSP

snpe / lib / dsp / libsnpe_dsp_skel.so

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

Pemapar hasil

snpe / models / alexnet / scripts / show_alexnet_classifications.py

Item tebal, /usr/lib/aarch64-linux-gnu/libatomic.so.1, disediakan dengan Linaro di jalan ini dan mesti disalin ke folder minimum hipotetis ini.

Pakej implan lain:

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

sudo apt pasang nodejs

sudo apt install openvpn

Langkah 7: Demonstrasi

Lihat demonstrasi ringkas mengenai Smart IoT Vision untuk Smart-City berfungsi !!

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

Langkah 8: Terima Kasih

Kami mengucapkan terima kasih kepada pasukan Qualcomm dan Embarcados kerana membuat dan menyokong peraduan ini.

Jangan ragu untuk menghubungi kami di:

Rujukan

Panduan Pemasangan Dragonboard 410c untuk Linux dan 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 / pemasangan.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/

Disyorkan: