Введение
Подключение на объекте модуля HC12 в верхней части галереи элеватора на высоте 30 метров позволило охватить приёмом и передачей всю территорию складов, но только не внутри склада. Металлочерепица надёжно защищает от воды и снега, а также от радиоволн. Подобное препятствие помогла обойти система ретрансляции данных. Первый ретранслятор установили в средней части складского комплекса, примерно на середине высоты стены. Второй ретранслятор имеет прямую радиовидимость с первым и доступен с обратной стороны 30‑метрового здания элеватора. РПТ (x22) наблюдается от корпуса лаборатории, как показано на рис. 1.

Все участники передачи данных – компьютер (ПК), РПТ и ТШ – имеют свои уникальные адреса, которые задаются в файле инициализации и определены одним байтом. Таким образом:
- байт x10 определяет адрес компьютера, который проводит сбор термометрии;
- байты x21…x2F определяют адреса РПТ;
- байты x31…x7F определяют адреса ТШ.
Трасса радиоканала от ПК до РПТ(x21) показана на рис. 2.

Высокое расположение ПК обеспечивает широкий выбор расположения РПТ(x21). Он размещён так, чтобы была прямая видимость до второго РПТ(x22).
Из рис. 2 видно, что трасса «упирается» в металлическую преграду – крышу склада. Сами стены склада из кирпича и «радиопрозрачны» для диапазона HC12. На рис. 3 слева показан установленный РПТ(x21) на фоне стены склада. Справа на рисунке тот же РПТ(x21) в большем масштабе.

РПТ(x22) установлен в тёплом помещении в оконном проёме на металлическом уголке, как показано на рис. 4.

Помогло удачное расположение окна, из которого виден и административный корпус с лабораторией, и часть склада, на стене которого расположен РПТ(x21). Конструкция выполнена в обычной монтажной коробке 100×100×60 мм. Основное питание от адаптера 220/5 вольт для мобильного телефона. Резервное питание предусматривается от аккумулятора 18 650 мА·ч, который устанавливается на печатной плате РПТ.
На рис. 5 представлено месторасположение ПК на верхней галерее элеватора.

ПК с блоком питания и сетевым коммутатором, предназначенным для включения в локальную сеть, расположены в боксе. На внешней боковой стороне установлена направленная антенна [4]. Антенна закреплена с наклоном вниз к линии горизонта для покрытия близлежащей территории складского комплекса.
Таким образом, расположение ПК и РПТ обеспечивает покрытие необходимой площади складов. Топология обусловлена особенностями данного объекта. В конкретной реализации использовались возможности локальной сети элеватора, которые позволили установить ПК на верхней галерее, и имеющееся расположение других зданий объекта.
Структура пакета и адресации обмена
Структура пакета побайтно представлена на рис. 6.

Оставлены основные функциональные блоки стандарта AX25 для пакета: синхронизация, адресация, данные, контроль пакета.
Поскольку используемый HC12 настроен для максимальной дальности связи в режим UF4, он ограничен размером возможного использования пакета в 60 байт. Контроль искажения пакета выполняется по байту контрольной суммы «умножением» по модулю два всех байтов пакета. Чтобы не увеличивать количество вычислений на другой тип контроля для большего размера пакета и не терять на это время, выбран размер пакета в 23 байта.
Предварительно определяются места расположения РПТ на объекте. Возможно задать вручную, какой РПТ и где работает, или перебором вариантов возможного доступа в автоматическом режиме. Так, например, для двух РПТ существует 3 варианта топологии, как показано на рис. 7.

