================================================================
  云打印设备 MQTT 配置工具  —  使用说明
================================================================

一、工具简介
-----------
本工具用于通过 USB 将 MQTT 连接参数写入打印机或打印云盒固件，
使设备能自动连接指定的 MQTT Broker，实现云端消息收发。

支持设备类型：
  - 打印机 (Printer)     —  通过 ESC 指令协议写入
  - 打印云盒 (Cloud Box) —  通过 SW 专用帧协议写入


================================================================
二、各 Tab 功能说明
================================================================

┌─────────────────────────────────────────────────────────────┐
│  Tab 1  ：打印机 - 阿里云（Printer Alibaba Cloud）          │
└─────────────────────────────────────────────────────────────┘
适用场景：将打印机连接至阿里云物联网平台（IoT Platform）。

参数说明：
  ProductKey      阿里云产品 Key，在阿里云控制台"产品详情"中获取
  DeviceName      设备名称（即 SN），同时作为设备唯一标识写入固件
  DeviceSecret    设备密钥，用于 MQTT 鉴权
  URL             MQTT Broker 域名
                  （如 xxx.iot-as-mqtt.cn-shanghai.aliyuncs.com）
  MQTT Port       端口号，默认 1883
  Instance type   实例类型，选择"New Instance"（新版共享实例）
  sub_topic       订阅 Topic 后缀，完整路径为：
                  /${ProductKey}/${DeviceName}/user/<后缀>
  pub_topic       发布 Topic 后缀，完整路径为：
                  /${ProductKey}/${DeviceName}/user/<后缀>


┌─────────────────────────────────────────────────────────────┐
│  Tab 2  ：打印机 - 自建 MQTT（Printer Self-hosted）         │
└─────────────────────────────────────────────────────────────┘
适用场景：将打印机连接至用户自建或第三方 MQTT Broker
          （如 EMQX、Mosquitto、HiveMQ 等）。

参数说明：
  clientID / SN   客户端 ID，同时作为设备 SN 写入固件
                  （建议使用设备唯一编号）
  domain / IP     MQTT Broker 域名或 IP 地址
  port            端口号，默认 1883；启用 TLS 时通常为 8883
  username        MQTT 登录用户名
  password        MQTT 登录密码
  sub_topic       订阅 Topic 完整路径
  pub_topic       发布 Topic 完整路径
  TLS             TLS 加密开关
                    不启用 TLS（Disable TLS） —— 值 0，明文传输，端口一般 1883
                    启用 TLS（Enable TLS）    —— 值 1，加密传输，端口一般 8883
  Clean Session   离线消息策略
                    清除离线消息（Clear offline messages） —— 值 0
                    保留离线消息（Keep offline messages）  —— 值 1


┌─────────────────────────────────────────────────────────────┐
│  Tab 3  ：打印机 - 腾讯云（Printer Tencent Cloud）          │
└─────────────────────────────────────────────────────────────┘
适用场景：将打印机连接至腾讯云物联网平台（IoT Hub）。

参数说明：
  ProductKey      腾讯云产品 ID（Product ID），在腾讯云控制台获取
  DeviceName      设备名称，同时作为 SN 写入固件
  DeviceSecret    设备密钥（PSK）
  MQTT Port       端口号，默认 1883
  sub_topic       订阅 Topic 完整路径
  pub_topic       发布 Topic 完整路径


┌─────────────────────────────────────────────────────────────┐
│  Tab 4  ：云盒 - 自建 MQTT（Box Self-hosted）               │
└─────────────────────────────────────────────────────────────┘
适用场景：将打印云盒连接至用户自建或第三方 MQTT Broker。
协议类型：SW 专用帧协议（0x53 0x57 帧头），JSON 最大 255 字节

参数说明（字段与 Tab 2 相同，区别在于写入目标为云盒）：
  clientID / SN   客户端 ID，同时作为设备 SN 写入云盒
  domain / IP     MQTT Broker 域名或 IP 地址
  port            端口号，默认 1883
  username        MQTT 登录用户名
  password        MQTT 登录密码
  sub_topic       订阅 Topic 完整路径
  pub_topic       发布 Topic 完整路径
  TLS             TLS 加密开关
                    不启用 TLS（Disable TLS） —— 值 0
                    启用 TLS（Enable TLS）    —— 值 1
  Clean Session   离线消息策略
                    保留离线消息（Keep offline messages）  —— 值 0
                    清除离线消息（Clear offline messages） —— 值 1


┌─────────────────────────────────────────────────────────────┐
│  Tab 5  ：云盒 - 阿里云（Box Alibaba）                      │
└─────────────────────────────────────────────────────────────┘
适用场景：将打印云盒连接至阿里云物联网平台（IoT Platform）。

参数说明（字段与 Tab 1 相同，区别在于写入目标为云盒）：
  ProductKey      阿里云产品 Key
  DeviceName      设备名称，同时作为 SN 写入云盒
  DeviceSecret    设备密钥
  URL             MQTT Broker 域名
  MQTT Port       端口号，默认 1883
  Instance type   实例类型
  sub_topic       订阅 Topic 后缀
  pub_topic       发布 Topic 后缀


================================================================
三、操作步骤
================================================================

1. 用 USB 线将打印机或云盒连接至电脑，并开机。
2. 根据设备类型和云平台，选择对应 Tab。
3. 填写所有参数。
4. 点击"Write to printer"（写入打印机）
   或"Write to cloud box"（写入云盒）按钮。
5. 写入成功后，状态栏显示绿色"Success!"。
6. 如需验证，可点击"Self-test page"（打印自检页）
   打印一张自检页，确认写入内容。


================================================================
四、运行环境
================================================================

  操作系统：Windows 7 / 8 / 10 / 11（64 位）
  依赖组件：无需安装任何运行时或驱动（独立单文件程序）
  USB 驱动：使用系统内置 WinUSB / 打印机类驱动，无需额外安装


================================================================
五、语言切换
================================================================

工具界面右上角提供语言切换下拉框：
  English  —— 全界面英文显示
  中文     —— 全界面简体中文显示

切换后界面立即刷新，所有标签、按钮、提示信息同步更新。

================================================================
