基于API进行开发,可选以下三种开发方式:
1、API开发
1.1 API开发介绍
API是我们预先定义的一些函数,我们把如何通过AP实现对蓝牙终端设备的扫描、连接、写入、读取等底层的蓝牙指令进行了封装,用户可以通过我们封装的API接口,方便的对AP进行控制,而不需要去理解蓝牙底层的工作机制。
基于桂花网的API,用户可使用C#,Node.js,Java,iOS等任何基于HTTP通信协议的编程语言直接进行上层应用平台的开发,应用平台直接调用桂花网的API来获取蓝牙终端设备的数据和实现交互。
根据不同的网络部署模式,通过AC或者AP的API都可以进行。
1.2 开发网络图
需要开发人员有编程能力;
需要开发人员有低功耗蓝牙相关的知识基础;
对蓝牙终端设备的蓝牙通信协议有足够的了解并完成解析;
需要开发人员对桂花网的API有较深的理解并熟练应用。
1.4 需要准备的资料及工具
蓝牙调试工具及说明文档(用于协议解析阶段的验证,桂花网提供)
桂花网API说明文档(桂花网提供)
蓝牙终端设备的蓝牙通信协议(设备厂家提供)
1.5 血压计API开发举例
需要实现的功能:调用AP的扫描接口,实时扫描,当扫描到血压计的广播包后,控制AP连接血压计,写入相关指令获取数据,然后进行上层应用平台的开发,将获取到的数据进行解析并完成与血压计的交互。
1)根据血压计的蓝牙通信协议,完成血压计的协议解析并验证;
2)调用AP的扫描API接口,开启AP的扫描,实时监测血压计的广播包;扫描API为SSE长连接,单个AP只调用一次即可;
3)调用AP的读取通知接口,实时获取血压计上报的数据;读取通知的API为SSE长连接,单个AP只调用一次即可;
4)调用AP的连接API接口,当扫描到血压计后,进行连接;
5)调用AP的写指令API接口,向已连接的血压计写入相关指令,例如:开启数据传输通道、开始测量、读取历史数据等,具体指令由蓝牙通信协议解析得出;
6)血压计测量完成后,APP会自动完成连接设备,获取数据的过程,并将数据发送至用户的数据服务器,用户基于接收到的数据,进行上层应用平台的开发。
关于API的详细说明和使用方法,请参照“文档下载”页面提供的详细说明文档或咨询桂花网技术支持人员。
1.6 优劣势分析
优势:
直接对接蓝牙通信协议,开发方式较灵活
劣势:
需要对蓝牙通信协议和桂花网的API有较深的理解
后期维护较复杂
耗费工时较多
2、DI开发
2.1 DI开发介绍
DI系统由桂花网开发完成,可以自动完成大部分与蓝牙终端设备的数据采集,然后将获取到的数据POST到用户的HTTP服务器中;DI把向蓝牙终端设备写入指令等交互和控制进行了封装,提供了一些更为简单的接口供用户使用。
用户可基于DI推送的数据,和DI提供的接口进行上层应用平台的开发。
2.2 开发网络图
2.3 对开发者的基本要求
需要开发人员有编程能力;
需要开发人员对桂花网的DI有较深的理解并熟练应用。
2.4 需要准备的资料及工具
DI的使用和说明文档 (桂花网提供)
蓝牙终端设备数据对接和格式文档(桂花网对接设备后提供)
2.5 血压计DI开发举例
血压计开机并测量完成后,DI会自动连接血压计,获取到血压数据并解析后,将数据推送到用户的HTTP服务器中。并且DI预留了更为简单的接口供用户调用,实现对血压计的控制功能。
DI的开发由桂花网完成,用户仅需要搭建HTTP服务器接受DI推送的数据,并按照桂花网提供的血压计对接和数据格式进行上层应用的开发即可。
1)按照桂花网提供的DI说明进行DI的配置,主要进行血压业务的添加,血压计型号选择,用户数据服务器填写等基础操作;
2)搭建HTTP服务器,用于血压计数据的接收;
3)进行上层应用平台的开发,对血压数据进行展示,并可通过DI提供的接口,实现对血压计的控制。
目前DI上蓝牙终端设备的对接,只能由桂花网完成,,不同的蓝牙终端设备会有不同的使用方式,我们在对接完成后,会形成详细的文档进行说明。
2.6 优劣势分析
优势:
不需要了解蓝牙终端设备的工作机制和理解蓝牙通信协议
不需要对桂花网的API有较深的理解
不需要考虑蓝牙终端设备的对接,开发工时短
劣势:
必须采用AC+AP的部署方式
蓝牙终端设备对接到DI的操作需要由桂花网完成
蓝牙终端设备的通信协议需要向桂花网公开(可签署保密协议)
3、Container开发
3.1 Container开发介绍
从AP的 1.3版本的固件开始,E1000和X1000两种型号的AP中提供了一个Container(容器)供用户安装自行开发的APP使用。容器的内核为精简版Ubuntu 16.04.3。Container(容器)直接安装在AP中,与AP共享CPU,存储和RAM。该容器最多可使用2个CPU内核,最多可使用128MB RAM内存。
用户需要基于Container进行第三方APP的开发,第三方APP直接调用AP的API进行数据对接,并且Container开放了端口,可用于上层应用平台通过APP控制AP,并完成与蓝牙终端设备的数据交互和控制。
第三方APP的开发用户可付费交由桂花网完成,用户基于APP进行上层应用平台的开发。
3.2 开发网络图
需要开发人员有编程能力;
需要开发人员有低功耗蓝牙相关的知识基础;
对蓝牙终端设备的蓝牙通信协议有足够的了解并完成解析;
需要开发人员对桂花网的API有较深的理解并熟练应用。
3.4 需要准备的资料及工具
蓝牙调试工具及说明文档(用于协议解析阶段的验证,桂花网提供)
桂花网API说明文档(桂花网提供)
桂花网边缘计算使用说明(桂花网提供)
蓝牙终端设备的蓝牙通信协议(设备厂家提供)
3.5 血压计APP开发举例
APP需要实现的功能:调用AP的扫描接口,实时扫描,当扫描到血压计的广播包后,控制AP连接血压计,写入相关指令获取数据,然后将获取到的数据进行解析(或直接发送,由上层应用平台解析),发送到用户的数据服务器中。
1)根据血压计的蓝牙通信协议,完成血压计的协议解析并验证;
2)AP的扫描API接口,开启AP的扫描,实时监测血压计的广播包;扫描API为SSE长连接,单个AP只调用一次即可;
3)调用AP的读取通知接口,实时获取血压计上报的数据;读取通知的API为SSE长连接,单个AP只调用一次即可;
4)调用AP的连接API接口,当扫描到血压计后,进行连接;
5)调用AP的写指令API接口,向已连接的血压计写入相关指令,例如:开启数据传输通道、开始测量、读取历史数据等,具体指令由蓝牙通信协议解析得出;
6)APP开发完成并测试后,将APP安装到AP中;
7)血压计测量完成后,APP会自动完成连接设备,获取数据的过程,并将数据发送至用户的数据服务器,用户基于接收到的数据,进行上层应用平台的开发。
关于Container的详细使用说明,请参照边缘计算使用说明或咨询桂花网技术支持人员。
3.6 优劣势分析
优势:
网络结构简单,部署成本低
可做边缘计算,节省带宽和服务器资源
劣势:
需要有蓝牙的相关知识
需要对桂花网的API有足够了解并熟练应用