İçindekiler:

Akıllı IoT Vizyonu: 8 Adım
Akıllı IoT Vizyonu: 8 Adım

Video: Akıllı IoT Vizyonu: 8 Adım

Video: Akıllı IoT Vizyonu: 8 Adım
Video: Nesnelerin İnterneti [IoT] Nedir? | Melis Dinçol | DenizBank Deniz Akademi 2024, Kasım
Anonim
Akıllı IoT Vizyonu
Akıllı IoT Vizyonu

Bu, akıllı şehir bağlamına odaklanan bir projedir. Bu konuda, çözmekte olduğumuz üç büyük problem var:

1 – kamu aydınlatmasında enerji tasarrufu; 2 – şehir güvenliğini artırmak; 3 – trafik akışını iyileştirin.

1 – Sokaklarda LED lambaları kullanarak zaten %50'ye varan tasarruf sağlanıyor ve Telemanagement'in de eklenmesiyle %30 daha fazla tasarruf edebiliyoruz.

2-Akıllı kamera kullanımı ile insan akışının olmadığı yerlerde ışıkların kısılmasını kontrol edebiliyor ve insanların yürüdüğü sokak bölümünü daha aydınlık hale getirebiliyoruz. Sadece enerji tasarrufu sağlamakla kalmayacak, izlenme hissini de artırarak kötü niyetli kişilerin gözünü korkutacaktır. Ayrıca, şüpheli davranış durumunda görsel alarmlar (örneğin lambaların yanıp sönmesi) kullanılabilir.

3 – Akıllı kamera trafiği izleyecek, koşullarını yerel olarak işleyecek ve trafiği en iyi şekilde yönetmek için ışık sinyallerini kontrol edecektir. Bu sayede trafik sıkışıklığının önüne geçilebilir, kavşakta akış olmadığında arabalar uzun süre kırmızı sinyal beklemek zorunda kalmaz, vb. Teknolojik sorunlarla ilgili olarak, yalnızca ilgili bilgileri iletmek için uç işlemeyi kullanarak, şehir ölçeğinde sağlam bağlantı ve IoT Ağı için kamera entegrasyonu gibi IoT'deki yaygın sorunları da çözüyoruz.

Embarcados ve GitHub'daki yayınımıza bakın

Ayrıca YouTube'da

Bizim takım:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

jonathas fırıncı

(İletişim bilgileri altta)

Adım 1: Sistem Blok Şeması

Sistem Blok Şeması
Sistem Blok Şeması

Bu, çözüm mimarisine genel bir bakıştır.

Sistem, FAN arayüzünde RFmesh, LAN üzerinde WiFi ve ayrıca WAN bağlantısı için CAT-M kullanan bir Kamera-Gateway'den oluşur. Ayrıca akıllı fotoseller, Akıllı Kameralar ve ışık sinyalleri içerir.

Başta akıllı kamera olmak üzere ağlardaki tüm cihazlar, 6lowpan üzerinden akıllı ağ geçidine veri gönderiyor, böylece genel aydınlatma ve ışık sinyallerinin kontrolü ile ilgili kararları alabiliyor.

Ağ geçidi ayrıca sunucumuza VPN üzerinden bağlıdır. Bu şekilde, durumu kontrol etmek veya cihazları kontrol etmek için FAN ve LAN'a, bot'a erişimimiz var.

Adım 2: Bu Proje için Bileşenler

Bu Proje için Bileşenler
Bu Proje için Bileşenler
Bu Proje için Bileşenler
Bu Proje için Bileşenler
Bu Proje için Bileşenler
Bu Proje için Bileşenler

Akıllı Kamera

- DragonBoard410C/DragonBoard820C

- USB Kamera

- OneRF NIC

Kamera Ağ Geçidi

- DragonBoard410C/DragonBoard820C

- USB Kamera

- OneRF NIC

- Cat-M/3G modem

Akıllı Işık Sinyali

Adım 3: Adım 2: Devre Şeması ve Bağlantılar

Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar
Adım 2: Devre Şeması ve Bağlantılar

Akıllı Kamera

- USB bağlantı noktasındaki kamera

