在健康一体机智能终端,GAP和GATT两个层通过Android API是直接能够接触到。ATT的服务框架和配置文件(profile)由通用属性规范GATT定义并使用,用于数据的传输。通用接入规范GAP,用于配置广播、连接、配对、绑定等参数一,。本文采用android手机扫描发现采集模块的蓝牙节点并且建立通信连接。

(1)健康一体机主机搜索到正在广播的从机后发起建立连接请求,建立成功后判断Service UUID和Characteristic UUID是否正确、权限是否正确,之后立即打开特征值ECGControl(UUID=0x2A52)的Indication。(2)主机下发设备认证命令。(3)从机发送LoginKey MD5进行登陆。(4)主机收到后计算并校验MD5是否正确,若失败立即断开连接,若校验通过则产生随机密钥Key并存储,将Key通过LoginKey进行AES.128加密,得到AESKey,下发AESKey给从机。(5)从机接收AESKey,使用LoginKey解密得到Key(此处可考虑主机再发一个原始Key的CRCl6,从机校验Key是否正确),再判断当前Key与上一次连接使用的Key是否相同,若不相同则存储,存储成功后发送应答,若相同则认证失败,立即断开连接。
