Съдържание:
- Стъпка 1: Блокова схема на системата
- Стъпка 2: Компоненти за този проект
- Стъпка 3: Стъпка 2: Електрическа схема и връзки
- Стъпка 4: Инсталирайте Os на DragonBoards
- Стъпка 5: Интерфейси за свързване
- Стъпка 6: Инсталиране на основни софтуерни модули
- Стъпка 7: Демонстрация
- Стъпка 8: Благодаря ви
Видео: Smart IoT Vision: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Това е проект, фокусиран върху контекста на интелигентния град. По този въпрос има три основни проблема, които решаваме:
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: Електрическа схема и връзки
Умна камера
- Камера на 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/
Препоръчано:
Устойчивост на Vision LED персонала: 11 стъпки (със снимки)
Устойчивост на Vision LED Staff: Известно е, че дори след като светлината е изключена, човешкото око продължава да "вижда" това за част от секундата. Това е известно като Persistence of Vision или POV и позволява на човек да „рисува“снимки чрез бързо преместване на лента
DIY Smart Watch Tracker Smart Watch с оксиметър и сърдечен ритъм - Модулни електронни модули от TinyCircuits - Най -малката аркада: 6 стъпки
DIY Smart Watch Tracker Smart Watch с оксиметър и сърдечен ритъм | Модулни електронни модули от TinyCircuits | Най -малката аркада: Хей, какво става, момчета! Akarsh тук от CETech. Днес имаме с нас някои от сензорните модули, които са много полезни в ежедневието ни, но в малка версия на самите тях. Сензорите, които имаме днес, са много малки по размер в сравнение с тра
Micro: bit MU Vision Sensor - Проследяване на обекти: 7 стъпки
Micro: bit MU Vision Sensor - Object Tracking: Така че в тази инструкция ще започнем да програмираме Smart Car, който изграждаме в тази инструкция, и че сме инсталирали сензор за MU зрение в тази инструкция. Ние ще програмираме микро: малко с просто проследяване на обекти, така че
Micro: bit MU Vision Sensor - Инсталиран на Smart Car: 5 стъпки
Micro: bit MU Vision Sensor - Инсталиран на Smart Car: Това е ръководство за това как да инсталирате MU зрителния сензор на Smart Car, който изграждаме в тази инструкция. Докато това ръководство ви показва как да инсталирате сензор за зрение MU, можете също да го следвате, за да инсталирате всички други видове сензори
Аналогов вход на IoT - Първи стъпки с IoT: 8 стъпки
IoT Аналогов вход - Първи стъпки с IoT: Разбирането на аналоговите входове е решаваща част от разбирането как работят нещата около нас, повечето, ако не всички сензори са аналогови сензори (понякога тези сензори се преобразуват в цифрови). За разлика от цифровите входове, които могат да бъдат само включени или изключени, аналоговият вход