通用穿戴协议
穿戴设备通用协议文档
- 数据校验签名
- 数据的结构
- 签名计算方式
- 案例
数据结构
数据由以下内容组成:
- 数据开头标识:[
- bid(需要登录后台申请)
- 设备号
- 协议模块分割符:*
- 消息内容(开头是命令,后面有内容用消息分割符逗号分割,没有则不需要逗号)
- 消息长度(十六进制,4个字节,最大支持FFFF)
- 消息分割符:,
- 数据结尾标识:]
比如说要发一条登录LK指令
[产品名(bid)*设备号*数据长度*消息内容数据]
对号入座:
[IC01*18239922822332*0002*LK]
比如说一条消息带多段的,体温上报指令:
[IC01*18239922822332*LEN*TEMP,36.2]
签名计算方式
以上内容是目标发出的内容和内容的结构,但是实际发出的内容最终不是这样子的,需要对数据进行签名。
签名内容:
产品名(bid)*设备ID*数据长度*指令秘钥
对以上内容进行md5计算,不够32位,前面补0
再把签名值放到数据开头标识和产品名之间。请查看下方案例:
签名案例
- 目标发送内容
[IC01*18239922822332*LEN*TEMP,36.2]
- 秘钥(获取方式请看开头):
VMg3oCnND6NzhfA6dmNfSnBWZuKyLdeY
- 签名内容
IC01*18239922822332*LEN*TEMPVMg3oCnND6NzhfA6dmNfSnBWZuKyLdeY
- MD5结果
c5cedc4505342715ce39c317f85b8247
- 发送内容
[c5cedc4505342715ce39c317f85b8247IC01*18239922822332*LEN*TEMP,36.2]
协议
LK(登录)
客户端上传:
[fddcd1ed79148e795d7fca0ea66e2599HYK*XXXXXXXXXXXXX*0002*LK]
fddcd1ed79148e795d7fca0ea66e2599为签名内容,HYK为产品名,XXXXXXXXXXXXX设备号,0002数据长度,LK为内容
服务端下发
[HYK*XXXXXXXXXXXXX*0002*LK]
KA(心跳包)
开发时,建议4分钟的心跳包,上线后根据功耗来定,最长支持10分钟的心跳。
客户端上传
[签名内容HYK*XXXXXXXXXXXXX*0015*KA,20230412,2060,4,59]
- 20230412 日期
- 2060 步数
- 4 翻转次数
- 59 电量百分比
服务端返回
[HYK*XXXXXXXXXXXXX*0015*KA]
PING(绑定查询)
客户端上传
[签名内容HYK*XXXXXXXXXXXXX*0004*PING]
服务端返回:
[HYK*XXXXXXXXXXXXX*0006*PING,1]
- 1表示已绑定,0表示未绑定
UD/CRUD/AL(位置信息上传)
ud为定时周期上传的数据
curd为cr指令下发后上传的数据,也就是立即定位上传的数据
al为警告数据,比如说SOS时上传的警告数据
客户端上传
[73e288cc259cd261bcf6a29407f4160dqHYK*860132060004801*00de*UD,日期,时间,定位成功/失败(A/F),纬度,南北纬(N/S),经度,东西经(E/W),速度,方向,海拔,卫星个数,gms信号强度,电量,步数,翻转次数,终端状态,基站个数(不超过5个),MCC国家码,MNC网号,区域码,基站1编号,基站1信号强度,基站1区域码,基站2编号,基站2信号强度,基站2区域码,WIFI数量(按信号强度排序,不超过5个)WIFI1名称,WIFI1Mac地址,WIFI1信号强度,WIFI2名称,WIFI2Mac地址,WIFI2信号强度..]
例子:
[461c4bd66c8d0ecee5221948290fd935qHYK*860132060004801*00fc*UD,230504,141858,A,22.573816,N,113.851716,E,0.720,0,125,05,93,100,341,0,00000000,1,1,460,17,30538,125800240,68,5,wifi0,e0:24:81:68:21:14,-46,wifi1,90:e7:10:d8:fd:03,-73,wifi2,a8:3b:5c:63:7e:08,-77,wifi3,e0:24:81:66:e7:79,-81,wifi4,34:12:f9:89:54:bd,-83]
终端状态说明:
00000000(16 进 制)
用二进制字符串表示为 0000 0000 0000 0000 0000 0000 0000 0000 含义如下: 左边高 16bit 表示报警,右边低16bit 表示状态. Bit 位(0 开始) 含义(1 有效) 0 低电状态1 出围栏状态(目前没用到)2 进围栏状态(目前没用到)3 手环戴上取下状态4 手表运行静止状态16 SOS 报警17 低电报警18 出围栏报警(目前没用到)19 进围栏报警(目前没用到)20 手环拆除报警21 跌倒报警22 震动报警23 断电报警比如 00200010,即表示00000000001000000000000000010000 分别是第四位为 1,第21 位为1,对应21位是跌倒报警
服务端不会下发
LGZONE(时区时间)
客户端上传
[签名内容HYK*XXXXXXXXXXXXX*0004*LGZONE]
服务端回复
[HYK*XXXXXXXXXXXXX*001D*LGZONE,+8,08:00:00,2023-10-12]
+8 表示时区,+为东区,-为西区。+8表示东八区
08:00:00为:HH:mm:ss
2023-10-12:yyyy-MM-dd
temp(温度数据上传)
客户端上传
[签名内容HYK*XXXXXXXXXXXXX*000f*temp,36.5]
- 36.5 为体温数据
服务端回复:
[HYK*XXXXXXXXXXXXX*000a*temp]
FIND(查找设备)
服务端下发
[HYK*XXXXXXXXXXXXX*0004*FIND]
客户端回复
[签名内容HYK*XXXXXXXXXXXXX*0004*FIND]
CR(立即定位)
- 服务器下发
[HYK*XXXXXXXXXXXXXXXX*0002*CR]
- 客户端收到消息后,返回以下内容,并且去进行定位,定位完成后通过UD上传定位数据
[签名内容HYK*XXXXXXXXXXXXXXXX*LEN*CR]
定位完以后,走CRUD命令上传数据。
定位周期设置UPLOAD
服务端下发
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*UPLOAD,300]
- 300 为周期,单位是秒,为0是则关闭上传
客户端回复
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*UPLOAD]
hrtstart(心率上传周期)
服务器下发
[HYK*XXXXXXXXXXXXX*LEN*hrstart,300]
- 300 单位秒,周期时间
- 0则为关闭
- 1则为单次测量
客户端回复
[HYK*XXXXXXXXXXXXX*LEN*hrstart]
heart(心率上传)
客户端上传
[HYK*XXXXXXXXXXXXX*LEN*heart,76]
服务端回复
[HYK*XXXXXXXXXXXXX*LEN*heart]
RESET(重置)
服务器下发
[HYK*XXXXXXXXXXXXX*LEN*RESET]
客户端回复
[签名内容HYK*XXXXXXXXXXXXX*LEN*RESET]
oxygen(血氧上传)
客户端上传
[HYK*XXXXXXXXXXXXX*LEN*oxygen,80]
80血氧浓度
服务端回复
[HYK*XXXXXXXXXXXXX*LEN*oxygen]
blood(血压上传)
客户端上传
[HYK*XXXXXXXXXXXXX*LEN*blood,80,110]
80收缩压,110舒张压
服务端回复
[HYK*XXXXXXXXXXXXX*LEN*blood]
血压上传周期下发
服务端下发:
[HYK*XXXXXXXXXXXXX*LEN*bldstart,300]
300 血压值上传周期,单位秒
客户端回复
[HYK*XXXXXXXXXXXXX*LEN*bldstart]
SILENCE_TIME(静音时间段设置)
服务器下发
[HYK*XXXXXXXXXXXXX*LEN*SILENCE_TIME,09:30-12:30-0-1-0111110,13:30-14:30-0-1-0111110,14:30-15:30-0-1-0111110]
- 09:30-12:30-0-1-0111110:开始时间-结束时间-静音开关-震动开关-循环周期;循环周期请参考闹钟的说明
- 最多5个,可以从后以去配置参数
客户端回复
[HYK*XXXXXXXXXXXXX*0054*SILENCE_TIME]
MESSAGE(文字消息)
服务器下发
[HYK*XXXXXXXXXXXXX*LEN*MESSAGE,62115c1d8bd54e0b53d14e0067616d88606f002e]
- 62115c1d8bd54e0b53d14e0067616d88606f002e为消息内容
- 编码格式为unicode:\u6211\u5c1d\u8bd5\u4e0b\u53d1\u4e00\u6761\u6d88\u606f\u002e
客户端回复
[签名内容HYK*XXXXXXXXXXXXX*LEN*MSG]
WIFI_SET(wifi账号密码设置)
服务器下发
[HYK*XXXXXXXXXXXXX*LEN*WIFI_SET,621176840077006900660069,123456]
- 621176840077006900660069为wifi的名称
- unicode编码:\u6211\u7684\u0077\u0069\u0066\u0069
- 123456为wifi密码
客户端回复
[签名内容HYK*XXXXXXXXXXXXX*LEN*WIFI_SET]
TRIGGER_CAMERA(Camera开关)
服务端下发
[HYK*XXXXXXXXXXXXX*0010*TRIGGER_CAMERA,1]
- 1表示开,0表示关
客户端回复
[签名内容HYK*XXXXXXXXXXXXX*0010*TRIGGER_CAMERA]
TRIGGER_DIAL(拨号盘开关)
服务端下发
[HYK*XXXXXXXXXXXXX*LEN*TRIGGER_DIAL,1]
- 1为开,0为关
客户端回复
[HYK*XXXXXXXXXXXXX*LEN*TRIGGER_DIAL]
TRIGGER_COCK(报时开关)
服务端下发
[HYK*XXXXXXXXXXXXX*LEN*TRIGGER_COCK,1]
- 1表示打开,0表示关闭
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_COCK]
TRIGGER_POWER_DRY(低电报警开关)
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_POWER_DRY,1]
- 1表示开,0表示关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_POWER_DRY]
TEMP_CYCLE(温度测试周期)
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*TEMP_CYCLE,300,1]
- 300为温度测试周期,单位为秒
- 1为开,0为关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*TEMP_CYCLE]
STEP_CYCLE(计步上传周期)
服务端上传
[HYK*XXXXXXXXXXXXXXXX*LEN*STEP_CYCLE,300,1,10000]
- 300为上传周期
- 1为开,0为关
- 10000为运动目标
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*STEP_CYCLE]
oxstart(血氧上传周期下发)
服务端下发:
[HYK*XXXXXXXXXXXXXXXX*LEN*oxstart,300]
- 300 周期,单位秒
客户端回复:
[HYK*XXXXXXXXXXXXXXXX*LEN*oxstart]
CENTER(主号下发)
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*CENTER_PHONE,xxxxxxxxxx]
- xxxxxxxxxx 下发的中心号码,可用于短信指令校验
客户端回复:
[HYK*XXXXXXXXXXXXXXXX*LEN*CENTER_PHONE]
拨打电话
服务端下发:
[HYK*XXXXXXXXXXXXXXXX*LEN*CALL,xxxxxxxxxx]
- xxxxxxxxxx 目标呼叫号码
客户端回复:
[HYK*XXXXXXXXXXXXXXXX*LEN*CALL]
设备关机
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*POWEROFF]
- 客户端收到回复后进行设备关机
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*POWEROFF]
设备重置
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*RESET]
- 客户端收到回复后进行设备重置
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*RESET]
设置体温上传周期
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*wdstart,300]
- 300 为周期,单位为秒,如果为0则关闭周期上传
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*wdstart]
运动目标和周期下发
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*STEP_CYCLE,600,1,10000]
- 600 为周期,客户端也可以根据此周期为0时不进行上传
- 1 为开关,1表示上传运动记录,0表示不上传
- 10000 为运动目标
客户端回复
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*STEP_CYCLE]
睡眠时间段配置
服务端下发
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*SLEEP_TIME,20:00-06:00]
- 20:00-06:00 睡眠开始和结束的时间
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*SLEEP_TIME]
久坐提醒开关
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*sit_up_alarm,1]
- 1 开关,1表示开,0表示关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*sit_up_alarm]
SOS下发
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*SOS,0073006F00730031,123456,0073006F00730032,789012,0073006F00730033,345678]
- 0073006F00730031 名称,unicode编码
- 123456 为号码
- 一共三组
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*SOS]
联系人下发
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*PHL,80547cfb4eba0031-17688768988,80547cfb4eba0032-17388768988]
- 80547cfb4eba0031 联系人1名称 unicode编码
- 17688768988 手机号码
- 最多50组
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*PHL]
闹钟下发
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*REMIND,14:26-1-1100100,16:26-1-000000012:25-1-1111011]
- 14:26 时间
- 1 开关
- 1100100 重复周期,1表示开,0表示关。每一位第别表示星期:日一二三四五六
客户端回复
[HYK*XXXXXXXXXXXXXXXX*0035*REMIND]
静音时间段下发
服务端下发
[HYK*XXXXXXXXXXXXXXXX*003b*SILENCETIME2,15:29-19:28-1-1-1100100,12:29-22:29-1-1-1111111]
- 15:29:静音开始时间
- 19:28:静音结束时间
- 1 震动开关,1震动,0不震动
- 1 此时间段静音开关,1表示有效,0表示无效
- 1100100 循环周期,跟闹钟一样
客户端回复
[HYK*XXXXXXXXXXXXXXXX*003b*SILENCETIME2]
相机开关
服务端下发
[HYK*XXXXXXXXXXXXXXXX*0010*TRIGGER_CAMERA,1]
- 1表示开关,1为开,0为关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*0010*TRIGGER_CAMERA]
拨号开关
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_DIAL,1]
- 1 表示开关,1表示开,0表示关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_DIAL]
报时开关
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_COCK,1]
- 1 表示开关,1表示开,0表示关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*TRIGGER_COCK]
低电量报警开关
服务端下发
[HYK*XXXXXXXXXXXXXXXX*0013*TRIGGER_POWER_DRY,1]
- 1 表示开关,1表示开,0表示关
客户端回复
[HYK*XXXXXXXXXXXXXXXX*0013*TRIGGER_POWER_DRY]
FACTORY(机器重置)
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*FACTORY]
客户端恢复
[HYK*XXXXXXXXXXXXXXXX*LEN*FACTORY]
WT(天气获取)
客户端上传
[HYK*XXXXXXXXXXXXXXXX*LEN*WT,位置数据(参考UD)]
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*WT,年-月-日,时:分:秒,天气描述,天气编号,当前温度,最低温,最高温,城市名]
DLT(解绑设备)
服务端下发
[HYK*XXXXXXXXXXXXXXXX*LEN*DLT]
客户端回复
[HYK*XXXXXXXXXXXXXXXX*LEN*DLT]
视频通话接口(菊风)
获取登录token、appKey(juhoo_config)
获取联系人列表:video_contact
设备端发起呼叫:jup_hoo_call
收到对方的回复(设备端发起的通话请求,对方接受/拒绝):jup_hoo_reply
收到对方call发起的通话请求:jup_hoo_request
回复对方的请求:jup_hoo_response
手表设备获取联系人列表(video_contact)
手表端发送(已签名)
[0682072c1e64d671542b7af7dbd223c0TDpY4Mron3KAUBCx*23413412888288*000d*video_contact]
后台回复:
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*002e*video_contact,1675013279992250370,9ec459279524,1675013279992250371,9ec459274433]
- 1675013279992250370:ID1
- 9ec459279524:昵称1
- 1675013279992250371:ID2
- 9ec459274433:昵称2
获取登录token、appKey(juhoo_config)
手表端发送
[a7e6bb3000c137f7a72a48f61252e728TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*jup_hoo_config]
后台回复:
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0084*jup_hoo_config,01lqlyqzRMUy4odjNsi7trGP3WgmOTLooV23ldNUYc+l7u5f1mA=BmKgyUiFDQzLFTcwMDY/Nj40NjY+PzQ/NTQ2Pz4=,efe9f8800a39d96244234097,48838394d96244234893]
token值:01lqlyqzRMUy4odjNsi7trGP3WgmOTLooV23ldNUYc+l7u5f1mA=BmKgyUiFDQzLFTcwMDY/Nj40NjY+PzQ/NTQ2Pz4=
appKey:efe9f8800a39d96244234097
秘钥:48838394d96244234893
1. 手表设备发起视频通话请求(自己发起请求:jup_hoo_call)
手表端发送
[20606c56bfe857a7a96ebe65fca9d56bTDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0022*jup_hoo_call,1675013279992250370,1]
- 675013279992250370:对方设备号,来自行通讯录
- 1:视频通话,0:语音通话
后台回复:
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*LEN*jup_hoo_call,1]
- 1:对方在线,等待接听;0:对方不在线
2. 平台下发请求结果(对方同意/拒绝:jup_hoo_reply)
后台下发
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*000f*jup_hoo_reply,1]
- 1:对方接受;0:对方拒绝
手表端回复
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*000f*jup_hoo_reply]
1. 平台下发通话请求(对方发起请求:jup_hoo_request)
后台下发:
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0023*jup_hoo_request,XXXXXXXXXXXXXXXX,1]
- 对方的用户ID:XXXXXXXXXXXXXXXX
- 1:视频通话,0语音通话
手表端回复
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0023*jup_hoo_request]
2. 回复同意还是拒绝通话请求(回复对方:jup_hoo_response)
手表端回复
[e84c10c682fb83544ec66d5770316566TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0026*jup_hoo_response,1675013279992250370,1]
- 1675013279992250370:对方ID
- 1:同意通话
- 0:拒绝通话
后台回复
[TDpY4Mron3KAUBCx*XXXXXXXXXXXXXXXX*0010*jup_hoo_response]
微聊
- 设备端指令
- 数据转换
客户端要求控制音频不要超过30秒,文件过大会导致带宽占用过高
设备端指令
- 获取联系人列表(参考视频通话的获取/MEMBERS)
- 群聊
- 单聊
群聊(所有的联系人都会收到)
群聊,目前协议设备端不支持来源,也就是只有自己和他人
语音消息
客户端上传
[XT*YYYYYYYYYYYYYYY*LEN*TK,AMR格式音频数据]
后台回复
[XT*YYYYYYYYYYYYYYY*LEN*TK,接收结果]
- 1对方在线,已经转发
- 0对方不在线,已经缓存消息(有效期N天)
平台下发语音
[XT*YYYYYYYYYYYYYYY*LEN*TK,AMR 格式音频数据]
客户端回复
[XT*YYYYYYYYYYYYYYY*LEN*TK,接收结果]
- 1为成功
- 0为失败
文字消息
文字消息的内容,发送都要进行unicode编码,接收要解码,自己手动加\u
后台下发
[XT*YYYYYYYYYYYYYYY*LEN*MESSAGE,短语内容]
客户端回复
[XT*YYYYYYYYYYYYYYY*LEN*MESSAGE]
单聊(目标联系人可以收到)
语音消息
客户端上传
[XT*YYYYYYYYYYYYYYY*LEN*TKOne,App 账号,秒数,AMR 格式音频数据]
- App账号,对应的是绑定的账号,跟视频通话里的联系人列表是一样的。以此联系为作为微聊的联系人。
后台回复
[XT*YYYYYYYYYYYYYYY*LEN*TKOne,接收结果]
- 1为发送成功
- 0为不在线,已缓存
平台下发
[XT*YYYYYYYYYYYYYYY*LEN*TKOne,App 账号,秒数,AMR 格式音频数据]
客户端回复
[XT*YYYYYYYYYYYYYYY*LEN*TKOne,接收结果]
- 1为成功
- 0为失败
数据转换
由于设备协议格式的问题,音频数据、图片数据需要做以下的转换:
接收到的数据,遇见左边转右边
0X7D 0X01 --> 0X7D 0X7D 0X02 --> 0X5B 0X7D 0X03 --> 0X5D 0X7D 0X04 --> 0X2C 0X7D 0X05 --> 0X2A
发送数据,遇到左边转右边
0X7D --> 0X7D 0X01 0X5B --> 0X7D 0X02 0X5D --> 0X7D 0X03 0X2C --> 0X7D 0X04 0X2A --> 0X7D 0X05
通用数据接口
在云对云的产品形态下,第三方云端可以直接下发内容到设备上,设备也可以直接上传数据到第三方云服务上。
设备上传数据
客户端上传消息
[XT*YYYYYYYYYYYYYYY*LEN*GEN_MSG_UP,data64]
服务端回复
[XT*YYYYYYYYYYYYYYY*LEN*GEN_MSG_UP]
data64是内容,进行base64编码
第三方服务器推送
服务端下发
[XT*YYYYYYYYYYYYYYY*LEN*GEN_MSG_DOWN,data64]
客户端回复
[XT*YYYYYYYYYYYYYYY*LEN*GEN_MSG_DOWN]
TCP转HTTP请求
某些情况下,设备不具备http请求的能力,可以通过此接口,用服务器来代替设备进行http请求。
- 客户端发送
[XT*YYYYYYYYYYYYYYY*LEN*TCP_HTTP,请求方法,URL,header,body]
请求方法有:POST,GET,PUT,DELETE
url:为请求地址
header:为头部信息,json格式,需要base64编码
{ "headers":[ { "key":"键", "value":"值" },{ "key":"键", "value":"值" },{ "key":"键", "value":"值" }, ] }
body要求base64编码
服务端响应
[XT*YYYYYYYYYYYYYYY*LEN*TCP_HTTP,状态码,响应的体]
状态码有http状态码和特殊状态码:5000,请求错误,请稍后重试;4005,不支持该请求方法
相应体base64编码
生成绑定所需的二维码
png 格式(默认推荐)
客户端请求:
[XT*YYYYYYYYYYYYYYY*LEN*CID]
服务端回复:
[XT*YYYYYYYYYYYYYYY*LEN*CID,对应设备 ID 转换成的二维码图片 205*205png 格式]
终端收到数据后需做转码,遇到左边数据需转成右边数据:
0X7D 0X01 --> 0X7D
0X7D 0X02 --> 0X5B
0X7D 0X03 --> 0X5D
0X7D 0X04 --> 0X2C
0X7D 0X05 --> 0X2A
jpg 格式:
客户端请求:
[XT*YYYYYYYYYYYYYYY*LEN*CID_JPG]
客户端请求:
[XT*YYYYYYYYYYYYYYY*LEN*CID_JPG,对应设备ID转换成的二维码图片 128*128jpg 格式]
终端收到数据后需做转码,遇到左边数据需转成右边数据:
0X7D 0X01 --> 0X7D
0X7D 0X02 --> 0X5B
0X7D 0X03 --> 0X5D
0X7D 0X04 --> 0X2C
0X7D 0X05 --> 0X2A
注:也可以自己生成二维码,二维码内容为https://app.thisiot.com/app/download/cn/1747546271749566466?deviceId=设备ID,把后面的数据换成设备的 IMEI 即可。(生成完需测试通过方可)
提醒指令
与程工约定的:
- 回家一个时间;
- 休息两个时间;
- 睡觉三个时间;
- 起床三个时间;
- 喝水一个时间;
- 自定义服药三个时间
- 服药三个时间
休息提醒
最多2个时间
后台下发
[XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_REST,时间间隔 1,时间间隔 2]
设备响应
[XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_REST]
- 时间格式 【起始-结束】08:10-10:00,起始为开始休息,结束为休息结束。
回家提醒
最多1个时间
后台下发
[XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_HOME,时间]
设备响应
[XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_HOME]
- 时间格式 HH:mm
睡觉提醒
最多3个时间
平台下发
[XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_SLEEP,闹钟1,闹钟2,闹钟3]