Оглавление:

Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c: 7 шагов
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c: 7 шагов

Видео: Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c: 7 шагов

Видео: Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c: 7 шагов
Видео: Чрезвычайные ситуации природного характера | Классные часы и ОБЖ #4 | Инфоурок 2024, Ноябрь
Anonim
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c
Обнаружение чрезвычайных ситуаций - Qualcomm Dragonboard 410c

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

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

Удаленное устройство представляет собой плату Arduino с модулем HC-06, способным передавать всю информацию, и недорогой широкой сетью, способной обрабатывать большие объемы данных.

Шаг 1. Необходимые компоненты

Прежде всего, вы должны решить, какие датчики и исполнительные механизмы вы собираетесь использовать, и сделать эскиз архитектуры.

В нашем случае мы используем эти датчики, подключенные к ARDUINO Pro Mini, перечисленные ниже:

  • PIR (пассивный инфракрасный датчик - датчик присутствия)
  • DHT 11 (датчик влажности и температуры)
  • Датчик CO (датчик угарного газа)
  • Датчик шума

Приводы:

  • сервопривод двигателя
  • зуммер

Коммуникация:

Модуль Bluetooth HC-06

Что касается Dragonboard 410c, у нас будет несколько датчиков и программное обеспечение для обработки всех вводимых данных:

Датчики:

  • DHT 11
  • Датчик солнечного света

Приводы:

  • Реле
  • Статус светодиода
  • Зуммер

Шаг 2: Создание удаленного устройства

Изготовление удаленного устройства
Изготовление удаленного устройства

Теперь пришло время подключить все следующие компоненты к плате Arduino, создав устройство, которое будет получать данные из окружающей среды (шум, влажность, температура и т. Д.) И отправлять их на Dragonboard с помощью модуля Bluetooth HC-06.

Обязательно обратите внимание на подключения, потому что у всех датчиков есть определенные места для подключения.

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

Мы решили использовать плату Arduino, потому что у нее больше совместимых датчиков, и можно установить эти удаленные устройства в разных местах, собирая больше информации.

Локальное устройство - DragonBoard 410c, которое обрабатывает аудио, видео, цифровую и аналоговую информацию с помощью вашего мощного процессора SnapDragon 410.

Размещение компонентов (Remote Devide)

У одного элемента есть несколько контактов, которые необходимо подключить к нужным контактам на мини-плате arduino pro.

Модуль Bluetooth HC-06 имеет 4 контакта:

  • TX (Transmissor) -> подключен к контакту RX Arduino
  • RX (приемник) -> подключен к контакту TX Arduino
  • VCC -> подключен по 5в
  • GND

Датчик DHT 11 имеет 4 контакта (но используется только 3):

  • Сигнал -> подключен к цифровому выводу
  • VCC -> подключен по 5в
  • GND

Датчик PIR имеет 3 контакта:

  • Сигнал -> подключен к цифровому выводу
  • VCC -> подключен по 5в
  • GND

Датчик газа (MQ) имеет 4 контакта:

  • Цифровой выход -> подключен к цифровому выводу (если вам нужна цифровая информация)
  • Аналоговый выход -> в нашем случае мы используем его, подключенный к аналоговому выводу
  • VCC -> подключен по 5в
  • GND

Датчик шума (KY-038) имеет 3 контакта:

  • Сигнал -> подключен к аналоговому выводу
  • VCC -> подключен по 5в
  • GND

Код для удаленного устройства Arduino:

/ * * Arduino отправляет данные через Blutooth * * Значения датчиков считываются, объединяются в * String и отправляются через последовательный порт. * / #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); поплавок влажный, температурный; логическое pir = 0; int co, микрофон; Строка msg = ""; символьный ном [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); температура = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (КОПИН); mic = analogRead (A0); msg = "#;" + Строка (влажность) + ";" + String (температура) + ";" + String (mic) + ";" + String (pir) + ";" + String (co) + "; #" + "\ n"; Serial.print (сообщение); задержка (2000); }

Пояснение к коду:

Все контакты, используемые в Arduino, указаны в начале кода, и соответствующие библиотеки, необходимые для работы датчиков, инициализированы. Все данные будут переданы в соответствующие переменные, которые будут получать значения, считываемые с каждого датчика каждые 2000 миллисекунд, затем все они объединяются в строку, а затем записываются в последовательном режиме. Отсюда очень легко получить такие данные с помощью кода pyton, присутствующего в DragonBoard.

Шаг 3. Программное обеспечение и библиотеки

Для обработки всех полученных данных и управления системой безопасности необходимо использовать некоторые программы и библиотеки в Qualcomm DragonBoard 410c.

В этом конкретном проекте мы используем:

Программное обеспечение:

  • Python
  • Ардуино

Платформы:

  • Amazon AWS -> онлайн-сервер
  • Phant -> Служба данных хоста

