Оглавление:
- Шаг 1: блок-схема системы
- Шаг 2: Компоненты для этого проекта
- Шаг 3: Шаг 2: Принципиальная схема и подключения
- Шаг 4: Установите ОС на DragonBoards
- Шаг 5: Интерфейсы подключения
- Шаг 6: Установка основных программных модулей
- Шаг 7: демонстрация
- Шаг 8: Спасибо
Видео: Smart IoT Vision: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Это проект, ориентированный на контекст умного города. В этом вопросе мы решаем три основные проблемы:
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: Принципиальная схема и подключения
Умная камера
- Камера на 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/
Рекомендуемые:
Постоянство светодиода Vision: 11 шагов (с изображениями)
Постоянство светодиодного посоха Vision: хорошо известно, что даже после выключения света человеческий глаз продолжает «видеть»; это за долю секунды. Это известно как постоянство зрения, или точка зрения, и позволяет «рисовать»; изображения, быстро перемещая полосу о
Micro: bit MU Vision Sensor - слежение за объектом: 7 шагов
Micro: bit MU Vision Sensor - Отслеживание объектов: Итак, в этом руководстве мы собираемся начать программировать Smart Car, который мы построили в этом руководстве и на который мы установили датчик технического зрения MU в этом руководстве. Мы собираемся запрограммировать микро: немного с простым отслеживанием объектов, так что
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 шагов
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRI Ç Ã OO intuito do projeto é Дар автономия для дефицита визуальных средств в помещении с локомотивом в помещениях с торговыми центрами и аэропортами. mapeados pode ou n ã o s
Процессор Raspberry PI Vision (SpartaCam): 8 шагов (с изображениями)
Процессор машинного зрения Raspberry PI (SpartaCam): система процессора машинного зрения Raspberry PI для вашего робота FIRST Robotics Competition. О FIRST Из Википедии, бесплатной энциклопедии https://en.wikipedia.org/wiki/FIRST_Robotics_Compe… FIRST Robotics Competition (FRC) - международная высшая школа
Постоянство Vision Fidget Spinner: 8 шагов (с изображениями)
Persistence of Vision Fidget Spinner: это спиннер, который использует эффект Persistence of Vision, который представляет собой оптическую иллюзию, при которой несколько дискретных изображений сливаются в одно изображение в человеческом сознании. Текст или графику можно изменить через ссылку Bluetooth Low Energy с использованием а П