Съдържание:

Smart IoT Vision: 8 стъпки
Smart IoT Vision: 8 стъпки

Видео: Smart IoT Vision: 8 стъпки

Видео: Smart IoT Vision: 8 стъпки
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Ноември
Anonim
Smart IoT Vision
Smart IoT Vision

Това е проект, фокусиран върху контекста на интелигентния град. По този въпрос има три основни проблема, които решаваме:

1 - енергоспестяване при обществено осветление; 2 - подобряване на сигурността на града; 3 - подобрете потока на трафика.

1 - Използвайки LED светлини по улиците, спестяванията вече са до 50%, а с добавянето на Telemanagement можем да имаме 30% повече спестявания.

2 - С помощта на интелигентни камери можем да контролираме светлините да намаляват там, където няма хора, и да направим уличния участък по -ярък, където хората се разхождат. Това не само ще спести енергия, но ще увеличи усещането да бъдете наблюдавани, като по този начин ще сплашите хората с лоши намерения. Освен това визуални аларми (например мигащи лампи) могат да се използват в случай на подозрително поведение.

3 - Интелигентната камера ще наблюдава трафика, ще обработва локално неговите условия и ще контролира светлинните сигнали, за да управлява най -добре трафика. По този начин биха могли да бъдат избегнати задръстванията, колите не би трябвало да чакат дълго време червени сигнали, когато в прелеза няма поток и т.н. Що се отнася до технологичните проблеми, ние също решаваме често срещаните проблеми в IoT, като стабилна свързаност в градски мащаб и интеграция на камерата за IoT Network, като използваме ръбообработка за предаване само на подходяща информация.

Вижте нашата публикация за Embarcados и GitHub

Също и в YouTube

Нашия екип:

Милтън Фелипе Соуза Сантос

Густаво Ретучи Пинейро

Едуардо Калдас Кардосо

Джонатас Бейкър

(Информация за контакт в долната част)

Стъпка 1: Блокова схема на системата

Блокова схема на системата
Блокова схема на системата

Това е преглед на архитектурата на решението.

Системата се състои от Camera-Gateway, който използва RFmesh на FAN интерфейса, WiFi в LAN, както и CAT-M за WAN свързаност. Той също така съдържа интелигентни фотоклетки, интелигентни фотоапарати и светлинни сигнали.

Всички устройства в мрежите, главно интелигентната камера, изпращат данни през 6lowpan до интелигентния шлюз, така че тя може да взема решения относно общественото осветление и управлението на светлинните сигнали.

Порталът също е свързан към нашия сървър чрез VPN. По този начин имаме достъп до FAN и LAN, бот за проверка на състоянието или контрол на устройствата.

Стъпка 2: Компоненти за този проект

Компоненти за този проект
Компоненти за този проект
Компоненти за този проект
Компоненти за този проект
Компоненти за този проект
Компоненти за този проект

Умна камера

- DragonBoard410C/DragonBoard820C

- USB камера

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB камера

- OneRF NIC

- Cat-M/3G модем

Интелигентен светлинен сигнал

Стъпка 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

Интелигентна фотоелемент

- OneRF NIC

- Силометър

Стъпка 4: Инсталирайте Os на DragonBoards

Инсталиране на Debian на Dragonboard820C (метод за бързо зареждане)

Използвайки Linux OS, инсталирайте пакетите, изброени в:

На драконовата дъска:

направи s4 OFF, OFF, OFF, OFF

Включете натискането на vol (-)

Ако използвате сериен монитор (силно препоръчително), ще получите съобщението „fastboot: команди за обработка“(сериен монитор на 115200) Свържете micro-usb (J4) на компютъра

На хост компютър: Изтеглете (и разархивирайте) от

$ sudo устройства за бързо зареждане

452bb893 fastboot (пример)

$ sudo fastboot флаш зареждане boot-linaro-buster-dragonboard-820c-BUILD.img

$ sudo fastboot flash 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

$ разархивирайте 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 на =/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 файл

Щракнете върху Write

Стъпки върху 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 // (режим = автоматичен избор, формат = буквено -цифров, 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

vivo

vivo

115200

Тон

*99#

не (ръчно)

/dev/ttyUSB0

запишете

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Ако използвате модул Cat-M, просто използвайте следните команди преди:

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

apt-get install comgt

comgt -d /dev /ttyUSB0 comgt информация -d /dev /ttyUSB0

Стъпка 6: Инсталиране на основни софтуерни модули

На компютъра за разработка

Имайте предвид, че някои стъпки зависят от хардуера и трябва да бъдат коригирани така, че да отговарят на вашите действителни компютърни спецификации. Библиотеките могат да бъдат инсталирани с една команда.

sudo apt инсталирайте build-bistven git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags-bdf5 opmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-бъдеще python-protobuf въвеждане на python python-hypotesis python-yaml

OpenCV

Тази рамка се използва за разработване на базирани на изображения статистически алгоритми на машината за разработка. Тъй като по -голямата част от нашия код е написан на Python, най -лесният метод за инсталиране е просто

pip инсталирайте opencv-python

Имайте предвид обаче, че тези колела няма да използват нищо освен вашия процесор и може дори да не използват всички негови ядра, така че може да искате да компилирате от източника, за да постигнете максимална производителност. Например, за да изградите пакета в Linux, трябва да изтеглите zip файла от страницата за версии на OpenCV и да го разархивирате. От разархивираната папка:

mkdir build && cd buildcmake.. направи всичко -j4

sudo make install

Командата -j4 инструктира make да използва четири нишки. Използвайте толкова, колкото има вашият процесор!

Кафе

За да настроите рамката на Caffe от източници:

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

cmake..

направи всичко

направи тест make runtest

Ако всички тестове се изпълняват успешно, тогава сте готови.

TensorFlow

Google не ви позволява да компилирате TensorFlow с обикновени инструменти. Това изисква Bazel за него и има вероятност да не работи, така че избягвайте да го компилирате и просто вземете предварително компилирания модул с:

pip install tensorflow

Ако компютърът ви е малко стар и няма инструкции за AVX, вземете последния не-AVX тензорен поток с

pip install tensorflow == 1.5

И сте готови.

SNPE - Snapdragon ™ Невронна процесорна машина

Настройването на Snappy, както нашите приятели на Qualcomm наричат SNPE, не е трудно, но стъпките трябва да се следват отблизо. Очертанието на инсталацията е:

клонирайте git хранилищата на невронните мрежови рамки

CaffeCaffe2

TensorFlow

ONNX

стартирайте скриптовете, за да проверите за dependenciessnpe/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 файл.

На целевата дъска

Преминаването към arm64 от amd64 не е лесна задача, тъй като много библиотеки ще се възползват от инструкциите на x86, за да повишат производителността си. За щастие е възможно да се съберат повечето от необходимите ресурси на самата дъска. Необходимите библиотеки могат да бъдат инсталирани с една команда.

sudo apt инсталирайте build-bistven git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags-bdf5 opmpmpmpmpmpmpmpmpmp python-pip python-numpy python-scipy python-matplotlib python-бъдеще python-protobuf въвеждане на python 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.

Трябва също така да се отбележи, че охлаждането на чипа ще помогне за увеличаване на производителността чрез ограничаване на термичното дроселиране. Радиаторът върши работа при малки натоварвания, но вие ще искате подходящ вентилатор за компилиране и други интензивни натоварвания на процесора.

Защо не инсталирате 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 install gedit

sudo apt install 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/

Препоръчано: