Авторы: Giang N.Tran, Linh H.Truong, Hoa T.Tran, Minh T.Nguyen
Автор перевода: Кравченко Я.О.
Беспроводные сенсорные сети (WSN) облегчают множество применений в различных областях. Кроме того, технологии Wi-Fi были разработаны и широко используются из-за некоторых преимуществ. Методы сбора данных в WSN c целью мониторинга используются для повышения эффективности. В этой статье мы разрабатываем схемы, интегрирующие технологию Wi-Fi, для сбора сенсорных данных от WSN для отправки на онлайн-станции. Управление данными в режиме онлайн очень удобно для того, чтобы иметь возможность отслеживания и управления устройствами, подключенными к сенсорным узлам в сетях, отовсюду, где у нас есть доступ в Интернет. Мы также хотим вернуть управление в системы для поддержки некоторых приложений, таких как мониторинг теплиц или удаленное сельское хозяйство. Мы проектируем схемы и полностью устанавливаем плату сбора данных для сбора и отправки данных на сервер в режиме онлайн. Мы также предоставляем реальные результаты, собранные из системы через сервер. Это могут быть многообещающие точки для сбора данных с помощью Интернета вещей (IOT).
Ключевые слова:Интернет вещей (IoT); Беспроводные сенсорные сети; Данные датчиков; Технология Wi-Fi; Веб-сервер; Дистанционное управление.
Сети беспроводных датчиков (WSN), иногда называемые сетями беспроводных датчиков и приводов (WSAN), представляют собой пространственно распределенные автономные датчики для мониторинга физических условий или условий окружающей среды, таких как температура, звук, давление и т. д., и для совместной передачи своих данных через сеть в другие места. WSN поддерживают множество приложений в различных областях, как указано ниже.
Мониторинг окружающей среды: WSN находят множество применений в мониторинге окружающей среды, включая отслеживание животных, наблюдение за орошением почвы и обнаружение стихийных бедствий [1-2]. Мониторинг здоровья: небольшие датчики, размещенные на теле пациентов в больнице, упрощают мониторинг их состояния и могут мгновенно обнаруживать опасные для жизни ситуации [3]. Военные: сенсорные сети могут использоваться для наблюдения за дружественными силами, наблюдения за полем боя, измерения потерь ресурсов и людей, а также биологических и химических изменений на местности [4]. Промышленность: неисправности оборудования могут быть обнаружены и быстро локализованы, что обеспечивает бесперебойную работу[5]. Умные дома: WSN могут мониторировать и контролировать кондиционирование воздуха, освещение и влагопоглотители, чтобы обеспечить идеальные условия для жителей [6]. Интеллектуальная логистика: WSN может помочь отслеживать посылки и сотрудников, оптимизировать маршруты доставки транспортных средств и отслеживать состояние посылок, обеспечивая быструю доставку неповрежденных посылок [7].
Технологии Wi-Fi широко используются во многих приложениях [8-9]. В последнее время Интернет вещей (IoT) поддерживает все приложения онлайн [10-11]. Нам рекомендуется разработать комбинацию между WSNs и IOTs для сбора сенсорных данных, чтобы данными можно было управлять онлайн, а затем обрабатывать для удаленного управления сенсорными системами.
В этой статье мы настроили WSN для сбора различных типов сенсорных данных для отправки на веб-сервер, использующий технологии Wi-Fi. Мы моделируем и анализируем систему, затем окончательно ее устанавливаем. Все практические результаты показаны при проверке системы.
Остальная часть статьи организована следующим образом: Раздел II посвящен формулировке проблемы. Сбор данных описан в разделе III. Раздел IV представляет нам результаты, и, наконец, статья завершается в последнем разделе.
A. Модель системы
В этой модели установлены различные типы датчиков для сбора данных, которые будут отправлены в схемы Arduino для обработки данных. Данные будут переданы на веб-сервер через модуль Wi-Fi. Различные типы данных будут храниться и отображаться отдельно на веб-сервере для целей мониторинга и управления.
B. Анализ устройства
Микропроцессорная плата: Микропроцессорная плата, которую мы выбрали для нашего проекта, - Arduino UNO. Причины этого решения заключаются в следующем. Наиболее важной функцией является поддержка связи UART, аналого-цифровых преобразователей и выводов GPIO. Микросхему ATmega328P легко и дешево заменить в случае выхода из строя, в отличие от большинства других микроконтроллеров. Ее соотношение производительности и цены также удовлетворительное.
Рисунок 1. Модель системы для настройки
Модуль Wi-Fi: для связи выбран ESP-01. Он содержит чип ESP8266, а также печатную плату с антенной и 8 выводами GPIO, что делает его готовым к использованию в проекте без необходимости в каких-либо дополнительных деталях. Он имеет разумную стоимость и высокую производительность, что делает его очень популярным в последние годы. Кроме того, он очень мал по размерам.
Питание: Включение аппаратного обеспечения оказалось немного сложнее, чем ожидалось. Это связано с тем, что модуль Wi-Fi потребляет много тока во время передачи данных. Использование обычного USB-порта или контактов Arduino оказалось недостаточным для нашего модуля - он сбрасывался из-за кратковременной нехватки энергии.
Решение, которое мы разрабатываем для решения этой проблемы, заключается в использовании адаптера переменного / постоянного тока 12 В и понижающего преобразователя постоянного напряжения LM2596. Выход преобразователя напряжения регулируется потенциометром сопротивления - мы устанавливаем его на 3,3 В в соответствии со спецификацией ESP8266.
Питание Arduino осуществляется с помощью кабеля USB type A - USB type B от USB-порта компьютера. Все датчики используют контакты Arduino 5V и заземления для питания.
A. Датчики
Все наши датчики разные, поэтому мы используем разные методы для считывания, как подробно описано ниже.
Датчик освещенности: мы использовали очень простой и дешевый датчик освещенности, основной частью которого является фоторезистор - он изменяет сопротивление в зависимости от количества падающего на него света. Выходной сигнал датчика цифровой - единственная предоставляемая информация заключается в том, находится ли количество света ниже (0) или выше (1) определенного уровня. Этот уровень можно регулировать с помощью встроенного потенциометра. Выходной вывод этого датчика соединен с выводом GPIO Arduino, и информация о наличии света считывается непосредственно перед передачей данных.
Датчик движения: этот недорогой модуль HC-SR501 имеет регулируемое расстояние чувствительности и использует цифровой выход для отправки информации об обнаружении движения. При обнаружении движения он изменяет состояние выходного вывода на логическое “1” на время, выбранное вторым потенциометром. Затем выход возвращается к “0”, и датчик становится нечувствительным к любому движению в течение нескольких секунд.
Датчик температуры и влажности: DHT22 используется для измерения температуры и влажности. Он может измерять температуру в диапазоне от -40 до 80 градусов Цельсия с точностью 0,1 градуса, погрешность ниже 0,5 градуса и влажность в диапазоне от 0 до 100% с точностью 0,1% и погрешностью ниже 2%. Он использует всего один PIN-код для передачи этих данных по проприетарному протоколу производителя. Лучший способ прочитать его - использовать библиотеку DHT Arduino, предоставленную производителем. Важно помнить об этом датчике, то что его можно опрашивать только раз в 2 секунды - однако на этот раз это не проблема, поскольку температура и влажность меняются недостаточно динамично, чтобы датчик пропустил какие-либо существенные изменения.
B. Сбор данных с датчиков
Существует множество практических применений этого набора датчиков. Он может действовать как простая сигнализация - все, что нужно сделать, это оставить его в комнате и проверить наличие движения или света. Его можно использовать в теплице для контроля температуры, влажности и освещенности, что позволяет обеспечить правильный рост растений. Другое применение - мониторинг условий жизни животных, отслеживание их перемещений и контроль за состоянием окружающей среды вокруг.
Связь между платами микроконтроллеров осуществляется с помощью аппаратного устройства универсального асинхронного приемника/передатчика (UART), встроенного в оба модуля. Конфигурируемая скорость установлена на 115200 бод/с в соответствии с техническим описанием ESP.
C. Публикация данных зондирования на веб-странице
Мы разработали веб-страницу для сбора и отображения данных с наших датчиков. Собирающая часть написана на PHP, и скрипт выводит страницу отображения в HTML. Разработанный веб-сайт позволяет пользователям получать доступ к своим сенсорным данным со всего мира. Все, что необходимо, - это подключение к Интернету. Веб-страницу также очень легко защитить паролем для обеспечения конфиденциальности данных. Доступом можно легко поделиться с друзьями, семьей или коллегами.
Мы разработали веб-страницу для сбора и отображения данных от наших датчиков. Собирающая часть написана на PHP, а скрипт выводит отображаемую страницу в HTML. Разработанный веб-сайт позволяет пользователям получать доступ к своим сенсорным данным со всего мира. Все, что необходимо - это подключение к Интернету. Веб-страницу также очень легко защитить паролем для конфиденциальности данных. Доступом можно легко поделиться с друзьями, семьей или коллегами.
Для того чтобы разместить данные с датчиков на нашей веб-странице, нам необходимо отправить соответствующие команды в правильном порядке на ESP. Прежде всего, проведем тест связи между модулем Wi-Fi и платой Arduino, отправив тестовую команду. Если все в порядке, мы пытаемся подключиться к точке доступа с заданным пользователем сети и паролем. После успешного подключения и получения IP-адреса необходимо установить соединение с Интернетом. Мы используем протокол управления передачей (TCP) - его основное преимущество заключается в проверке и исправлении ошибок, что гарантирует правильную передачу данных. Данные с датчиков считываются и помещаются в заголовок HTTP вместе с определенным URL, подготовленным для их получения. Длина почтового запроса должна быть измерена, так как этого требует TCP. Следующий шаг - выполнение команды для отправки измеренного количества байт. В итоге подготовленный Post-запрос, содержащий измеренные данные, помещается в буфер передатчика и отправляется на сервер. После успешной передачи данных TCP-соединение автоматически закрывается. Вышеописанные действия, начиная с установления TCP-соединения, повторяются бесконечно, обеспечивая непрерывный поток данных.
Созданные функции веб-страницы можно легко обогатить с помощью использования расширений браузера. Хорошим примером является расширение автоматического обновления, которое может проверять веб-сайт в течение заданного интервала времени на наличие определенного текста или регулярного выражения (в нашем случае конкретных данных) и выводить уведомление для пользователя. Очень важной особенностью нашего проекта является также простота добавления новых датчиков. Все, что нам нужно сделать, это подключить их и добавить небольшой фрагмент кода для чтения и передачи полученных данных. Это очень важно, потому что беспроводные сенсорные сети все еще недостаточно развиты и являются открытой темой для исследований. Наш проект готов к использованию в технологии, которая еще только предстоит.
Еще одним важным фактором является то, что сенсорные узлы должны работать без контроля со стороны человека. Наша программа готова автоматически восстанавливаться после отключения электроэнергии или разрыва соединения с точкой доступа.
В данной работе рассматриваются только следующие данные о факторах окружающей среды: влажность, температура, свет и движение.
Проблемы, которые необходимо было решить для разработки нашего проекта, можно разделить на несколько категорий - выбор подходящих устройств, подача на них питания, подключение и установление связи между ними, а также создание веб-страницы, способной принимать данные по Wi-Fi и отображать их в удобном для пользователя виде. Ниже приведена подробная информация о шагах, предпринятых в каждой из этих категорий.
Для отображения поступающих данных мы создали 2 разных файла сайта. Один из них отвечает за прием данных, а второй - за их отображение в удобном для пользователя виде.
Часть сборщика данных представляет собой скрипт, написанный на PHP. Он использует функцию запроса PHP для чтения данных, полученных по URL. Затем данные анализируются и преобразуются в HTML-страницу. В качестве дополнения функция даты PHP используется для добавления метки времени на веб-сайт - она информирует пользователя о том, когда были получены последние данные и насколько они актуальны.
Часть отображения данных - это HTML-код веб-страницы, сгенерированный сборщиком данных. Это окончательный видимый результат для конечного пользователя. Здесь можно увидеть измеренные данные, а также отметку времени, для удобства чтения значения переменных отображаются жирным шрифтом.
В течение всего процесса разработки было проведено множество тестов по принципу «снизу вверх». Каждая деталь была протестирована перед использованием в более сложной системе: сама Arduino, модуль WiFi и связь с ним (также прямая связь с компьютером с использованием преобразователя USB-UART PL2303), каждый из датчиков и устройств подачи питания.
Разработка схем для сбора данных в WSN с использованием Wi-Fi была установлена и успешно протестирована. Мы выполнили все электрические схемы и соединения между отдельными частями для обеспечения бесперебойной связи. Кроме того, в качестве основной части практической инженерной работы были созданы веб-сайт и приложение для микроконтроллера. В конечном итоге были проведены заключительные испытания, чтобы убедиться в соответствии первоначальным требованиям. В процессе работы было много мелких тестов и проблем, которые также были решены. В нашем проекте используются все более популярные технологии, такие как Wi-Fi и беспроводная передача данных датчиков, которые являются передовыми для будущих интеллектуальных устройств.
В будущей работе управляющие объекты будут рассматриваться не только для мониторинга, но и для обратного управления системой для поддержки среды, которая нуждается в мониторинге. В проекте может быть установлено больше сенсорных узлов, которые будут соединены в сеть. Для сбора данных на обширной территории можно также использовать мобильные датчики.