跳转至

手机互联与组网业务

手机互联与智能应用业务

命令索引

MsgCenter业务

消息中心业务会不断演进,为防止客户私有定制业务冲突,客户私有定制业务建议从5.13.100开始。

本文已展开业务的 Command ID 以消息中心命令与 TLV 公共定义为准:

Command ID 业务 入口
0x01 小度语音 小度语音
0x02 百度导航 百度导航
0x03 百度矢量地图 百度矢量地图
0x04 阿里乘车码 阿里乘车码
0x05 OTA 手机发起 OTA 初始化
0x07 Ping Ping 消息
0x08 WatchConnectKit WatchConnectKit
0x09 AppStore AppStore
0x0A 表盘市场 表盘市场
0x0B 远端消息通知 远端消息通知
0x0C 设备信息 设备信息

小度语音

表 1 小度语音字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
Start_Xiaodu 0x01 1 uint8 手机侧APP拉起板侧JS小度语音。 O 1.0/1.0
Recv_Xiaodu 0x02 N uint8 板侧JS小度语音收到手机侧APP的问题数据流。 O 1.0/1.0
Recv_Wenxin 0x03 N uint8 板侧JS小度语音收到手机侧APP的回答数据流。 O 1.0/1.0
Recv_Tts 0x04 N uint8 板侧JS小度语音收到手机侧APP的tts语音数据。 O 1.0/1.0
Start_record 0x05 N uint8 板侧准备开始给手机侧发送pcm流。 O 1.0/1.0
Send_pcm_stream 0x06 N sizeof(uint8)*frame_size 发送板侧录音的实时音频流数据,frame_size表示pcm音频流大小,当前为960Byte。 O 1.0/1.0
End_record 0x07 N uint8 板侧录音结束。
按下结束录音按钮时:
JS下发0,表示AI对话使用语音;
JS下发1,表示表盘生成使用语音;
JS下发2,表示矢量地图使用语音。
O 1.0/1.0
JS_Exit 0x8 1 uint8 JS退出时,与APP联动处理。
JS正常退出时,发0给APP或者不发;
JS不正常退出时,发1给APP,JS与APP做对应的资源清理。
O 1.0/1.0

拉起小度语音
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收小度问题数据
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收文心回答数据
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收文本转语音数据
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

开始发送录音
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

发送录音数据
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

百度导航

表 1 百度导航字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
Start_Navigation 0x01 1 uint8 手机侧APP拉起板侧JS百度导航。 O 1.0/1.0
Recv_Navigation 0x02 N uint8 板侧JS百度导航收到手机侧导航APP数据流。 O 1.0/1.0

拉起百度导航
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收百度导航数据
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

帧格式说明:

报文0D 02 81 8F XX XX XX...

  • Model ID=0D
  • Command ID=02 (表示JS百度导航)
  • Type=81(81二进制为1000 0001,无子节点,Type为1)
  • Length=F(8F二进制为1000 1111,所以Length为15Byte)

百度矢量地图

表 1 矢量地图字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
Pull_up_vector_navi 0x01 1 uint8 手机侧APP拉起手表侧JS百度矢量地图。 O 1.0/1.0
Rec_svg 0x02 N uint8 手机侧发送svg到手表侧。 O 1.0/1.0
Req_svg 0x03 N uint8 超出地图范围时请求svg数据。 O 1.0/1.0
Req_dst_by_text 0x04 N uint8_t 文本输入目的地。 O 1.0/1.0
Req_dst_by_pcm 0x05 sizeof(send_pcm_info_t) send_pcm_info_t 语音输入目的地。 O 1.0/1.0
Rec_dst_list 0x06 N*sizeof(navi_dst_list_t) 结构体数组 typedef struct { char dst[NAVI_DST_NAME_LEN]; char info[NAVI_DST_INFO_LEN]; } navi_dst_list_t; 手机侧返回目的地检索列表。 O 1.0/1.0
Start_vector_navi_from_watch 0x07 1 uint8_t
value取值如下:
1:步行矢量模式
2:骑行矢量模式
3:步行文本模式
4:骑行文本模式
5:公共交通文本模式
手表侧发起开始导航的请求。 O 1.0/1.0
Rec_vector_navi_info 0x08 N uint8_t 手表侧收到手机侧实时导航信息。 O 1.0/1.0
Start_vector_navi_from_phone 0x09 1 uint8_t
value取值如下:
1:步行矢量模式
2:骑行矢量模式
3:步行文本模式
4:骑行文本模式
5:公共交通文本模式
手机侧发起开始导航。 O 1.0/1.0
Req_poi 0x0A 1 uint8_t 手表侧发起POI查询。 O 1.0/1.0
Rec_poi 0x0B N uint8_t 手表侧收到POI查询结果。 O 1.0/1.0
Rec_finish_vector_navi_form_watch 0x0C 1 uint8_t 手表侧结束导航。 O 1.0/1.0
Rec_finish_vector_navi_form_phone 0x0D 1 uint8_t 手机侧结束导航(包含主动与到达目的地结束导航)。 O 1.0/1.0

