概述
sample api是个web api程序,实现六个接口,路径
/pb/upload 一般数据(大部分手表数据)上传
/alarm/upload 报警数据上传
/call_log/upload sos通话记录/普通通话记录上传
/deviceinfo/upload 硬件信息上传
/status/notify 设备在线/离线状态变化通知
/health/sleep 提供计算后的睡眠数据给设备显示
前3个接口一定要实现,后面的接口可选,根据你的需要选择是否实现。
前两个接口是一般二进制数据,其他接口接收到手表上传的是json数据, 但从http协议角度来说,所有接口都是收到表单格式
提交的数据,我们提供的sample api都是按一般二进制格式解析数据。不能忽略content-type的框架,如spring,需要通
过其他方法修改客户端请求的content-type为application/octet-stream。
代码主要包括controller/parser/calculation/protobuf四个部分
controller http handler, 请求处理
parser 数据解析
calculation 数据计算
protobuf 自动生成的protobuf代码
手表上传/pb/upload和/alarm/upload接口的数据格式:前15个字节是deviceid,之后的数据可能是1或多个数据包,
多个数据包时是一个接一个的排列在一起。每个数据包的格式: 第1-第2字节固定数据0x44 0x54,第3-第4字节是数据包长度,
第5-第6字节是数据包crc校验码,第7-第8字节是协议编码,后面按前面定义的数据包长度的字节是数据内容,格式是protobuf。
parser部分代码就是解析这个数据包。
/call_log/upload,/deviceinfo/upload接口接收到的其实是json,用json相关库即可解析。
calculation部分是展示预处理数据,可以调用计算服务,计算睡眠/心电分析/房颤分析数据。
