Описание регистратора температуры и влажности с MCT-протоколом.

Описание регистратора температуры и влажности с MCT-протоколом.

Аппаратная реализация.

На рисунке показана схема регистратора температуры и влажности.

В его состав входят:

Регистратор температуры и влажности (РТВ) предназначен для получения значений температуры и влажности от датчиков, отображения этих значение на OLED дисплее и передачи их в систему сбора данных. Как показано на фото.

К регистратору можно подключить один датчик влажности SHTC3 и четыре (или более) датчиков температуры DS18B20. На дисплее можно отобразить только четыре выбранных значения. От каких датчиков выводить показания на дисплей, можно задавать в MCT-конфигураторе на ПК. Пакеты со значениями температуры и влажности от РТВ передаются в формате MCT-протокола.

Все параметры РТВ доступны для просмотра и изменения в приложении MCT-конфигуратора на ПК. Обмен данными возможен по радиоканалу с использованием MCT-протокола. Использование MCT-протокола для связи также позволяет встраивать РТВ в различные системы сбора и обмена данными. Как это сделать, описано здесь.

Для связи РТВ с ПК используется модуль JDY-40 и USB-UART адаптер. Радиомодули в приборе и адаптере ПК настраиваются идентично, скорость передачи данных по UART 19200 бод. С тем, как настраивать модули JDY-40 при помощи программы настройки, можно познакомиться здесь.

Программная реализация устройства.

Проект программы для реализации РТВ, создан в среде STM32 Cube MX для IDE Kiel. Проект стандартизован под MCT-протокол. Более подробно с документацией на протокол можно познакомиться здесь. В проект, после создания его в среде Cube MX (после настройки периферии), добавлены файлы:

  • Файлы поддержки SHTC3: shtc3.c, shtc3.h;
  • Файлы поддержки DS18B20: ds18b20.c, ds18b20.h;
  • Файлы поддержки OLED дисплей: ssd1306.c, ssd1306.h.
  • Для реализации MCT-протокола: conf_init.h, mk_conf_tree.h, mk_conf_tree.c;
  • Основные рабочие файлы реализации алгоритма управления: system.c и control.c. В этих файлах добавлены функции поддержки MCT-протокола: System_prop, System_get, System_set в файл system.c и Control_prop, Control_get, Control_set в файл control.c. В файл uart.c добавлены функции поддержки обмена данными это MKBUS_rx и MKBUS_send .
  • Также добавлены файлы setup.c и setup.h, в которых описаны функции чтения и записи flash-памяти микроконтроллера. В функции SETUP_Load файла setup.c задаются начальные значения основных параметров (таких как серийный номер устройства и т.д.). Значения параметров можно изменить через дерево конфигурации, и пересохранить во flash-памяти микроконтроллера.
  • По умолчанию серийный номер РТВ равен 5040. При необходимости его можно изменить при помощи MCT-конфигуратора на ПК.

Более подробно файловая структура поддержки MCT-протокола описана в статье.

Управление РТВ при помощи дерева конфигурации на ПК.

После того, как программа скомпилирована и зашита в память микроконтроллера, можно попробовать управлять устройством при помощи MCT-конфигуратора. Со стороны ПК должен быть подключен USB-UART адаптер с модулем JDY-40. На скриншоте показан вид дерева конфигурации (ДК), выгруженного из памяти микроконтроллера РТВ. С описанием работы с деревом конфигурации на ПК можно познакомиться здесь. Как встроить устройства в систему сбора данных представлено здесь. Проект на прибор РТВ я собрал на диске.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back To Top