CBOR у датчика: двоичный формат тоже требует схемы
Компактный пакет может уменьшить объём обмена, но без описания его смысл остаётся зависимым от одной программы. Для телеметрии хозяйства важно, чтобы принимающая сторона независимо понимала типы, единицы и качество каждого поля. Выбор CBOR не отменяет эту работу и не гарантирует экономию в любой конфигурации.
Разделить кодирование и предметный смысл
RFC8949 описывает CBOR и его модель представления данных. (IETF RFC 8949 — Concise Binary Object Representation) Из названия формата нельзя узнать, что означает конкретный ключ в пакете вашего датчика. Прикладная схема должна определить назначение полей, допустимые значения и совместимость версий.
Запишите идентификатор схемы и способ его определения получателем. Ключи могут быть короткими, но документация обязана оставаться однозначной. Если ключ обозначает уровень, нужны единица, точка отсчёта и правило качества. Число без такого контекста нельзя надёжно использовать после смены интегратора.
Описать отсутствующие данные
Различайте отсутствующее поле, явно переданное отсутствие значения и числовой ноль. Укажите, какие поля обязательны и что делать с неизвестными. Ошибка одного канала не должна молча превращать весь пакет в набор правдоподобных нулей.
Увеличить схему
Для счётчиков и временных отметок определите диапазоны и способ обработки предельных значений. Если используются специальные теги, их поддержку подтверждают у обеих сторон. Программа не должна угадывать единицы или календарь только по величине полученного числа.
Собрать контрольные примеры
Подготовьте собственные учебные пакеты с обычным значением, отсутствующим каналом, отрицательным числом при допустимости и неизвестным полем. Рядом храните ожидаемый декодированный результат. Эти примеры не являются измерениями объекта и должны быть так обозначены.
Проверьте их независимым декодером и штатной принимающей программой. Сравните не только число полей, но и точный смысл. Круговая проверка одной библиотекой полезна, однако способна повторить одну и ту же ошибку кодировщика и декодировщика.
Проверить обновление и трафик
Сравните старую и новую схему на согласованных клиентах. Добавление необязательного поля и изменение смысла существующего — разные изменения. Для несовместимого варианта нужен явный переход, позволяющий сохранить историческую трактовку пакетов.
Экономию оценивают по реальным сообщениям с заголовками, защитой и повторными передачами. Короткие числовые ключи не обещают фиксированного выигрыша сами по себе. В паспорт включают контрольные байты, описание схемы и результаты совместимости. Тогда другой специалист сможет разобрать запись из архива, даже если первоначальный поставщик программы больше не участвует в обслуживании.