对于蓝牙设备,阿里物联网平台提供了一套完整的解决方案,即蓝牙设备接入框架。
概述
蓝牙设备接入框架的流程图如下所示。
蓝牙设备接入框架可支撑以下两种形式的蓝牙接入。
- 阿里云IoT定义一套蓝牙通用规范,简化了厂商进行复杂蓝牙设备的开发(如:智能手表,蓝牙门锁等)
该规范对蓝牙广播,服务,通信协议等进行了标准化,简称为蓝牙Breeze方案。蓝牙Breeze方案提供了手机端和设备端的SDK,主要包含设备管理,设备发现,加密通信,大数据传输等功能。并对蓝牙芯片和主流手机进行了严格的认证,保证了兼容性和稳定性。
此接入方案需要按蓝牙设备端开发开发您的设备端。
- 开发者也可以不采用蓝牙Breeze方案,使用自己的私有蓝牙协议通信
开发者可以开发三方蓝牙通信插件来跟第三方的蓝牙设备进行通信,而无需要在蓝牙设备里集成阿里云IoT提供的设备端Breeze SDK,如下图所示。
第三方蓝牙通信插件的开发,参见第三方蓝牙通信插件适配指南。
框架中主要模块介绍如下。
- 设备面板:即设备控制的相关UI。
- 设备发现:蓝牙设备扫描,在这个过程中需要扫描本地的蓝牙设备,并获取设备的ProductKey和DeviceName。
- 设备控制:用户操作设备的相关流程。
- 插件抽象接口:约定了开发者在移动端开发三方蓝牙通信插件时必须实现的API,请参见第三方蓝牙通信插件适配指南中的相关示例代码。
- 数据转换引擎:当设备端的产品功能定义没有按阿里云IoT建议的物模型进行设计时,开发者需要在生活物联网控制台创建产品时上传数据格式进行脚本转换,App端的数据格式转换引擎会在Runtime将脚本下载下来,在数据从手机App将发往设备会做一次数据转换,转换成设备端能识别的格式,同理设备上报给App的数据也会反向转换,转换成物模型定义的格式。
对于第三方蓝牙设备,其产品功能定通常未遵循阿里云IoT物模型规范,需要将设备格式转换脚本后上传。
可以在生活物联网平台控制台的产品-设备调试中,单击编辑脚本,在产品脚本编辑中可实现脚本转换。
创建蓝牙产品
移动端开发介绍
开发者在生活物联网平台中,可以通过以下两种方式实现蓝牙设备的移动端开发。
- 使用公版App
添加设备右上角的,进入蓝牙配网界面。
- 开发自有品牌App
蓝牙SDK下载勾选蓝牙设备接入框架套餐项,平台会自动生成SDK套餐包,下载集成开发即可。
- 套餐包介绍:App SDK介绍
- 移动端SDK介绍:Android开发文档,iOS开发文档
- 蓝牙OTA SDK下载:Android开发文档,iOS开发文档
设备端开发介绍
如果选择了阿里云IoT提供的Breeze蓝牙方案,蓝牙连接开发需要移动端SDK和设备端SDK配合使用。设备端开发需要根据蓝牙芯片选择不同的SDK使用。