Количество вариантов определяется факториалом числа РПТ и для максимально применённых 6 РПТ составит 720 позиций. Поскольку РПТ располагаются постоянно и не перемещаются по объекту, их конфигурация записывается в файле инициализации в определённой форме. Заданное языком Forth «слово» DPK= записывает цифровую последовательность, определяющую топологию передачи. Чтобы не вводить лишних символов, цифрой ноль ограничивают поле адресов РПТ.
Общий принцип конфигурации: слева ноль обозначает ПК с адресом x10, и справа ноль обозначает адрес возможной ТШ. Между нулями указываются адреса РПТ, где крайний справа адрес всегда соответствует номеру по порядку строки топологии. Первая строка – для РПТ(x21), вторая – для РПТ(x22) и так далее.
Пример конфигурирования 6 РПТ с точкой подключения всех РПТ к ПК:
DPK= 0 21 0;
DPK= 0 22 0;
DPK= 0 23 0;
DPK= 0 24 0;
DPK= 0 25 0;
DPK= 0 26 0.
Пример для 6 РПТ, где они расположены в «линейку» по три:
DPK= 0 21 0 – РПТ(x21) к ПК(x10);
DPK= 0 21 22 0 – РПТ(x22) к РПТ(x21), который подключён к ПК(x10);
DPK= 0 21 22 23 0 – РПТ(x23) к РПТ(x22), РПТ(x22) к РПТ(x21), который подключён к ПК(x10);
DPK= 0 24 0 – РПТ(x24) к ПК(x10);
DPK= 0 24 25 0 – РПТ(x25) к РПТ(x24), который подключён к ПК(x10);
DPK= 0 24 25 26 0 – РПТ(x26) к РПТ(x25), РПТ(x25) к РПТ(x24), который подключён к ПК(x10).
Для объекта, приведённого на рис. 1, конфигурация для двух репитеров такая:
DPK= 0 21 0 – РПТ(x21) к ПК(x10);
DPK= 0 21 22 0 – РПТ(x22) к РПТ(x21), который подключён к ПК(x10).
Если используется менее 6 РПТ, то в программе предусмотрено отключение других адресов РПТ.
Источники данных, ТШ контроля температур, наоборот, перемещаются по территории складов и переключаются к доступному РПТ или ПК в процессе передачи данных. Программа в ТШ по алгоритму перебирает и передаёт данные по доступным адресам и получает подтверждение, что пакет получен, в случае доставки на ПК. Таким образом, в ТШ не надо хранить адресацию маршрута, а достаточно только знать доступные адреса РПТ.
Адреса доставки хранятся в ПЗУ микросхемы микроконтроллера РПТ 12F675 [5]. Обратная передача квитанции (подтверждения) получения данных для ТШ выполняется по полученному от неё адресу в пакете.
Точно так же выполняется квитирование и в случае запроса на ТШ или РПТ. ПК передаёт пакет с запросом на ТШ, в котором есть адрес доставки. На конечном адресате адрес в поле пакета «инвертируется», т.е. переворачивается так, чтобы сформировался обратный адрес, и вновь отправляется отправителю. Процесс модификации поля адреса представлен на рис. 8.

Для наглядности на рис. 8 представлена модификация для последовательного расположения номеров РПТ, т.е. x21, x22, x23. В реальности могут быть любые комбинации РПТ, и их прохождение определяется пятым байтом пакета. Этот байт «разделён» на два полубайта: старший получает количество РПТ на маршруте, а младший «указывает» используемый РПТ. При каждой передаче пакета РПТ младший полубайт увеличивается на +1, и, таким образом, в конце маршрута оба полубайта равны. Равенство полубайтов даёт признак окончания маршрута для ПК или ТШ.
Для работы без РПТ используется код 0x10, и пакет для передачи от ТШ к ПК выглядит так:
41 54 10 31 11 10 00 00 00 00 00 AB 01 AB 01 AB 01 AB 01 BF 02 00 88.
Пятый байт маршрута выделен цветом и установлен в 11, т.е. старший и младший полубайты равны. Шестой байт равен адресу ПК, т.е. 0x10.
Маршрутизация с указателем места пакета на маршруте позволяет избежать коллизий в случае одновременного приёма пакета несколькими РПТ или ТШ. Любой передаваемый пакет всегда имеет конкретный адрес доставки.
В случае ошибочного приёма и, соответственно, отсутствия квитанции пакет повторяется через заданный тайм-аут.
Предупреждение коллизий одновременной передачи ТШ решается путём анализа «молчания» эфира на время не менее передачи одного пакета. Проще говоря, ТШ всегда «слушают», не занят ли эфир, и только потом выдают пакеты на передачу. Если эфир занят, то выполняется тайм-аут на передачу пакета и повторяется попытка выхода на передачу.
Схема РПТ
Принципиальная схема РПТ для радиоканала HC12 на МК 12F675 с фотографиями сопутствующих элементов представлена на рис. 9.

