1、使用API开发
用户完成蓝牙按终端设备的通信协议解析后,使用桂花网API来完成蓝牙终端设备的协议对接,协议对接完成后,用户可以选择以下三种API的使用方式进行数据对接并完成上层应用平台的开发。
1.1 API开发
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
我们把如何通过AP实现对蓝牙终端设备的扫描、连接、写入、读取等底层的蓝牙指令进行了封装,用户可以通过我们封装的API接口,方便的对AP进行控制,而不需要去理解蓝牙底层的工作机制。
用户基于桂花网的API直接进行上层应用平台的开发,应用平台直接调用桂花网的API来获取蓝牙终端设备的数据和实现交互。
关于API的详细介绍,请参见SDK使用手册(英文) 或API使用说明(中文) 。
1.2 DI开发
DI(Device Integrator)即商务智能软件,是一种根据预设定的程序自主处理用户的原始数据,并将原始数据转化成可读的用户数据的软件。在我们的产品中,DI是通用的面向大部分客户的蓝牙数据采集及蓝牙数据交互平台。
DI系统的数据对接由桂花网完成,目前部署在AC中。DI自动通过AP获取数据后,将原始数据进行解析,并发送到用户的服务器中,用户可基于DI推送的数据和我们提供的交互接口进行上层应用平台的开发。
1.3 Container开发
从AP的 1.3版本的固件开始,E1000和X1000两种型号的AP中提供了一个容器(Container)供用户安装自行开发的APP使用。用户需要基于Container进行第三方APP的开发,第三方APP直接调用AP的API进行数据对接,并且Container开放了端口,可用于上层应用平台通过APP控制AP,并完成与蓝牙终端设备的数据交互和控制。
上层应用平台的开发基于APP完成。
关于Container开发的详细介绍,请参见边缘计算使用说明。
2、旁路(MQTT)开发
AP中已经安装了MQTT客户端,配置后,数据通过MQTT的方式,由AP直接推送至MQTT服务器,若AP所在网络可以连接公网,MQTT服务器可以放置在公网。用户通过订阅相关主题获取数据。
MQTT目前仅支持发送蓝牙终端设备的广播数据。用户获取到数据后,完成上层应用的开发。
关于旁路开发的详细介绍,请参见旁路开发说明(中文)。
3、几种开发方式的对比
API开发:
用户直接调用桂花网的API,基于蓝牙终端设备的蓝牙通信协议直接进行开发,API可以实现各种复杂的功能,上层应用平台开发方式较灵活,但是需要对API和蓝牙通信协议有较深的理解,后期维护较复杂。
有较强的开发能力的团队,或者蓝牙通信协议无法公开的用户,可选API的方式进行开发。
相对其他开发方式,开发工时最长。
DI开发:
DI把蓝牙终端设备的蓝牙通信协议进行了封装,并自动完成其中的大部分功能。用户不需要考虑蓝牙通信协议和API,使用DI提供的几个简单接口即可完成上层应用平台的开发。
用户只需要进行上层应用的开发,节省了大部分的开发时间。适用于大部分场景。
Containe开发:
同API开发,用户需要首先完成APP的开发实现数据获取,后期维护较复杂,但是可以实现边缘计算,能有效节约带宽和服务器资源。
可以实现边缘计算,适用于主要适用于带宽紧张或使用4G网络进行传输的场景,开发工时较长,可以付费由桂花网完成APP的开发。
旁路开发:
AP较少的场景,使用AC成本太高,同时又希望数据能够传输到公网,可选择使用MQTT进行数据传输。但是目前只能进行广播数据的传输。
开发工时较少,适用于仅需求广播数据的场景。