拉起百度矢量地图
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收矢量地图
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

请求矢量地图
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

文本输入目的地
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

语音输入目的地
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收目的地列表
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表发起导航
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收实时导航信息
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机发起导航
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

请求兴趣点
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

接收兴趣点结果
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表结束导航
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机结束导航
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

阿里乘车码

网络状态更新指令

表 1 网络状态字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
Network_status 0x01 1 uint8 表示当前网络是否可用。
• value值为0:网络不可用。
• value值为1:网络可用。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

域名解析请求指令

表 1 域名解析字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
request_data 0x02 var uint8[N] 域名信息 M 1.0/1.0
reponse_data 0x02 var uint8[4] IPV4信息 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

建立TCP连接指令

表 1 建立连接字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
request_data 0x03 6 ip_info Struct ip_info{ uint8 dst_ip[4] uint16 dsp_port }
dst_ip:目的地址
dsp_port:目的端口
M 1.0/1.0
reponse_data 0x03 4 connect_result Struct connect_result{ int32 ret int32 fd }
ret:0连接成功,其他为错误码。
ret为0时,fd为TCP连接句柄(fd取值需要大于0)。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

TCP上网请求的数据指令

表 1 TCP上网请求字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
request_data 0x04 var uint8[N] 此处为TCP的上网请求数据。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

TCP响应数据指令

表 1 服务器TCP响应数据字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
reponse_data 0x04 var uint8[N] 此处为TCP的响应报文数据。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

TCP关闭指令

表 1 TCP关闭字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
request_type 0x05 1 uint8 请求类型。
• value值为1时手机发起关闭。
• value值为2时手表发起关闭。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

WatchConnectKit

表 1 字段说明

字段名称 Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
msg_type 1 uint8_t 主动发送填1,应答填2。 M 1.0/1.0
seq_id 2 uint16_t 消息序列,发送生成,接收方在回复时携带此值。 M 1.0/1.0
src_pkg_name_len 2 uint16_t 发送命令的源模块名长度。 M 1.0/1.0
src_pkg_name n uint8_t[] 发送命令的源模块名。 M 1.0/1.0
des_pkg_name_len 2 uint16_t 命令目的模块名长度。 M 1.0/1.0
dest_pkg_name n uint8_t[] 命令目的模块名。 M 1.0/1.0
payload_len 2 uint16_t 消息内容长度。 M 1.0/1.0
payload n uint8_t[] 消息内容。 O 1.0/1.0
response 4 uint32_t 命令返回码。 M 1.0/1.0

ping消息

表 1 ping消息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_ping 0x01 sizeof(struct watchConectPingMsg) struct uint8_t msg_type
uint16_t seq_id
uint16_t src_pkg_name_len
uint8_t src_pkg_name[0]
uint16_t des_pkg_name_len
uint8_t dest_pkg_name[0]
uint16_t payload_len
uint8_t payload[0]
uint32_t response
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

手机与手表消息

表 1 手机与手表消息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_send 0x2 sizeof(struct watchConectSendMsg) struct uint8_t msg_type
uint16_t seq_id
uint16_t src_pkg_name_len
uint8_t src_pkg_name[0]
uint16_t des_pkg_name_len
uint8_t dest_pkg_name[0]
uint16_t payload_len
uint8_t payload [0]
uint32_t response
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