Назначение элементов:
- на разъём J6 подключаются входные сигналы радиомодуля HC12, по которым передаётся и принимается информация радиообмена;
- на разъём J10 подключается USB-UART для настройки, проверки конфигурации РПТ или работы только с ПК;
- МК U2 12F675 выводами GP0, GP1, GP2 может подключаться через соответствующие разъёмы к модулям датчиков измерения газов серии MQ [6];
- предусмотрено подключение цифрового датчика температуры Q2 DS18B20 [7]. Напряжение питания контролируется через АЦП МК по входу GP2. Поскольку питание РПТ изменяется в широких пределах, используется напряжение на включённом светодиоде D1 в качестве сравнения с измеряемым напряжением шины питания;
- основное питание РПТ от двух источников: через разъём J11 подаётся напряжение 5 В, и через стабилизатор Q3 78L05 можно подключать постоянное напряжение 9…20 В;
- резервирование питания РПТ выполняется через аккумулятор 18650 [8], который включён через диод D1 буфером в шину 5 В. При пропадании основного питания резервное питание через D1 поступает в шину 5 В без скачков напряжения, и МК не перезагружается. Однако меньшее значение напряжения питания фиксируется МК и передаётся телеметрией в компьютер сбора информации. После появления питания проводится подзарядка стабилизатором Q1 78L3.3 до уровня 3,3 В, что не создаёт аварийного режима заряда 18 650 мА·ч. Полный заряд 18 650 мА·ч предусмотрен отдельно от РПТ в специальном зарядном блоке;
- в РПТ также предусмотрен режим работы оконечным устройством с переходом на интерфейс RS-485. Для этой функции используется микросхема U1 SR485. Сопряжение уровней внешней сети RS-485 выполняется через резисторы R3, R4, R5 и разъёмы-перемычки J6, J7, J8. Если РПТ является конечным устройством обмена интерфейса, то резисторы используются; если промежуточным, то резисторы не требуются;
- выводы GP0, GP5 МК U2 управляют обменом по интерфейсу RS-485, и выводы GP1, GP3, GP4 работают с модулем HC12. Тактовая частота МК задаётся внутренним RC-генератором и определена в 4 МГц.
МК устанавливается через переходную колодку для возможности перепрограммирования на другие условия эксплуатации.
Элементы схемы допускается заменить на любые отечественные или зарубежные аналоги.
Программное обеспечение на МК аналогично предложенному в авторской работе [3], где выполняется сбор данных 1-Wire с внешним питанием. В представленном РПТ предусматриваются различные режимы работы. Можно включать питание постоянно, и в случае работы только от аккумулятора возможен режим «сон-измерение».
Программа uart_m433_hc12.exe имеет открытый код, подготовлена на языке Forth [10], доступна для пользователей и находится в [9].
Конструкция РПТ
Конструкция РПТ выполнена на печатной плате.
Модули подключаются через штыревые гнёзда. Вид 3D-модели печатной платы представлен на рис. 10.

Принципиальная схема (файл sh_RPT.dch), печатная плата (файл sh_RPT.dip) подготовлены в редакторе DIP-TRACE и находятся в программе uart_m433_hc12.exe каталога [9].
Конструкция подготовлена для установки в монтажную коробку 100×100×60 мм с использованием антенны HC12 типа «спиралька».
На рис. 11 представлены пять РПТ, установленных в монтажных коробках с подключённым кабелем для питания от 5 В.

При повторении конструкции допускается использовать любые аналогичные материалы и элементы креплений. Необходимо обратить внимание на отсутствие влияния используемых материалов на цели устройства – приём и передачу по радиоканалу.
Для удобства крепления на металлических поверхностях с нижней стороны монтажной коробки установлены два неодимовых магнита, как видно на пятом, показанном с обратной стороны, РПТ.
Возможно использование внешней антенны, которая подключается через малогабаритный ВЧ-разъём на HC12. Соединение кабеля с разъёмом и внешней антенной на 433 МГц представлено на рис. 12.

