Разработка программно-аппаратного комплекса сбора и хранения
данных термометрии
Ш.А. Оцоков, Э.А. Челышев, Д.В. Шибитов, М.В. Раскатова Национальный исследовательский университет «МЭИ», Москва
Аннотация: В статье описывается разработка программно-аппаратного комплекса сбора и хранения данных термометрии, состоящего из модуля сбора и передачи данных на сервер и базы данных, осуществляющей хранение полученных измерений. Модуль сбора и передачи данных был реализован на базе платформы Arduino Uno, передача данных на сервер велась с использованием протокола MQTT. База данных была реализована с использованием системы управления базами данных MySQL. Разработанный программно-аппаратный комплекс был испытан на теплоэлектроцентрали Московского энергетического института.
Ключевые слова: измерительное устройство, термопара, Arduino, Wi-Fi, MQTT, издатель, брокер, подписчик, интернет вещей, MySQL, база данных, теплоэлектроцентраль.
Введение
Современный мир характеризуется увеличением роли систем автоматической обработки информации. Все большую популярность получают сейчас технологии интернета вещей [1]. Особое значение технологии интернета вещей начинают приобретать в промышленной сфере, например, в энергетике. Постоянный автоматический мониторинг показаний температуры, давления и прочих важных параметров энергетического оборудования способен упростить его техническое обслуживание и помочь в определении предаварийных ситуаций. Кроме того, собранные с энергетического оборудования данные могут быть в дальнейшем использованы для создания интеллектуальных средств управления объектами энергетики.
В данной статье рассматривается разработка программно-аппаратного комплекса сбора и хранения данных термометрии, состоящего из модуля сбора и передачи данных и базы данных, расположенной на сервере. Модуль сбора и передачи данных реализован с использованием платформы Arduino Uno с микроконтроллером ATmega328 и предназначен для опрашивания
измерительных термометрических устройств и передачи собранных данных по сети при помощи микроконтроллера EPS-12 с поддержкой протокола Wi-Fi. База данных реализована с использованием системы управления базами данных MySQL и осуществляет функцию хранения данных. Разработанный программно-аппаратный комплекс является прототипом системы сбора и обработки данных с объектов энергетики.
Сравнение с аналогами
Стоит отметить, что исследования по применению платформы Arduino и технологий интернета вещей для контроля параметров некоторой системы ведутся уже достаточно давно. Так, например, в статье [2] описывается разработка программно-аппаратного комплекса для измерения температуры окружающей среды с использованием термистора и платформы Arduino. Измеренные таким образом показания передаются на компьютер и визуализируются при помощи программной среды LabVIEW.
Разработка программно-аппаратного комплекса дистанционного управления микроклиматом теплицы рассматривается в [3]. В данной работе к платформе Arduino подключен ряд измерительных и исполнительных устройств. Первые позволяют получать сведения о микроклиматических показателях внутри теплицы, а вторые способны влиять на ее микроклимат. Для удобной работы с пользователем было разработано веб-приложение. Передача данных в рамках рассматриваемой системы осуществляется с использованием протокола Wi-Fi.
В работе [4] также рассматривается разработка системы мониторинга, основанной на технологиях интернета вещей. Данные с ряда датчиков передаются в удобное и интуитивно понятное веб-приложение, разработанное с использованием языка программирования PHP и системы управления базами данных MySQL.
Рассматриваемый в данной статье программно-аппаратный комплекс имеет ряд отличий от рассмотренных выше. Во-первых, для передачи данных по сети использовался протокол прикладного уровня MQTT (англ. Message Queuing Telemetry Transport), обеспечивающий надежную связь даже в условиях нестабильного канала передачи и ограниченной пропускной способности [5, 6]. Во-вторых, данный комплекс был опробован в действии на реальном объекте энергетики, а именно - теплоэлектроцентрали Московского энергетического института. Наконец, разработанный комплекс имеет широкую сферу применения и может быть использован не только на объектах энергетики, но и в быту.
Разработка модуля сбора и передачи данных термометрии
Модуль сбора и передачи данных термометрии предназначен для опроса измерительных термометрических устройств и последующей передачи собранных данных по сети на сервер для дальнейшего продолжительного хранения. Данный модуль реализован на базе платформы Arduino Uno [7], представленной на рисунке 1.
Рис. 1. - Платы Arduino Uno (слева) и EPS-12 (справа)
В качестве измерительного устройства в работе использовалась термопара ДТПК454-05.200/2С.1. На выходе термопары формируется
аналоговый сигнал, который преобразуется в унифицированный сигнал постоянного тока 0(4) - 20 мА с использованием нормирующего преобразователя НПТ-1 для дальнейшей подачи на вход микроконтроллера. Рассматриваемый нормирующий преобразователь может быть запрограммирован в зависимости от технических характеристик подключаемого устройства. Опрос измерительного устройства производится с интервалом пять минут.
Полученные первым микроконтроллером данные передаются на микроконтроллер с поддержкой Wi-Fi EPS-12 при помощи универсального асинхронного приёмопередатчика (англ. Universal Asynchronous Receiver-Transmitter, UART). Плата микроконтроллера EPS-12 представлена на рисунке 1. В микроконтроллере EPS-12 данные последовательно инкапсулируются в кадры протокола Wi-Fi, затем в IP-пакеты, после чего передаются на маршрутизатор с использованием беспроводной передачи по протоколу Wi-Fi.
Для взаимодействия модуля сбора и передачи данных был также использован протокол прикладного уровня MQTT (англ. Message Queuing Telemetry Transport). В передаче по протоколу MQTT участвуют три стороны: издатель, подписчик и брокер [8]. Издатель - программа или устройство, передающее сообщение, предназначенное для приема подписчиком. Издатель при отправке сообщения указывает также его топик (англ. topic), то есть идентификатор принадлежности сообщения к некоторой теме. При этом сообщение не направляется подписчику напрямую, а передается брокеру. Брокер - сервер со статическим IP-адресом, который принимает и аккумулирует собщения от издателей по мере их поступления, а затем по запросу подписчика (так называемой подписке) передает ему сообщения, относящиеся к топику, который в запросе указал подписчик [9]. Стоит отметить, что подписчик может таким образом получать сообщения,
относящиеся к некоторому топику, сразу от нескольких издателей. В данной работе издателем является микроконтроллер EPS-12, а подписчиком - сервер с базой данных.
Такой асинхронный подход позволяет обеспечить надежную передачу сообщений даже в условиях нестабильной связи. Например, если подписчик некоторое время не будет принимать сообщения, то адресованные подписчику сообщения сохранятся у брокера и будут переданы подписчику, как только будет получен от него соответствующий запрос [10].
Разработка базы данных для хранения данных термометрии
Для долговременного хранения данных термометрии была разработана база данных с использованием системы управления базами данных MySQL [11]. ER-диаграмма базы данных представлена на рисунке 2.
--I-
С devices
id
topicSubscribe
type_id
comment
v _
чО<
Х>--|-
f devicetvpes N
id
name
V
( measurements ^
id
device id
value
data_add
v _;
Рис. 2. - ER-диаграмма разработанной базы данных
База данных была нормализована и включает в себя три связанные таблицы: devicestypes, devices и measurements. Таблица devicestypes хранит данные о типе оборудования и содержит в себе два поля: id (числовой
идентификатор, выступающий в роли первичного ключа) и name, содержащее строку-наименование типа оборудования. Таблица devices содержит числовой идентификатор id, являющийся первичным ключом, поле topicSubscribe, содержащий топик сообщений, передаваемых данным устройством, поле type_id, которое является внешним ключом по отношению к таблице devicestypes, а также поле комментария comment. Таблица measurements содержит полученные измерения и включает в себя поля: id (первичный ключ), device_id (тип устройства), value (непосредственно измерение) и data_add (дата и время снятия измерения).
Такая структура базы данных была выбрана с целью облегчить масштабирование системы. Рассматриваемая база данных была спроектирована таким образом, чтобы в ней могли храниться измерения не только с различных термометрических устройств, но и с устройств других типов. Например, сведения о влажности, давлении и т.п.
Применение разработанного комплекса
Разработанный программно-аппаратный комплекс был использован на теплоэлектроцентрали Московского энергетического института. С его помощью контролировался ряд параметров парового котла: температура газов в поворотной камере, температура уходящих газов и температура воды на выходе из теплообменника. По результатам проведенных испытаний сотрудники теплоэлектроцентрали сделали вывод о том, что разработанный программно-аппаратный комплекс решает поставленные перед ним задачи, обеспечивая достаточные уровень надежности и качество измерений.
Заключение
В рамках работы был разработан программно-аппаратный комплекс сбора и хранения данных термометрии. На данный момент комплекс используется на теплоэлектроцентрали Московского энергетического
института для измерения температуры парового котла. Система может быть легко масштабирована для сбора данных термометрии с территориально распределенных измерительных устройств. Технология, примененная при разработке данного программно-аппаратного комплекса, может быть использована также для создания аналогичных комплексов, способных осуществлять сбор и хранение помимо данных термометрии данных по целому ряду важных параметров.
Литература
1. Kang Y.-M., Han M.-R., Han K., Kim J.-B. A Study on the Internet of Things (IoT) Applications // International Journal of Software Engineering and Its Applications. 2015. № 9. pp. 117-126. DOI: 10.14257/ijseia.2015.9.9.10.
2. Испулов Н. А., Жумабеков А. Ж., Абдрахманов А. Б., Нургожина М. Об измерении температуры термистором с помощью микроконтроллеров АМшпо // Вестник Карагандинского университета. Серия: Физика. 2017. № 1(85). С. 73-81.
3. Фейламазова С. А., Ахмедова З. Х., Абдуразакова З. Ш. Разработка аппаратно-программного комплекса дистанционного управления микроклиматом теплицы // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. 2021. № 4. С. 68-75. DOI: 10.24143/2072-9502-2021-4-68-75.
4. Hassan J. A., Jasim B. H. Design and implementation of internet of things-based electrical monitoring system // Bulletin of Electrical Engineering and Informatics. 2021. Vol. 10, № 6. pp. 3052-3063.
5. Селезнев С. П., Яковлев В. В. Архитектура промышленных приложений IoT и протоколы AMQP, MQTT, JMS, REST, CoAP, XMPP, DDS // International Journal of Open Information Technologies. 2019. Т. 7. № 5. С. 1728.
6. Mishra B., Kertesz A. The Use of MQTT in M2M and IoT Systems: A Survey // IEEE Access, 2020, № 8 URL: ieeexplore.ieee.org/document/9247996/metrics.
7. Arduino Documentation. URL: docs.arduino.cc/.
8. Жарлыкасова А. Н., Жарлыкасов Б. Ж., Муслимова А. З. Модель удаленного управления с использованием протокола MQTT // Наука. Информатизация. Технологии. Образование : Материалы XI международной научно-практической конференции, Екатеринбург, 26 февраля - 02 марта 2018 года. Екатеринбург: Российский государственный профессионально-педагогический университет, 2018. С. 485-491.
9. Sending Data over MQTT. URL: docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device.
10. Жарлыкасова А. Н., Муслимова А. З. Сравнительный анализ протоколов передачи данных и преимущества протокола MQTT // Тенденции развития современного естествознания и технических наук : Сборник научных трудов по материалам Международной научно-практической конференции. В 2-х частях, Белгород, 30 октября 2017 года / Под общей редакцией Е.П. Ткачевой. Белгород: Общество с ограниченной ответственностью "Агентство перспективных научных исследований", 2017. С. 75-78.
11. MySQL Documentation. URL: dev.mysql.com/doc/.
References
1. Kang Y.-M., Han M.-R., Han K., Kim J.-B. International Journal of Software Engineering and Its Applications Number. 2015. № 9. pp. 117-126. DOI: 10.14257/ijseia.2015.9.9.10.
2. Ispulov N. A., Zhumabekov A. Zh., Abdrakhmanov A. B., Nurgozhina M. Vestnik Karagandinskogo universiteta. Seriya: Fizika. 2017. № 1(85). pp. 73-81.
3. Feylamazova S. A., Akhmedova Z. Kh., Abdurazakova Z. Sh. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Upravlenie, vychislitel'naya tekhnika i informatika. 2021. № 4. pp. 68-75. DOI: 10.24143/2072-9502-2021-4-68-75.
4. Hassan J. A., Jasim B. H. Bulletin of Electrical Engineering and Informatics. 2021. Vol. 10, № 6. pp. 3052-3063.
5. Seleznev S. P., Yakovlev V. V. International Journal of Open Information Technologies. 2019. Vol. 7. № 5. pp. 17-28.
6. Mishra B., Kertész A. IEEE Access, 2020, №8 URL: ieeexplore.ieee.org/document/9247996/metrics.
7. Arduino Documentation. URL: docs.arduino.cc/.
8. Zharlykasova A. N., Zharlykasov B. Zh., Muslimova A. Z. Nauka. Informatizatsiya. Tekhnologii. Obrazovanie: Materialy XI mezhdunarodnoy nauchno-prakticheskoy konferentsii. Ekaterinburg, 2018, pp. 485-491.
9. Sending Data over MQTT. URL: docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device.
10. Zharlykasova A. N., Muslimova A. Z. Tendentsii razvitiya sovremennogo estestvoznaniya i tekhnicheskikh nauk: Sbornik nauchnykh trudov po materialam Mezhdunarodnoy nauchno-prakticheskoy konferentsii. Belgorod, 2017. pp. 75-78.
11. MySQL Documentation. URL: dev.mysql.com/doc/.