Skip to content

6.3 魔法打印接入 ​

魔法打印是 JoyInside 的"语音 + 内容生成"场景:在对话过程中根据上下文生成图片,并完成图片打印。有独立协议,contentType 统一使用 PRINT。

适用创作 / 社交 / 伴学 / 互动四类场景。打印机外设 + AI 硬件形态。

6.3.1 硬件策略:按键 A/B ​

按键功能
按键 A长按开关机 / 快速双击进入配网 / 短按唤醒语音
按键 B打印任务控制(打印 / 暂停打印)

6.3.2 三态机:打印态 / 唤醒态 / 关机态 ​

状态与服务端收音打印
打印态建联不收音可打印
唤醒态建联可收音可打印
关机态断联不收音不打印

状态流转 ​

  • 开机后自动建联,设备处于打印态可打印
  • 按键 A 开启对话,设备处于唤醒态可对话
  • 按键 A 退出对话,设备退出唤醒态回到打印态
  • 关机后设备处于关机态

⚠ 设备处于打印态时需一直保持与服务端 WS 连接,去除 10 分钟自动断联逻辑(打印态需常连)。

6.3.3 下行事件(云→端) ​

魔法打印事件 contentType 统一使用 PRINT。

下行事件主体 ​

字段类型必选说明
codestring是200 成功,其他错误
msgstring是状态描述
requestIdstring是请求唯一标识
midstring是消息唯一标识
uidstring是用户唯一标识
tlong是服务端处理时间戳(毫秒)
contentTypestring是固定 PRINT
content.roundIdstring是消息轮次 index
content.eventTypestring是事件类型
content.eventDataobject是事件数据

下发打印任务参数和图片地址列表,端侧按顺序将地址列表中的图片打印出来。

字段类型必选说明枚举默认值
printTaskIdstring是打印任务 Id
printModestring否打印类型普通打印 normalPrint / 双色打印 dualColorPrint / 高清打印 hdGrayscalePrintnormalPrint
printThicknessstring是打印浓度4-168
paperTypestring是纸张类型黑标纸 blackMarkPaper / 连续纸 continuousPaper / 缝隙纸 gapPapercontinuousPaper
printDirectionstring是打印方向横向 landscape / 纵向 portraitlandscape
imgUrlListList是打印图片 url 列表

IMAGE_DISPLAY(图片上屏) ​

生成图片上屏展示。

字段类型必选说明
printTaskIdstring是打印任务 Id
imageIdstring否图片 id
imgUrlstring是图片地址

结束当前打印任务。

字段类型必选说明
printTaskIdstring是打印任务 Id

设置打印机参数,若值为空则不设置对应字段。

字段类型必选说明枚举
printModestring否打印类型normalPrint / dualColorPrint / hdGrayscalePrint
printThicknessstring是打印浓度4-16
paperTypestring是纸张类型blackMarkPaper / continuousPaper / gapPaper
printDirectionstring是打印方向landscape / portrait

查询打印机状态,端侧收到事件时按"主动上报设备状态"上报。

字段类型必选说明
———eventData 为 null

6.3.4 上行事件(端→云) ​

上行事件主体 ​

字段类型必选说明
midstring是消息唯一标识
uidstring是用户唯一标识
tlong是服务端处理时间戳(毫秒)
contentTypestring是固定 PRINT
content.eventTypestring是上行事件类型
content.eventDataobject是事件数据

两种用途:① 设备异常时主动上报状态;② 收到 PRINT_STATUS_QUERY 下行事件时响应。

字段类型必选说明枚举
batterystring是电量
printerStatusList是设备状态(可能多种并存)正常 normal / 过热 overHeat / 开盖 coverOpen / 缺纸 paperOut / 低电量 lowBattery

打印成功后主动上报状态。

字段类型必选说明枚举
printTaskIdstring是打印任务 Id
printSuccessint是打印结果0 失败 / 1 成功

点击打印按钮打出当前图片。

字段类型必选说明
printTaskIdstring是打印任务 Id
imageIdstring是图片 id

6.3.5 事件速查 ​

方向事件用途
下行PRINT_START开始打印(含图片列表 + 打印参数)
下行IMAGE_DISPLAY图片上屏展示
下行PRINT_STOP结束打印任务
下行PRINT_CONFIG设置打印机参数
下行PRINT_STATUS_QUERY查询打印机状态
上行PRINT_STATUS主动上报异常 / 响应查询
上行PRINT_SUCCESS上报打印成功状态
上行PRINT_IMAGE打印上屏图片

下一步 ​