В программе для РПТ предусмотрен тест связи. Это позволяет выбрать тип антенны и место установки РПТ. Приблизительно «спиралька» обеспечивает устойчивую связь до 500 метров на открытом пространстве или через небольшие препятствия, такие как стена из кирпича или дерева.
Конструкция и схема РПТ предусматривают работу с ПК, предназначенным для сбора данных, т.е. с адресом x10 при адресации маршрутов пакетной передачи. В этом случае модуль USB-UART устанавливается в разъём J10, и других элементов схемы не требуется. Необходимо предусмотреть прохождение полного соединительного кабеля USB через корпус монтажной коробки. Питание HC12 выполняет модуль USB-UART от ПК.
Программное обеспечение
В данной реализации использовался язык Forth [10], который создавался для систем с минимумом памяти. Возможности данного языка позволили уложить в 8 Кбайт МК 12F675 сложную логику ретрансляции (счётчики, таймауты, обработка коллизий).
Все используемые тексты программ, схемы плат, пояснительные файлы форматов PDF, HTML, а также сам компилятор находятся в исполняемом файле uart_m433_hc12.exe каталога [9].
Первоначальный запуск программы вызовет стартовое меню, на котором необходимо выбрать требуемый режим работы и для этого нажать цифровые клавиши на выбор из четырёх: 1 – восстановить ини-файл uart_m433_hc12.ini, 2 – открыть файл помощи, 3 – восстановить всю информацию для дальнейшей модернизации, 4 – восстановить и скомпилировать новую программу, 5 – восстановить драйвера используемых USB-UART модулей. Цифра 6 – запуск демонстрационного режима для проверки графических возможностей терминала.
Запуск программы в каталоге с наличием файла инициализации выполняется по опциям данного файла. Это текстовый файл, который доступен для редактирования. Программа подготовлена для работы ТШ на конкретном объекте – элеваторе. Предусмотрены настройка и программирование микросхем ТШ и РПТ. Первично начинает работать окно консоли (рис. 13), и далее выбираются окна и режимы работы для ТШ и РПТ.

Все окна программы и консоли имеют возможность установок цвета фона и знаков. В «старых» компьютерах графический знакогенератор может быть установлен пользователем в панели управления через настройку системы. Обычно используется набор кодов ASCII для русскоязычной реализации WINDOWS и кодовые страницы 1251 или 866. Если отображаются «кракозябры», то необходимо в настройках языка системы поменять кодовую страницу при запуске данной программы. В современных компьютерах при использовании системой двухбайтной кодировки UTF-8 с кодовой страницей 65001 отображение устанавливается автоматически.
Программа работает только через DLL API библиотеки WINDOWS KERNEL32.DLL и поэтому совместима со всеми 32- и 64-разрядными версиями этой операционной системы.
Далее приведём последовательность включения режимов.
При нажатии в консоли цифровой клавиши «1» откроется окно настройки USB-UART-HC12 для работы с HC12, как показано на рис. 14.

Требуется нажать клавишу «e» для записи режима HC12. Для проверки установленного режима нажать клавишу «r». Другие режимы этого окна выполняют различные тестовые и контрольные проверки других разработок автора с использованием модуля HC12.
При нажатии в консоли цифровой клавиши «2» открывается окно настроек ТШ, как показано на рис. 15.

В окне настройки ТШ предусмотрены установки для работы системы удалённого термоконтроля:
- определяется и устанавливается канал связи, номер ТШ, период сна, количество доступных РПТ;
- проводится проверка микросхем цифровых датчиков температур DS18B20, запись MAC-адресов в ПЗУ МК ТШ.
Работоспособность настроенных ТШ проверяется по клавишам «с» «x» «z». Например, на рис. 15 приведён вариант квитирования по «z», т.е. ТШ с номером x31 передала через РПТ x21 x22 x23 пакет с данными температур и напряжением аккумулятора. Крайний принятый пакет по счёту равен 4, и интервал сна установлен в 6 секунд.
Таким образом, ТШ работает, и её можно перевести в режим большего интервала сна, выбрав соответствующие настройки.
При нажатии в консоли цифровой клавиши «7» откроется окно настройки РПТ, как показано на рис. 16.

Клавиши управления в окне предназначены для проверки РПТ и их конфигурирования.
На рис. 16 приведён вариант записи данных для трёх из шести возможных РПТ из конфигурационного файла. В процессе записи выполняется чтение напряжения питания и чтение данных температурного датчика DS18B20. Эти данные отображаются для каждого РПТ и подтверждаются включением белого фона адреса РПТ. Если РПТ недоступно, то индикация белым фоном соответствующей строки отсутствует.
На рис. 17 приведено отображение окна «3», где показаны все доступные ТШ и РПТ.

Для чтения данных ТШ и их анализа предусмотрен веб-интерфейс, который также написан на языке Forth. Формируются HTML-файлы, которые располагаются в месте работы программы в папке www_shtanga_v1. Формирование файлов выполняется с периодом опции PKZ_GRAF= из ини-файла, который по умолчанию установлен в 300 с.
Предусмотрены графическое отображение развёртки температур за 7 суток и цветовые маркеры предупреждения температур. Вариант отображения объекта через браузер приведён на рис. 18. На рис. 19 представлен график температур ТШ за период 7 суток.