获取版本号消息

表 1 获取版本号消息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_get_version 0x03 sizeof(struct watchGetVersionMsg) struct uint8_t msg_type
uint16_t seq_id
uint16_t src_pkg_name_len
uint8_t src_pkg_name[0]
uint16_t des_pkg_name_len
uint8_t dest_pkg_name[0]
uint16_t payload_len
uint8_t payload[0]
uint32_t response
M 1.0/1.0
  • 请求帧:

    请求帧

  • 请求帧:

    请求帧

应用是否安装消息

表 1 应用是否安装消息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_check_app_install 0x04 sizeof(struct watchConectCheckAppInstallMsg) struct uint8_t msg_type
uint16_t seq_id
uint16_t src_pkg_name_len
uint8_t src_pkg_name[0]
uint16_t des_pkg_name_len
uint8_t dest_pkg_name[0]
uint16_t payload_len
uint8_t payload[0]
uint32_t response
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

手机与手表文件传输

表 1 手机与手表文件传输字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_file_transfer 0x05 sizeof(struct watchConectFileTransfer) struct uint8_t msg_type
uint16_t seq_id
uint16_t src_pkg_name_len
uint8_t src_pkg_name[0]
uint16_t des_pkg_name_len
uint8_t dest_pkg_name[0]
uint16_t payload_len
uint8_t payload[0]
uint32_t response
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

JsApp推送文件到手机流程

图 1 JsApp推送文件到手机流程图

**图 1** JsApp推送文件到手机流程图

WatchConnect发给APP的消息,携带payload时,格式如下:

struct fileDesc{
    uint32_t file_size
    uint8_t file_name[128]
    uint8_t file_path[128]
}

APP使用file_path路径发起文件数传,无需做路径拼接(WatchConnect会把沙箱路径转成绝对路径)。

手机推送文件到JsApp流程

图 1 手机推送文件到JsApp流程图

**图 1** 手机推送文件到JsApp流程图

APP给WatchConnect的消息,携带payload时,内容为json格式字符串(WatchConnect会直接透传给JsApp,文件路径需要提前转成沙箱路径)。

查询存储剩余空间

表 1 查询存储剩余空间字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_connect_space_query 0x06 sizeof(struct watchConectSpaceInfo) struct Struct watchConectSpaceInfo { uint32_t totalSize uint32_t freeSize } M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧:

    响应帧

AppStore

JsApp安装和卸载

表 1 appStoreOperation结构体

字段名称 Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
operation_type 1 uint8_t 操作类型:
0:安装;
1:删除。
M 1.0/1.0
pkg_name 128 uint8_t[] 安装时为应用文件名,删除时为应用包名。 M 1.0/1.0

表 2 安装、卸载字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
app_store_operation 0x01 sizeof(struct appStoreOperation) struct 请参考“表1”。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设备侧应用安装、卸载、状态上报

表 1 pkgResultReport结构体

字段名称 Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
install_progress 1 uint8_t 操作状态以及结果:
0~100:操作进度;
101:正在安装;
102:安装完成;
103:安装失败;
104:正在卸载;
105:卸载完成;
106:卸载失败;
107:应用安装数量超上限。
M 1.0/1.0
pkg_name 128 uint8_t[] 应用包名。 M 1.0/1.0

表 2 安装、卸载、状态上报字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
pkg_result_report 0x02 sizeof(struct pkgResultReport) struct 请参考“表1”。 M 1.0/1.0

请求帧:

请求帧

获取设备侧安装的应用列表

表 1 pkgUnitInfo结构体

字段名称 Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
pkgName 128 uint8_t[] 应用包名,用户不可见。 M 1.0/1.0
versionCode 4 uint32 应用版本号,用户不可见,应用更新使用。 M 1.0/1.0
versionName 128 uint8_t[] 应用版本号,用户可见。 M 1.0/1.0
labelName 256 uint8_t[] 应用名,用户可见。 M 1.0/1.0

表 2 pkgListReport结构体