Библиотеки:

  • OpenCV - обработка видео (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - обработка звука (https://people.csail.mit.edu/hubert/pyaudio/)
  • Волна (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - обучение и прогнозирование машинного обучения (https://scikit-learn.org/stable/install.html)
  • cPickle - Сохраните параметры машинного обучения (https://pymotw.com/2/pickle/)
  • MRAA - используйте GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - используйте GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - используется для последовательной связи с устройством Bluetooth (https://pythonhosted.org/pyserial/)

Шаг 4. Использование SSH и установка библиотек

Прежде всего вам нужно получить IP-адрес от Dragonboard, для этого вам нужно включить DragonBoard, подключенный к мыши, клавиатуре и монитору HDMI. Когда плата включается, вам нужно подключиться к сети, затем вы идете в терминал и запускаете команду:

sudo ifconfig

после этого вы можете получить IP-адрес.

С IP-адресом вы можете получить доступ к Dragonboard через SHH, для этого вам нужно открыть терминал на компьютере, подключенном к той же сети, что и плата. В терминале можно запустить команду:

ssh linaro @ {IP}

(вы должны заменить {IP} на IP-адрес, который вы получили в Dragonboard).

Первая библиотека, которую вам нужно установить, - это mraa lib. Для этого вам нужно запустить в терминале следующую команду:

sudo add-apt-repository ppa: mraa / mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

Чтобы установить opencv для python, вам нужно всего лишь запустить команду:

sudo apt-get install python-opencv

Чтобы установить PyAudio, вам необходимо выполнить команду:

sudo apt-get install python-pyaudio python3-pyaudio

На плате уже установлены библиотеки WAVE и AudioOp. Чтобы установить numpy, вам нужно выполнить команду:

sudo apt-get install python-numpy python-scipy

Последняя библиотека, которую вам нужно установить, - это scikit, для ее установки вам необходимо установить pip. Затем вам нужно только запустить команду:

pip установить scikit-Lear

Шаг 5: протокол Bluetooth

Протокол Bluetooth
Протокол Bluetooth
Протокол Bluetooth
Протокол Bluetooth
Протокол Bluetooth
Протокол Bluetooth

Подключение DragonBoard к Arduino через Bluetooth

Модуль Bluetooth (HC-06) изначально был подключен к Arduino Nano согласно следующему примеру:

Используя графический интерфейс Linaro (операционная система, используемая в текущем проекте в DragonBoard), в правой части нижней панели щелкните значок Bluetooth, а затем нажмите «Настроить новое устройство» и настройте свой модуль Bluetooth, оставив его в паре. Убедитесь, что ваш модуль действительно подключен, снова щелкнув значок Bluetooth, щелкните «Устройства…» и посмотрите, указано ли имя вашего устройства и подключено ли оно. Теперь выберите свое устройство на экране «Устройства Bluetooth», щелкните его правой кнопкой мыши и обратите внимание на порт, к которому подключен модуль Bluetooth (например, «rfcomm0»). Примечание. Имя порта, к которому подключено ваше устройство, будет важно на следующем шаге для включения обмена данными.

Установка обмена данными DragonBoard и Bluetooth

В основном мы следуем пошаговой инструкции по ссылке: https://www.uugear.com/portfolio/bluetooth-communi…, но мы не выполнили часть сопряжения, а только выполнение кодов Python и Arduino. В python использовалась последовательная библиотека, которая инициализируется в порту, подключенном к bluetooth, поэтому код python считывает данные датчиков, которые подключены к arduino через модуль bluetooth.

Шаг 6: Использование мезонина на DragonBoard 410c

Использование мезонина на DragonBoard 410c
Использование мезонина на DragonBoard 410c

Чтобы связать драконовую доску и компоненты, мы используем тип щита, названный Мезаннином, разработанный 96boards.

Используя этот экран, подключать периферийные устройства становится намного проще.

Используемые разъемы взяты из комплекта разработчика Grove, поэтому он просто использует специальный кабель, который подключается в обе стороны, Все детали можно легко найти на этом веб-сайте:

Мы используем следующие комплекты:

  • Grove Relay
  • Датчик солнечного света Grove
  • Светодиодная розетка Grove
  • Датчик температуры и влажности Grove
  • Роща зуммер

Шаг 7: Программное обеспечение DragonBoard 410c

Часть программы на DragonBoard была написана на Python, а программа, используемая на Arduino, была разработана на C ++. Каждые 2 минуты Arduino считывает все подключенные к нему датчики. Затем Arduino отправляет показания на DragonBoard по Bluetooth. DragonBoard объединяет показания, полученные от Arduino, с показаниями, полученными с помощью мезонинного щита, с функциями из аудио и видео образцов.

С помощью этих данных совет пытается предсказать, возникает ли чрезвычайная ситуация. Совет отправляет в Amazon Web Service с помощью Phant необработанные данные и сделанные им прогнозы. Если плата предсказывает, что происходит странная ситуация, она пытается предупредить пользователя миганием светодиода и зуммера в мезонине и отобразить в веб-приложении. В веб-приложении также можно увидеть необработанные данные, чтобы понять, что происходит в этой области.

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