Skip to content

Руководство по интеграции

Задача — совместимое железо (контроллер или мост), а не свой портал. Обзор траекторий: 01-your-product-in-idryer-cloud.md.

Сценарии интеграции

Контроллер (замена RP2040)

Обязательно: Hello/HelloAck, Telemetry, Status, Command/CommandAck, Heartbeat, Error
Опционально: Weights, Rfid, ConfigPush, Claiming, WebSocket

Телеметрия (сбор данных)

Минимум: Принимать Telemetry/Status/Weights, отвечать ACK, отправлять Heartbeat

Экран/UI

Обязательно: Hello/HelloAck, Telemetry, Status, Heartbeat
Для меню: ConfigPush + локальная копия menu_meta.h
Для управления: Command/CommandAck

Версионирование

UART протокол: версия 1 (в заголовке кадра)
Firmware: MAJOR<<16 | MINOR<<8 | PATCH в HelloPayload

MCU проверяет MAJOR версии. При несовпадении remote config блокируется, телеметрия работает.

Ограничения

  • RFID OpenPrintTag не интегрировано (структуры есть, генерация фрагментов нет)
  • ConfigPush из MQTT для set/invoke: малый JSON ≤ 194 байт на фрагмент; фрагментация в CommandHandler для этих команд не реализована
  • Cloud layer только ESP32 (WiFi, HTTPClient, NVS)
  • HTTPS: ArduinoHttpClient использует WiFiClientSecure + setCACert(ROOT_CA_LETSENCRYPT) (корень Let’s Encrypt из root_ca.h), не setInsecure
  • Один LINK на устройство

Если реализуете приём MessageKind::Command на MCU: при длине payload 64 байта это не CommandPayload, а ProfilePayload (профильная сушка). См. раздел ProfilePayload внутри Command (0x20) в 02-binary-format.md.