字段名称 Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
pkgUnitCount 1 uint8 应用个数。 M 1.0/1.0
pkgUnitList n*sizeof(pkgUnitInfo) pkgUnitInfo 应用包名列表。 O 1.0/1.0

表 3 获取设备侧安装的应用列表字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
pkg_list_report 0x03 sizeof(struct pkgListReport) struct 请参考“表2”。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    响应帧

获取指定bundleName的应用详情

结构体同表1

  • 请求帧:

    请求帧

  • 响应帧

    响应帧

表盘市场

获取手表系统信息

表 1 获取手表系统信息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_sys_info 0x01 sizeof(watch_sys_info) struct • uint8_t chip_platform[5]:芯片平台标识。
• uint8_t chip_model[5]:芯片型号。
• uint8_t os_version[23]:系统版本号。
• uint8_t api_level[3]:JS API版本。
• uint8_t watch_proto_support_cnt:当前支持的表盘协议个数。
• uint8_t watch_protocol_version[8][4]:支持的表盘协议版本号集合,如同时支持2.0和3.0。
• uint8_t resolution[8]:分辨率,宽*高。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取手表设备能力集

表 1 获取手表设备能力信息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_dev_cap_info 0x02 sizeof(watch_dev_cap_info) struct • uint8_t kaleidoscope:万花筒能力。
• uint8_t effect_3D:3D效果能力。
• uint8_t interaction:表盘交互能力。
• uint8_t video:视频表盘能力。
• uint32_t video_format:视频编码能力集。按照CodecFormat做位映射形成能力集。
typedef enum {
CODEC_H264 = 0, /**< H264 or AVC */
CODEC_H265, /**< H265 or HEVC */
CODEC_JPEG, /**< JPEG */
CODEC_MJPEG, /**< MJPEG */
CODEC_AAC, /**< AAC */
CODEC_G711A, /**< G711A */
CODEC_G711U, /**< G711u */
CODEC_PCM, /**< PCM */
CODEC_MP3, /**< MP3 */
CODEC_G726, /**< G726 */
CODEC_OPUS, /**< OPUS */
CODEC_FLAC, /**< FLAC */
CODEC_VORBIS, /**< VORBIS */
CODEC_APE, /**< APE */
CODEC_SILK, /**< SILK */
CODEC_SBC, /**< SBC */
CODEC_BUT, /**< Undefined format */
} CodecFormat;
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取指定表盘信息

表 1 获取指定表盘信息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_dial_info 0x03 sizeof(watch_dial_info) struct • uint32_t uuid:表盘唯一标识。
• uint8_t install_state:表盘安装状态,0表示未安装,1表示已安装。
• uint8_t is_current_watch:是否是当前表盘。
• uint8_t watch_protocol_version[4]:表盘协议版本。
• uint8_t watch_version[6]:表盘版本(用于标识此表盘是否可以升级)。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

表盘安装

此章节表示从手机测向手表数传表盘,路径:/user/dial/xxx.bin,此部分复用文件数传,数传成功后通知此章节协议。

表 1 表盘安装字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
path 0x04 N * sizeof(uint8_t) str char * path:表盘的下载路径。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      数传通知错误码,请参考“传输通知”。

表盘卸载

表 1 表盘卸载字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
op_ret 0x05 sizeof(uint8_t) uint8_t uint8_t op_ret:卸载结果。0表示失败,1表示成功。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设置表盘

表 1 表盘设置字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
op_ret 0x06 sizeof(uint8_t) uint8_t uint8_t op_ret:设置结果。0表示失败,1表示成功。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取所有已安装的表盘信息

表 1 获取所有已安装表盘信息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_dial_info 0x07 N * sizeof(watch_dial_info) struct • uint32_t uuid:表盘唯一标识。
• uint8_t install_state:表盘安装状态。0表示未安装,1表示已安装。
• uint8_t current_watch:是否是当前表盘。
• uint8_t watch_protocol_version[4]:表盘协议版本。
• uint8_t watch_version[4]:表盘版本(用于标识此表盘是否可以升级)。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取当前表盘信息