- UART bağlantı noktasında OneRF NIC

Kamera Ağ Geçidi

- USB bağlantı noktasındaki kamera

- UART bağlantı noktasında OneRF NIC

- USB bağlantı noktasında 3G/Cat-M modem

(Tümü IoT Mezzanine ile bağlantılıdır)

Akıllı Sokak Işığı

- Geleneksel sokak lambası

- Röle kartı (3 kanal)

- OneRF NIC

Akıllı Fotosel

- OneRF NIC

- Güç ölçer

Adım 4: İşletim Sistemini DragonBoards'a kurun

Debian'ı Dragonboard820C'ye Yükleme (Fastboot Yöntemi)

Bir Linux işletim sistemi kullanarak, şu adreste listelenen paketleri kurun:

Ejderha tahtasında:

s4'ü KAPALI, KAPALI, KAPALI, KAPALI yap

vol (-) tuşuna basarak açın

Seri monitör kullanıyorsanız (şiddetle tavsiye edilir), “fastboot: işlem komutları” mesajını alacaksınız (115200'de seri monitör) Mikro-usb'yi (J4) PC'ye bağlayın

Ana bilgisayarda: https://www.96boards.org/documentation/consumer/d… adresinden indirin (ve sıkıştırın)

$ sudo hızlı önyükleme cihazları

452bb893 hızlı önyükleme (örnek)

$ sudo fastboot flash önyükleme önyükleme-linaro-buster-dragonboard-820c-BUILD.img

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

Debian'ı Dragonboard410C'ye Kurmak

Bilgisayardaki adımlar (Linux)

1 – Resmi indirin

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 – Dosyaları açın

$ cd ~/Debian_SD_Card_Install_image

$ ejderha tahtasının sıkıştırmasını aç410c_sdcard_install_debian-233.zip

3 – microSD'yi bilgisayarınıza takın ve takılı olup olmadığını kontrol edin

$ df -h

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

4 – microSD'yi çıkarın ve görüntüyü yakın

$ umount /dev/sdb1

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

5 – microSD'yi bilgisayarınızdan çıkarın

Bilgisayardaki adımlar (Windows)İndirme – SD Kart görüntüsü – (Seçenek 1) SD Kart Görüntüsü – eMMC'den yükleyin ve önyükleyin

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

SD Kart Kurulum Resmini Açın

Win32DiskImager aracını indirin ve yükleyin

sourceforge.net/projects/win32diskimager/f…

Win32DiskImager aracını açın

SD kartı bilgisayara takın

Ayıklanan.img dosyasını bulun

Yaz'a tıklayın

Dragonboard'daki Adımlar DragonBoard™ 410c'nin elektrik bağlantısının kesildiğinden emin olun

DragonBoard™ 410c üzerindeki S6 anahtarını 0-1-0-0 olarak ayarlayın, "SD Önyükleme anahtarı" "AÇIK" olarak ayarlanmalıdır.

HDMI bağlayın

Bir USB klavye takın

microSD'yi takın

Güç adaptörünü takın

Yüklenecek resmi seçin ve “Yükle” ye tıklayın

kurulumun bitmesini bekleyin

Güç adaptörünü çıkarın

microSD'yi çıkarın

S6 anahtarını 0-0-0-0 olarak ayarlayın

TAMAMLAMAK

Adım 5: Bağlantı Arayüzleri

Cat-m ve 3G'yi Yükleme

Bir ana makine kullanarak aşağıdaki AT komutlarını uygulayın:

AT#SIMDET? // SIM varlığını kontrol et#SIMDET: 2, 0 // sim takılı değil

#SIMDET: 2, 1 // sim takılı

AT+CREG? // kayıtlı olup olmadığını kontrol et

+CREG: 0, 1 //(istenmeyen sonuç kodunu ağ kaydı devre dışı bırak (fabrika varsayılanı), kayıtlı ev ağı)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (mod = otomatik seçim, format = alfanümerik, oper, ?)

AT+CPAS //Telefon Etkinliği Durumu

+CPAS: 0 //hazır

AT+CSQ // hizmet kalitesini kontrol edin

+CSQ: 16, 3 //(rssi, bit hata oranı)

AT+CGATT? //GPRS ekinin durumu

+CGATT: 1 //ekli

AT+CGDCONT=1,”IP”,”zap.vivo.com.br”,, 0, 0 // bağlamı yapılandır

Tamam

AT+CGDCONT? // bağlamı kontrol et

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

AT#SGACT=1, 1 //İçerik Aktivasyonu

#SGACT: 100.108.48.30

Tamam

Arayüzü Ayarlayın

Grafik ortamı kullanma

Modemi bağlayın (oneRF_Modem_v04 – HE910)

Ağ Bağlantılarını Aç

Yeni bağlantı eklemek için + üzerine tıklayın

Mobil Geniş Bant Seçin

Doğru cihazı seçin

Ülkeyi Seçin

Sağlayıcıyı seçin

Planı seçin ve Kaydet

Modemi Kaldır

Modemi yeniden bağlayın

terminalapt-get install pppconfig'i kullanma

pppconfig

sağlayıcı = vivo

dinamiko

ÇATLAK

canlı

canlı

115200

ton

*99#

hayır (manuel)

/dev/ttyUSB0

kaydetmek

cat /etc/ppp/peers/vivo

kedi /etc/chatscripts/vivo

canlı

Cat-M modülünü kullanıyorsanız, önce aşağıdaki komutları kullanmanız yeterlidir:

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

apt-get install comgt

comgt -d /dev/ttyUSB0 comgt bilgisi -d /dev/ttyUSB0

Adım 6: Temel Yazılım Modüllerini Yükleme

Geliştirme bilgisayarında

Bazı adımların donanıma bağlı olduğunu ve gerçek bilgisayar özelliklerinizi karşılayacak şekilde ayarlanması gerektiğini unutmayın. Kütüphaneler tek bir komutla kurulabilir.

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-binop-mpy-df5 açık python-pip python-numpy python-scipy python-matplotlib python-gelecekteki python-protobuf python-yazma python-hipotez python-yaml

OpenCV

Bu çerçeve, geliştirme makinesinde görüntü tabanlı istatistiksel algoritmalar geliştirmek için kullanılır. Kodumuzun çoğu Python ile yazıldığından, en kolay kurulum yöntemi sadece

pip kurulumu opencv-python

Ancak, bu tekerleklerin CPU'nuzdan başka bir şey kullanmayacağını ve hatta tüm çekirdeklerini kullanmayabileceğini unutmayın, bu nedenle maksimum performans elde etmek için kaynaktan derlemek isteyebilirsiniz. Paketi Linux'ta oluşturmak için, örneğin, zip dosyasını OpenCV Sürümleri sayfasından indirir ve sıkıştırmasını açarsınız. Açılan klasörden:

mkdir build && cd buildcmake.. make all -j4

sudo kurulum yap

-j4 komutu, make'ye dört iş parçacığı kullanmasını söyler. CPU'nuzun sahip olduğu kadar kullanın!

kafe

Kaynaklardan Caffe çerçevesini kurmak için:

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

cmake..

hepsini yapmak

test yap çalışma testi yap

Tüm testler başarılı bir şekilde çalışırsa, hazırsınız demektir.

TensorFlow

Google, TensorFlow'u sıradan araçlarla derlemenize izin vermez. Bunun için Bazel gerekiyor ve muhtemelen işe yaramayacak, bu yüzden onu derlemekten kaçının ve önceden derlenmiş modülü aşağıdakilerle birlikte alın:

pip kurulum tensorflow

Bilgisayarınız biraz eskiyse ve AVX talimatlarına sahip değilse, son AVX olmayan tensör akışını edinin.

pip kurulumu tensorflow==1.5

Ve işin bitti.

SNPE – Snapdragon™ Sinir İşleme Motoru

Qualcomm arkadaşlarımızın SNPE dediği gibi Snappy'yi kurmak zor değil ama adımların yakından takip edilmesi gerekiyor. Kurulum taslağı:

sinir ağı çerçevelerinin git depolarını klonlayın

KafeKafe2

TensorFlow

ONNX

bağımlılıkları kontrol etmek için komut dosyalarını çalıştırınsnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

kurulu her çerçeve için snpe/bin/envsetup.sh komutunu çalıştırın

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

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

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

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

SNPE'yi açtığınız her terminal örneğinde kaynaklamak için, ~/.bashrc dosyanızın sonuna üçüncü adımın dört satırını ekleyin.

hedef tahtasında

Amd64'ten arm64'e geçmek zahmetsiz bir iş değildir, çünkü birçok kitaplık performanslarını artırmak için x86 yönergelerinden yararlanacaktır. Neyse ki, gerekli kaynakların çoğunu tahtanın kendisinde derlemek mümkündür. Gerekli kütüphaneler tek bir komutla kurulabilir.

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-binop-mpy-df5 açık python-pip python-numpy python-scipy python-matplotlib python-gelecekteki python-protobuf python-yazma python-hipotez python-yaml

Bunları apt ile kurun ve devam edin. Önceden derlenmemiş kodu oluşturmak için uygun çağrılar yapıldığından, bu adımın biraz zaman alabileceğini unutmayın.

OpenCV

Sürümü OpenCV deposundan indirin, sıkıştırılmış dosyayı bir yerde ve açılmış klasörden açın:

mkdir build && cd buildcmake..

hepsini -j3 yap

sudo kurulum yap

-j3 seçeneğini kullandığımızı unutmayın. Panoya ssh ile erişirseniz, tüm çekirdeklerin tam yüklü olması bağlantıyı kesmek için yeterli olabilir. Bu arzu edilmez. İş parçacığı kullanımını üç ile sınırlayarak, ssh bağlantıları ve genel sistem temizliği ile başa çıkmak için her zaman en az bir boş iş parçacığına sahip olacağız.

Bu, APQ8096 çipli Dragonboard 820 ve Inforce 6640 içindir. Dragonboard 410'da, daha az fiziksel RAM'e sahip olduğundan, biraz boş sanal belleğe sahip olmak veya derleme dizilerini bir tane ile sınırlamak isteyeceksiniz.

Çipin soğutulması, termal kısmayı sınırlayarak performansı artırmaya yardımcı olacaktır. Bir soğutucu, küçük yüklerde hile yapar, ancak derleme ve diğer CPU yoğun yükler için uygun bir fan isteyeceksiniz.

Neden apt veya pip ile OpenCV kurmuyorsunuz? Çünkü onu hedef makinede derlemek, mevcut her işlemci talimatını derleyiciye görünür hale getirerek yürütme performansını iyileştirir.

SNPE – Snapdragon™ Sinir İşleme Motoru

Snappy'yi tıpkı bir masaüstü bilgisayarda olduğu gibi kurduk, kurulu gerçek bir sinir ağı çerçevesi olmamasına rağmen (SNPE, gerçek ikili dosyalara değil, yalnızca git depolarına ihtiyaç duyar).

Ancak, tek ihtiyacımız olan snpe-net-run komutu için ikili dosyalar ve başlıklar olduğundan, aşağıdaki dosyaların bir klasörde bulunması ve bu klasörün PATH'e eklenmesinin işe yaraması olasılığı vardır:

Sinir ağı binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU kitaplıkları

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 kitaplıkları

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Sonuç görüntüleyici

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Kalın öğe, /usr/lib/aarch64-linux-gnu/libatomic.so.1, bu yolda Linaro ile sağlanır ve bu varsayımsal minimal klasöre kopyalanmalıdır.

Diğer önemli paketler:

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

sudo apt kurulum düğümü

sudo apt openvpn yükleyin

7. Adım: Gösteri

Akıllı Şehir çalışması için Akıllı IoT Vizyonunun kısa bir gösterimini görün!!

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

Adım 8: Teşekkürler

Yarışmayı oluşturup destekledikleri için Qualcomm ekibine ve Embarcados'a teşekkür ederiz.

Bizimle iletişime geçmekten çekinmeyin:

Referanslar

Linux ve Android için Dragonboard 410c Kurulum 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/ https://caffe.berkeleyvision.org/installation.html#…

Önerilen: