[关闭]
@zongwu 2017-04-22T06:42:25.000000Z 字数 1967 阅读 334

对接智能硬件接口


作者 版本 日期
陈俊棋 V1.0 2017-04-22 14:40

TODO:需要杨工提供,有关 id的数据字典。

总述

  1. // C->S
  2. bundle.putString("${客户端包名}", "${传输的数据}");
  3. // S->C
  4. bundle.putString("${服务端包名}", "${传输的数据}");

CHECKSUM 的计算和校验

每个接口都需要带上 checksum 参数,并需要正确计算 checksum的值

  1. // 比如调用检测的指令
  2. {
  3. "intent":"detect",
  4. "id":"bg",
  5. "code":"4949",
  6. "checksum":"计算的 checksum 值"
  7. }

checksum 的计算方式:

  • 智能硬件分配给智慧健康一个 secret。(比如:XnG0@oHE
  • 将 json 中的 key 和 value 拆分开,以 key字母序排序。上例的 key 的排序为: code、id、intent
  • 拼装字符串:code=4949&id=bg&intent=detect,以&连接。
  • step 1:(accesstoken) = md5(code=4949&id=bg&intent=detect)
  • step 2:checksum = md5(${secret}&${accesstoken})${}表示变量

服务端/客户端拿到数据后,依照上述的校验值计算方式进行 checksum 的计算。若两者的校验结果保持一致则处理,否则则告知客户端checksum 异常。

NFC规范 扫描试剂标签

场景:由智慧健康主动打开 NFC 监听,所以要求试剂瓶上贴的 NFC 标签满足下面的约定。

  1. {
  2. "id":"bg",
  3. "code":"4949",
  4. "date":"2017-07-12 18:00:00"
  5. }
  6. --------------------------------------------
  7. id: 表示检测项目的标签,字段唯一。
  8. code:校验码,通常范围是0~4949之间。
  9. date:生产日期,要求为标准的 yyyy-MM-dd HH:mm:ss格式。
  10. --------------------------------------------

接口列表

  1. intent = detection : 发起调用检测意图
  2. intent = detectionResult :发起调用检测意图的响应结果
  3. intent = detectionProcess : 指令已处理

C->S 调起检测功能指令

  1. {
  2. "intent":"detection",
  3. "id":"bg",
  4. "code":"4949",
  5. "checksum":"..."
  6. }
  7. --------------------------------------------
  8. intent: 表示意图。
  9. id: 表示检测项目的标签,字段唯一。
  10. code:校验码,通常范围是0~4949之间。
  11. --------------------------------------------

C->S 发送检测数据已接收指令

  1. {
  2. "intent":"detectionProcess",
  3. "id":"bg",
  4. "date":"2017-07-12 19:45:00",
  5. "checksum":"..."
  6. }
  7. --------------------------------------------
  8. intent:表示意图。
  9. id: 表示检测项目的标签,字段唯一。
  10. date:应答接收数据的日期,要求为标准的 yyyy-MM-dd HH:mm:ss格式。(使用该日期对应某一条检测数据)。
  11. --------------------------------------------

S->C 服务端向客户端端发送检测数据指令

  1. {
  2. "intent":"detectionResult",
  3. "id":"bg",
  4. "data":"18.9",
  5. "unit":"mmHg/L",
  6. "date":"2017-07-12 19:45:00",
  7. "checksum":"..."
  8. }
  9. --------------------------------------------
  10. id: 表示检测项目的标签,字段唯一。
  11. data: 表示检测后的数据。
  12. unit:表示该数据对应的单位。
  13. date:检测日期,要求为标准的 yyyy-MM-dd HH:mm:ss格式。
  14. --------------------------------------------
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注