表 1 获取当前表盘信息字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_dial_info 0x08 sizeof(watch_dial_info) struct • uint32_t uuid:表盘唯一标识。
• uint8_t install_state:表盘安装状态。0表示未安装,1表示已安装。
• uint8_t current_watch:是否是当前表盘。
• uint8_t watch_protocol_version[4]:表盘协议版本。
• uint8_t watch_version[4]:表盘版本(用于标识此表盘是否可以升级)。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

远端消息通知

三方应用通知

表 1 三方应用字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
3rd_app_notification 0x01 sizeof(uint8_t) uint8_t uint8_t 3rd_app_notification[],通知的内容是JSON对象字符串。 O 1.0/1.0
  • 请求帧:

    请求帧

三方应用消息举例:

{
    "appName": "微信",
    "packageName": "com.tencent.mm",
    "title": "往事情殇一场梦",
    "content": "塞北的雪"
}

短信通知

表 1 短信通知字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
text_msg_notification 0x01 sizeof(uint8_t) uint8_t uint8_t text_msg_notification[],通知的内容是JSON对象字符串。 O 1.0/1.0
  • 请求帧:

    请求帧

短信消息举例:

{
    "appName": "短信",
    "packageName": "com.android.mms",
    "title": "+86181****2231",
    "content": "你好,我是短信消息。"
}

电话通知

表 1 电话通知字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
phone_notification 0x01 sizeof(uint8_t) uint8_t uint8_t phone_notification[],通知的内容是JSON对象字符串。 O 1.0/1.0
  • 请求帧:

    请求帧

电话通知举例:

{
    "appName": "电话本",
    "packageName": "com.android.contacts",
    "title": "181****8296",
    "content": "甘肃兰州 电信"
}

同步常用联系人

从手机APP同步常用联系人到手表侧。

表 1 同步常用联系人字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
syn_common_contacts 0x04 sizeof(uint8_t) uint8_t 内容是JSON字符串。 O 1.0/1.0
  • 请求帧:

    请求帧

同步常用联系人举例:

[{
    "cid": "2",
    "name": "华为消费者服务热线",
    "phone": "950800",
}, {
    "cid": "8",
    "name": "X总监",
    "phone": "123456789",
}
]

查询常用联系人

手机APP查询手表侧的常用联系人。

表 1 查询常用联系人字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
lookup_common_contacts 0x05 sizeof(uint8_t) uint8_t 内容是JSON字符串。 O 1.0/1.0
  • 请求帧:

    请求帧

查询常用联系人举例:

[{
    "cid": "2",
    "name": "华为消费者服务热线",
    "phone": "950800",
}, {
    "cid": "8",
    "name": "X总监",
    "phone": "123456789",
}
]

设备信息

获取电量

表 1 获取电量字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
battery_level_info 0x01 1 uint8_t uint8_t battery_level:电量值。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取文件系统容量

表 1 获取文件系统容量字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
fs_info 0x02 12 uint32_t[] uint32_t sys_info[3]
• sys_info[0]:总空间
• sys_info[1]:已用空间
• sys_info[2]:剩余空间
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取手表类型

表 1 获取手表类型字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_type 0x03 sizeof(string) string watch_type:客户可自定义产品型号。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

获取系统语言

表 1 获取系统语言字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
get_sys_language 0x04 1 uint8_t - M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设置系统语言

表 1 设置系统语言字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
set_sys_language 0x05 1 uint8_t 0:错误
1:中文
2:英文
当前只支持中英文。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

心率信息上报

表 1 心率字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
rate_info 0x06 1 uint8_t 每分钟平均心率。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

步数信息上报

表 1 步数字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
step_info 0x07 4 uint32_t 累计的步数。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

血氧信息上报

表 1 血氧字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
blood_oxygen_info 0x08 1 uint8_t 血氧百分比。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

下发运动控制

表 1 手机下发运动控制字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
sport_control 0x09 sizeof(struct) struct • uint8_t action:1.开始运动;2.暂停运动;3.恢复运动;4.停止运动。
• uint8_t type:0.户外跑步;1.室内跑步;2.骑行;3.登山;4.室内游泳;5.户外游泳。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

上报运动控制

表 1 手表上报运动控制字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
sport_control 0x0a sizeof(struct) struct • uint8_t action:1.开始运动;2.暂停运动;3.恢复运动;4.停止运动。
• uint8_t type:0.户外跑步;1.室内跑步;2.骑行;3.登山;4.室内游泳;5.户外游泳。
注:action只会收到暂停、恢复、停止,不会收到开始。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

上报运动数据

表 1 手表上报运动数据字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
sport_data 0x0b sizeof(struct) struct • uint8_t type:0.户外跑步;1.室内跑步;2.骑行;3.登山;4.室内游泳;5.户外游泳
• uint16_t heartrate:心率。
• uint16_t calorie:热量。
• uint16_t altitude:高度。
• uint16_t ascent:海拔上升。
• uint16_t descent:海拔下降。
• uint32_t distance:距离,单位:米。
• uint32_t lap:趟数。
• uint32_t startTime:运动开始时间。(unix时间戳)
• uint32_t endTime:运动结束时间。(unix时间戳)
• uint32_t elapsedTime:运动总时间,单位:秒。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

运动记录同步

表 1 手表运动记录同步手机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
sync_sport_record 0x0c sizeof(struct) struct • uint16_t num:运动记录个数。
• uint8_t type:0.户外跑步;1.室内跑步;2.骑行;3.登山;4.室内游泳;5.户外游泳。
• uint16_t heartrate:心率。
• uint16_t calorie:热量。
• uint16_t altitude:高度。
• uint16_t ascent:海拔上升。
• uint16_t descent:海拔下降。
• uint32_t distance:距离,单位:米。
• uint32_t lap:趟数。
• uint32_t startTime:运动开始时间。(unix时间戳)
• uint32_t endTime:运动结束时间。(unix时间戳)
• uint32_t elapsedTime:运动总时间,单位:秒。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设置在线日志通道

表 1 步数字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
set_online_log 0x0d 1 uint8_t 0x01:设置日志串口通道;
0x02:设置日志BR通道;
0x03:设置日志BLE通道。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设置在线日志级别

表 1 在线日志级别字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
set_online_log_level 0x0e 1 uint8_t 0x01:打开debug;
0x02:打开info;
0x04:打开warn;
0x08:打开 error。
如果需要同时打开多个日志级数按照位或运算。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设置离线日志开关

表 1 离线日志开关字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
set_offline_log_enable 0x0f 1 uint8_t 0x01:使能;
0x00:去使能。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

在线日志上报

表 1 在线日志内容上报字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
online_log 0x10 N * sizeof(uint8_t) uint8_t uint8_t log[1024]; M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

开始查找手机

表 1 开始查找手机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
start_find_phone 0x11 sizeof(uint8_t) uint8_t 无需value。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

停止查找手机

表 1 开始查找手机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
stop_find_phone 0x12 sizeof(uint8_t) uint8_t 无需value。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

睡眠数据上报

表 1 手表上报睡眠数据字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
sleep_data 0x13 sizeof(struct) struct • bool isSended:此睡眠数据是否已发送。
• char data[11]:睡眠日期,如2025-06-03。
• uint8_t type:睡眠类型。0:深睡,1:浅睡,2:快速眼动,3:清醒。
• uint8_t typeSleepStart[20]:类型睡眠开始时间,如2025-06-03 00:00:00。
• uint8_t typeSleepEnd[20]:类型睡眠结束时间,如2025-06-03 00:00:00。
• uint8_t SleepStart[20]:整个睡眠开始时间,如2025-06-03 00:00:00。
• uint8_t SleepStart[20]:整个睡眠开始时间,如2025-06-03 00:00:00。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

拍照控制

表 1 拍照控制字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
take_photo_control 0x14 1 uint8_t 拍照控制。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表上报退出相机

表 1 手表上报退出相机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
watch_exit_camera 0x15 1 uint8_t 手表发起退出相机。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机下发退出相机

表 1 手机下发退出相机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
phone_exit_camera 0x16 1 uint8_t 手机下发退出相机。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表请求拉起APP相机

表 1 手表请求拉起相机字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
req_pull_up_camera 0x17 1 uint8_t 手表请求拉起相机。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

APP相机拉起结果