Текст HTML-формирования на языке Forth находится в файле grafik_HTML_din019.f и доступен для изучения и повторения. В тексте программы приведены подробные комментарии по формированию слов и алгоритму. Особенность формирователя – это работа в отдельном потоке. Передача данных от программы сбора выполняется через массив выделенной памяти.
Передачу данных для отображения браузером выполняет сервер Аpach версии 2.4 [11]. Настройка сервера заключается в указании каталога работы программы и в ней папки www_shtanga_v1. Выполняются обычные условия системы локальной связи по настройке TCP IP портов.
Для доступа через Интернет системный администратор разрешает входящее TCP IP соединение на выбранный порт компьютера сбора данных. Таким образом обеспечивается доступ к данным сбора в локальной сети. Доступ из внешней сети может быть ограничен системным администратором для определённых пользователей. Порт занят только для чтения запросов и передачи данных термометрии.
Особенность формирования данных для браузера заключается в том, что нет команды записи данных, а есть только чтение. Следовательно, любой пользователь может только читать данные, а запись невозможна. Это обеспечивает необходимую защиту от возможных вирусов и злоумышленников.
В каталоге Forth_assmb_pik12 находятся файлы программы работы микроконтроллера, написанные на языке Forth-ассемблера. При компиляции общей программы они также компилируются и формируют в каталоге shtanga_hc12_12f675_v1 файлы HEХ-кодов для записи в МК. Файлы для МК имеют расширение .hex и записываются в МК любым доступным программатором.
Работа с МК построена на структуре AT-команд. Команды АТ для ТШ и РПТ подробно приведены в файле shtanga_hc12_12f675_v1.f и rpt_hc12_12f675_v1.f: доступно программирование и на других языках при обращении к МК. Скорость обращения к МК выбрана в 1200 Кбод в стандарте 8N1.
На рис. 20 приведён внешний вид ТШ в эксплуатации и демонстрация ТШ на с/x выставке «Алтайское поле» в 2025 году.

Схема и принцип работы ТШ приведены в [3], однако для работы с РПТ программное обеспечение доработано и также находится вместе с программой на РПТ в файле uart_m433_hc12.exe каталога [9].
Подробности измерения температур хранения зерна при использовании ТШ выходят за рамки данного изложения, но доступны для самостоятельного исследования.
Заключение
В предлагаемой схеме пакетной связи решена задача обеспечения доступности радиоканала в местах экранирования или сильного ослабления радиосигнала. Большим плюсом является то, что в предлагаемой системе пакетной связи данные могут передаваться, «обходя» РПТ и с автоматическим подключением к доступному РПТ.
Перемещение по объекту ТШ – это необходимое требование для измерений, а автоматическое подключение это обеспечивает.
Предусмотренные в конструкции РПТ датчики температуры и газа позволяют создавать удалённые регистраторы и системы предупреждения об опасности.
Возможность получения данных через веб-браузер позволяет использовать обычные сотовые телефоны для анализа и контроля термометрии.
Литература
- Радиомодули HC12. URL: https://3d-diy.ru/wiki/arduino-moduli/radiomodul-hc-12/.
- Протокол AX25. URL: https://ru.wikipedia.org/wiki/AX.25.
- Аккумулятор 18650 для радиоканала и интерфейса 1-Wire // Современная электроника. 2024. № 6. С. 46. URL: https://www.cta.ru/articles/soel/2024/2024-6/180271/.
- Антенна АШ-433. URL: https://alpatech.ru/sistemy-ops/gsm-monitoring/altonika-gsm/antenny/ash-433-antenna-shtyrevaya-alton....
- Описание 12F675. URL: https://static.chipdip.ru/lib/710/DOC011710931.pdf.
- Датчики газов серии MQ. URL: https://www.chipdip.ru/product/datchik-gaza-mq-2-shirokogo-spektra-gazov-trema-modul-9001322155?yscl....
- Датчики DS1820. URL: https://radioparty.ru/programming/avr/c/377-lesson-ds18b20.
- Данные на аккумулятор 18650: URL: https://static.chipdip.ru/lib/333/DOC005333343.pdf.
- Каталог программы, схемы и платы. URL: http://90.189.213.191:4422/temp/agromontag_433m_hc12/test/.
- Описание языка Форт spf4.exe, автор версии А. Черезов. URL: http://www.Forth.org.ru/.
- Сервер Apach2-4. URL: https://httpd.apache.org/docs/2.4/.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

