随着低功耗蓝牙技术(Bluetooth Low Energy, BLE)的兴起,越来越多的智能硬件产品使用该技术作为近距离无线通信的首选方案。
实际开发过程中,一些不确定的因素会使得开发周期和成本变得难以估计和没有保障。我们发现开发人员往往花费太多的时间来学习低功耗蓝牙技术本身,譬如,阅读一颗新的蓝牙芯片的芯片手册,或是熟悉Android或iOS的蓝牙API文档。对于如何延长蓝牙产品的续航能力、建立高可靠性的蓝牙连接、移动终端的蓝牙兼容性等关键技术上,也是每一个开发者经常会面临的问题。
为此,JUMA SDK规划的初衷就是解决这些问题,力图打造最简单易用的BLE应用开发框架,将开发者从蓝牙中解放出来。JUMA为开发者做好蓝牙,开发者做好产品本身。
JUMA SDK分为了嵌入式SDK和移动端SDK:
嵌入式SDK目前,嵌入式SDK支持Nordic的nRF51822低功耗蓝牙芯片和STM的BlueNRG芯片。
嵌入式SDK将大量智能硬件所需的常用功能进行“模块化”封装,涵盖了例如串口、ADC、蜂鸣器、LED、OLED、G-Sensor等外设,也支持一系列场景的定制化应用,如iBeacon、计步器、血压计等。开发者可以方便地完成概念验证或是产品原型,灵活地定制应用需求,用最低成本、最短时间将产品推到市场。
除了外设驱动和应用配置方面的支持,我们的嵌入式SDK增强了芯片官方Library的一些功能,如:在nRF51822上实现精确的时间调度、注册事件的callback、甚至提供了发送消息给云端的支持。这些通过我们的SDK只需短短几行代码即可实现,进一步降低了蓝牙开发的门槛和成本。
嵌入式SDK的内部实现架构为:
移动端SDK移动端SDK具有Android和iOS的API接口,和上述嵌入式SDK配合使用,它封装了BLE相关操作,并有针对性的做了优化。相对于Android或iOS的原生BLE接口,它能确保更为稳定有效的蓝牙互联互通性操作,并且使用起来更为简单,开发者不再需要考虑BLE特有的如service、characteristic、notification等概念。除了BLE层面的封装,该SDK还提供如读取一个ADC、刷新一个OLED屏幕等更高层操作的API支持。
此外,移动端SDK还具有Javascript的API接口,可供HTML5移动应用直接调用,这是一种跨框架的BLE编码方式。以后,我们也会陆续支持APICloud、Cordova、CrossAPP等plug-in,以提供更为丰富的跨框架开发支持。
移动端SDK的内部实现架构为:
JUMA云JUMA云是一个专门为智能硬件打造的云服务,主要负责设备的数据储存、安全认证、OTA升级、事件统计等功能,成为智能硬件应用的一个后台服务和管理框架。
JUMA云简化了服务器端开发工作,让开发者不必搭建服务器,只需要少量、甚至不用服务器编码,就可以实现智能硬件所需的各种云服务的接口。
JUMA云的数据服务支持RESTful API以供第三方云服务实现云混搭、云互通。通过云框架的集中管理和运营各种应用数据,管理者完全可以把握全局趋势动态,在各类移动应用中为APP提供灵活的数据服务支持。
↓↓↓查看完整介绍↓↓↓