表 1 拉起APP相机结果字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
pull_up_camera_ret 0x18 1 uint8_t APP相机是否拉起的结果通知。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机发起OTA初始化

表 1 手机发起OTA初始化字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
ota_init 0x19 1 uint8_t 手机发起OTA流程初始化。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机发起OTA开始

表 1 手机发起OTA开始字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
ota_info 0x1a 1 uint32_t 升级包长度。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表请求天气信息

表 1 手表请求天气字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
weather_req 0x1b 1 uint8_t 无value约束。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表收到天气信息

表 1 手表收到天气字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
weather_rec 0x1c 1 uint8_t 数传天气文件后发送此协议给手表。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表请求日程信息

表 1 手表请求日程字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
date_req 0x1d 1 uint8_t 无value约束。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手表收到日程信息

表 1 手表收到日程字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
date_rec 0x1e N*sizeof(uint8_t) uint8_t 日程json格式字符串。 M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

手机下发网络时间

表 1 网络时间字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
time_sync 0x1f N*sizeof(uint8_t) uint8_t 时间格式:
“year-mon-day-hour-min-sec”。
M 1.0/1.0
  • 请求帧:

    请求帧

  • 响应帧

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

组网设备业务

命令索引

命令定义

音频状态查询

表 1 音频状态查询字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
device_id 0x01 1 uint8 设备号,非设置项,作为后续type查询目标识别标识使用。
0:主机
1:从机1
2:从机2
3:从机3
4:从机4
M 1.0/1.0
energy_value 0x02 4 int32 音频信号能量。 O 1.0/1.0
anr_mode 0x03 1 uint8 拾音降噪模式
0:关闭降噪
1:普通降噪模式
2:增强降噪模式
O 1.0/1.0
volume_level 0x04 1 uint8 音量挡位,范围[0, 24] O 1.0/1.0

说明: 用于通过主机查询各个从机的状态信息,通过device_id区分发射机,指令格式:Model ID + Command ID + TLV(device_id) + TL(other),device_id必须放在第一个TLV,第二个TL根据需要查询的type填写。 查询时除了device_id需要根据查询目标设置value字段,其他type类型的len字段填0不需要填写value字段。

  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

音频参数设置

表 1 音频参数设置字段描述

字段名称 Type(bit0~bit6) Length Size(Oct) Value数据类型 说明 必选/可选(M/O) 版本
device_id 0x01 1 uint8 设备号,非设置项,作为后续type查询目标识别标识使用。
0:主机
1:从机1
2:从机2
3:从机3
4:从机4
M 1.0/1.0
anr_mode 0x02 1 uint8 拾音降噪模式
0:关闭降噪
1:普通降噪模式
2:增强降噪模式
O 1.0/1.0
volume_level 0x03 1 uint8 音量挡位,范围[0, 24] O 1.0/1.0

说明: 用于通过主机设置各个从机的参数信息,通过device_id区分发射机,指令格式:Model ID + Command ID + TLV(device_id) + TL(other),device_id必须放在第一个TLV,第二个TLV根据需要设置的type填写。

  • 请求帧:

    请求帧

  • 响应帧:

    • 成功响应:

      成功响应

    • 失败响应:

      失败响应

设备状态查询

该命令用于查询组网设备的麦克风距离、自动关机时长和指示灯模式。SDK 头文件已声明对应的查询类型和处理入口,参见组网设备协议类型定义。帧封装遵循业务层公共规范

字段名称 Type 说明
device_id 0x01 目标设备标识,作为第一个 TLV。
mic_dist 0x02 麦克风距离。
auto_shutdown_duration 0x03 自动关机时长。
led_mode 0x04 指示灯模式。

设备参数设置

该命令用于设置组网设备的麦克风距离、自动关机时长和指示灯模式。SDK 头文件已声明对应的设置类型和处理入口,参见组网设备协议类型定义。帧封装遵循业务层公共规范

字段名称 Type 说明
device_id 0x01 目标设备标识,作为第一个 TLV。
mic_dist 0x02 麦克风距离。
auto_shutdown_duration 0x03 自动关机时长。
led_mode 0x04 指示灯模式。