Оглавление:

Smart IoT Vision: 8 шагов
Smart IoT Vision: 8 шагов

Видео: Smart IoT Vision: 8 шагов

Видео: Smart IoT Vision: 8 шагов
Видео: Настройка и подключение уличной WiFi камеры приложение ICSee от SMART XATA 2024, Июль
Anonim
Умное видение Интернета вещей
Умное видение Интернета вещей

Это проект, ориентированный на контекст умного города. В этом вопросе мы решаем три основные проблемы:

1 - энергосбережение в уличном освещении; 2 - повысить безопасность города; 3 - улучшить транспортный поток.

1 - Используя светодиодные фонари на улицах, можно сэкономить до 50%, а с добавлением Telemanagement мы можем сэкономить на 30% больше.

2 - С помощью умных камер мы можем управлять светом, чтобы он приглушал там, где нет людского потока, и делая ярче часть улицы, где люди идут. Это не только сэкономит энергию, но и усилит ощущение того, что за вами наблюдают, и тем самым отпугнет людей с плохими намерениями. Кроме того, в случае подозрительного поведения можно использовать визуальную сигнализацию (например, мигание ламп).

3 - Интеллектуальная камера будет наблюдать за трафиком, локально обрабатывать его условия и управлять световыми сигналами, чтобы наилучшим образом управлять трафиком. Таким образом можно было избежать пробок, машинам не пришлось бы долго ждать красных сигналов, когда на переходе нет потока, и так далее. Что касается технологических проблем, мы также решаем общие проблемы в IoT, такие как надежная связь в масштабе города и интеграция камер для сети IoT, используя пограничную обработку для передачи только актуальной информации.

Смотрите нашу публикацию на Embarcados и GitHub

Также на YouTube

Наша команда:

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

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

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

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

(Контактная информация внизу)

Шаг 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 на порту UART

Шлюз камеры

- Камера на USB-порт

- Сетевая карта OneRF на порту UART

- Модем 3G / Cat-M на USB-порт

(Все подключено мезонином Интернета вещей)

Умный уличный свет

- Обычный уличный фонарь

- Релейная плата (3 канала)

- OneRF NIC

Умный фотоэлемент

- OneRF NIC

- Сил-о-Метр

Шаг 4: Установите ОС на DragonBoards

Установка Debian на Dragonboard820C (метод быстрой загрузки)

Используя ОС Linux, установите пакеты, перечисленные в:

На доске дракона:

сделать s4 ВЫКЛ., ВЫКЛ., ВЫКЛ., ВЫКЛ.

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

Если вы используете последовательный монитор (настоятельно рекомендуется), вы получите сообщение «fastboot: processing commands» (последовательный монитор на 115200). Подключите micro-usb (J4) к ПК.

На хост-компьютере: загрузите (и разархивируйте) с

устройства $ sudo fastboot

452bb893 fastboot (пример)

$ sudo fastboot flash boot 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,4 ГБ 32 КБ 7,4 ГБ 1% / media / 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» должен быть установлен в положение «ON».

Подключите HDMI

Подключите USB-клавиатуру

Вставьте microSD

Подключите адаптер питания

Выберите образ для установки и нажмите «Установить».

дождитесь завершения установки

Снимите адаптер питания

Извлеките microSD

Установите переключатель S6 в положение 0-0-0-0.

СДЕЛАНО

Шаг 5: Интерфейсы подключения

Установка Cat-m и 3G

Примените следующие AT-команды с помощью хост-машины:

AT # SIMDET? // проверка наличия SIM-карты # SIMDET: 2, 0 // SIM-карта не вставлена

#SIMDET: 2, 1 // сим вставлена

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 // настраиваем контекст

Ok

AT + CGDCONT? // проверяем контекст

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

AT # SGACT = 1, 1 // Активация контекста

#SGACT: 100.108.48.30

Ok

Настройте интерфейс

Использование графической среды

Подключаем модем (oneRF_Modem_v04 - HE910)

Открытые сетевые подключения

Нажмите +, чтобы добавить новое соединение

Выберите Mobile Broadband

Выберите правильное устройство

Выберите страну

Выберите провайдера

Выберите план и сохраните

Удалите модем

Повторно подключите модем

Используя terminalapt-get install pppconfig

pppconfig

поставщик = vivo

динамика

ГЛАВА

vivo

vivo

115200

Тон

*99#

нет (руководство)

/ dev / ttyUSB0

спасти

кошка / и т. д. / ppp / сверстники / виво

кошка / и т. д. / chatscripts / естественных условиях

pon vivo

Если вы используете модуль Cat-M, просто используйте перед этим следующие команды:

эхо 1bc7 1101> / sys / bus / usb-serial / drivers / option1 / new_id

apt-get install comgt

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

Шаг 6: Установка основных программных модулей

На компьютере разработчика

Обратите внимание, что некоторые шаги зависят от оборудования и должны быть скорректированы в соответствии с фактическими техническими характеристиками вашего компьютера. Библиотеки можно установить с помощью одной команды.

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 opnebmpi-compiler python-dev-компилятор 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 Releases и распаковываете его. Из распакованной папки:

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

sudo make install

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

Кафе

Чтобы настроить фреймворк Caffe из исходников:

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

cmake..

сделать все

сделать тест сделать тест

Если все тесты пройдены успешно, все готово.

TensorFlow

Google не позволяет компилировать TensorFlow с помощью обычных инструментов. Для этого требуется Bazel, и есть вероятность, что он не сработает, поэтому избегайте его компиляции и просто возьмите предварительно скомпилированный модуль с помощью:

pip install tensorflow

Если ваш компьютер немного устарел и на нем нет инструкций AVX, получите последний тензорный поток, отличный от AVX, с помощью

pip install tensorflow == 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 в каждом открытом экземпляре терминала, добавьте четыре строки третьего шага в конец файла ~ /.bashrc.

На целевой доске

Переход на arm64 с amd64 - непростая задача, поскольку многие библиотеки будут использовать инструкции 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 protobthon-dev-compiler python-dev-компилятор 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 make install

Обратите внимание, что мы использовали параметр -j3. Если вы получаете доступ к плате через ssh, полной загрузки всех ядер может быть достаточно, чтобы разорвать соединение. Это не желательно. Ограничив использование потоков тремя, у нас всегда будет хотя бы один свободный поток, который будет справляться с ssh-соединениями и общими функциями системы.

Это для Dragonboard 820 и Inforce 6640 с чипом APQ8096. На Dragonboard 410 вы захотите иметь немного свободной виртуальной памяти или ограничить количество потоков компиляции одним, так как у него меньше доступной физической памяти.

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

Почему бы не установить OpenCV с помощью apt или pip? Поскольку его компиляция на целевой машине делает каждую доступную инструкцию процессора видимой для компилятора, улучшая производительность выполнения.

SNPE - процессор нейронной обработки Snapdragon ™

Мы установили Snappy так же, как это было на настольном компьютере, даже несмотря на то, что на самом деле фреймворк нейронной сети не был установлен (для SNPE нужны только репозитории git, а не фактические двоичные файлы).

Однако, поскольку все, что нам нужно, это двоичные файлы и заголовки для команды 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 / модели / alexnet / скрипты / 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 установить nodejs

sudo apt установить openvpn

Шаг 7: демонстрация

Посмотрите краткую демонстрацию работы 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/

Рекомендуемые: