云打印设备支持接入以下类型的 MQTT 服务器:
| 服务器类型 | 说明 |
|---|---|
| 阿里云 MQTT | 公共实例 / 企业实例 |
| 腾讯云 MQTT | 托管,免运维 |
| 自建 MQTT | 客户自行部署的 Broker |
| 电信云 | — |
适用设备:热敏打印机、标签打印机、打印云盒。如有定制需求,请联系商务人员。
使用 PC 端《云打印设备配置工具》,通过 USB 数据线连接设备写入参数:
协议约定两类主题,QoS 均为 1:
| 方向 | 用途 | QoS |
|---|---|---|
| 订阅 | 接收打印任务、语音播报消息、命令消息 | 1 |
| 发布 | 上报设备状态及打印结果 | 1 |
设备上报数据中的 devicename 为设备 SN(机器码),与应用侧三元组的 DeviceName 或 ClientID 保持一致。
MQTT 服务器推送到云打印设备的消息为 UTF-8 编码的 JSON:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | uint32 | 是 | 打印任务 id,范围 0-4294967295。服务端须确保不重复;设备具备防重打能力——同一 id 在不断电情况下只打印一次,重复推送会上报状态 209 |
type | int | 是 | 打印数据排版类型(打印语言):1 ESC(BASE64 编码)|2 CPCL|3 TSPL|4 XML|5 JSON|6 PNG|99 设备配置管理 |
contents | String / Array / Object | 是 | 打印内容,数据格式与 type 保持一致。ESC / CPCL / TSPL / XML 为字符串;JSON 排版为 Array(小票)或 Object(标签);PNG 为 URL 链接字符串或 base64 内容 |
pWidth | int | 否 | 打印纸张宽度(mm):58 / 80 / 110,默认 58 |
pCopy | int | 否 | 打印份数,默认 1 |
pType | int | 否 | 纸张类型(默认 1):1 连续纸|2 标签纸|3 黑标纸|4 穿孔纸|8 连续纸(标签指令打印小票)。纸类型为标签时必传 |
vType | int | 否 | 播报类型:-1 无播报|0 定制语音|1「你有新的订单」|10000 指定语音链接下载播报 |
vMessage | string | 否 | 语音播报内容文本(TTS 合成,UTF-8);vType 为 10000 时为下载链接 URL |
vMode | int | 否 | 0 按队列顺序播报(默认)|1 立即播报|2 立即播报并清空待播报队列 |
message | string | 否 | 预留 HTTP 下载类型的打印内容,与 contents 二选一(优先 contents) |
gateway | string | 否 | 仅打印云盒:usb 表示发送到本机 USB 打印机;填入 IP(如 192.168.2.11)表示发送到指定局域网网络打印机 |
JSON 排版的完整属性定义(票据 / 标签两种)见官网JSON 排版文档。
云打印设备上报的数据以 JSON 格式组装:
| 字段 | 类型 | 说明 |
|---|---|---|
devicename | string | 云打印设备 SN(机器码),与三元组的 DeviceName 或 ClientID 一致 |
id | uint32 | 打印任务 id,与服务器推送的任务 id 一致。上报设备状态时不包含本项 |
code | int | 状态码,见下表 |
| code | 含义 |
|---|---|
| 0 | 打印成功 / 打印机正常 |
| 100 | 未知错误,通讯异常 |
| 101 | 打印机缺纸 |
| 102 | 打印机开盖 |
| 103 | 打印机过热 |
| 201 | 没有 id |
| 202 | 没有 type |
| 203 | 无效 type 参数(未在定义范围) |
| 204 | 没有 msg |
| 205 | 无效 msg(例如链接非标准 HTTP) |
| 206 | 下载错误(重复下载 6 次) |
| 207 | 任务长度超出设备缓冲区 |
| 208 | 内容格式错误 |
| 209 | 重复任务,不执行打印(按 id 判断) |
云打印设备支持通过云端远程设置音量、重启打印机、设置默认指令模式等:
| 命令 | 参数 | 说明 |
|---|---|---|
volume | value:0-4 | 音量设置:0 静音|1 低音量|2 中音量|3 大音量 |
reboot | — | 系统重启 |
label_cmd | print:tspl / cpcl / zpl | 默认标签指令(针对图片或 JSON 打印),默认 tspl |
print_cmd | cmd:tspl / cpcl / esc | 设置打印机默认语言 |
带扫码功能的产品还可上报扫码内容:
商为可协助: