编者按:在蓝牙亚洲大会一周后,国际蓝牙协会SIG经过评估,决议将机智云开源的这款BLE SDK作为官方推荐软件资源,推向全球的BLE设备开发商。鉴于SIG较少与外界沟通,这其实是它第一次推荐第三方的蓝牙技术。对于机智云而言,这是一个非常不错的鼓舞。国内团队能越来越多的参与国际标准的补充以及更进一步的制定,也是“中国技术”话语权不断增强的一个过程,机智云的BLE SDK是又一次的加速这个过程,未来相信我们还能看到更多。
在今年的亚洲蓝牙大会上,围绕蓝牙技术应用的智能硬件以及智能家居成了热门关键词。不仅设立了单独的智能家居专题论坛,还有多项面向领域内的实用技术公布。
机智云作为本次大会唯一的软件合作伙伴,在会上宣布了基于自身项目实践的开源BLE SDK,会后机智云CEO Jack接受了宅客君关于BLE SDK的采访。
机智云CEO Jack介绍,这款SDK是机智云在蓝牙应用上一年多的研究成果,经过了上百个项目验证,在稳定性、兼容性上均达到业内最高水准,所以决定开源出来。
雷锋网此前曾报道过蓝牙BLE标准支持鱼龙混杂的乱象,市面上目前智能硬件有很大比例都采用蓝牙BLE作为连接技术,但在另一端的智能手机对此支持存在不足。
这表现在:
1、2012年后,硬件支持BLE的移动终端才开始普及;
2、2013年Google在Android 4.3上推出原生BLE协议栈支持之前,业内已经有多个私有BLE协议栈,并且应用在三星、HTC、小米等业内Android出货大户上,各协议栈实现不相兼容。
机智云的BLE SDK用处即在于此,它在目前最主流的三家(Google、博通、三星)BLE协议栈SDK上进行提炼,在SDK层面上实现兼容。使用这款SDK,可以直接兼容不同BLE实践的设备,不需去考虑兼容问题。
兼容其实是件很繁复的工作。在以往和智能硬件公司的讨论中,他们通常优先出iOS App,原因并非他们只想做高端或者保持格调,而是Android端实在太难做。在BLE这件事上,支持Google 原生SDK可能只能覆盖有限的移动设备,像三星Galaxy S3(三星BLE协议栈)、小米2S(博通BLE协议栈)这种出货量巨大的机器并不能支持,还需要针对它们在单独做适配。
机智云的BLE SDK也是这样一款一款适配做出来的。他们的蓝牙核心工程师告诉雷锋网,在2012-2013年,机智云还保留一些智能硬件App外包工作,客户要求他们去适配市面上的主流Android终端,在做了一段时间后他们发现,每款App都做一次全适配其实是件挺低效的事情,决定开始做全兼容的SDK。13年SDK差不多完成,并开始在业务上实践。
在兼容之外,机智云BLE SDK还做了额外的东西。包括开发流程的简化和增强BLE通信的稳定,SDK通过接收“Service”广播实现BLE通信响应,并通过消息队列来防止通信拥塞。这里科普一个小信息点:Android原生BLE通信没有优先级的设定,在多个BLE设备同时发送请求时容易引起拥塞和风暴,队列结构在这种情况下可以缓解拥塞。
在谈到本次开源时,机智云CEO Jack很坦然,“其实这只是一次技术上的开放。我们在这方面吃过苦,现在能在一定程度上解决这个问题,我们也很愿意开放出来。智能硬件能往前推动一步,对身在其中的我们亦有裨益,开放是大趋势。”换个角度,“由于历史原因,国际组织对中国的重视程度一直很低,我们选择在官方的蓝牙大会上对外开源,也是希望能在这方面能有一个带动作用,中国和全球能有一个互动。”
开源BLE SDK只是在存量设备上作支持,BLE未来是否能有更大发展还需要Google以及产业来推动。Android 4.3+占有率更高、BLE芯片价格更低廉,BLE也就更普及、更有想象力。下一代蓝牙技术Bluetooth Mesh、IPv6 over Bluetooth开始在物联网上提供完整支持,而这些都无需升级硬件,只需在蓝牙 4.0的硬件上做固件升级即可,这可能将组成未来物联网最基石的大连接平台。
项目托管地址: https://github.com/xpg/GizwitsBLE