蓝牙连接开发指南

更新时间:2019-06-03 11:56:37

概述

对于蓝牙设备,阿里巴巴物联网平台提供了一套完整的解决方案:蓝牙设备接入框架。
蓝牙设备接入框架提供如下方面的能力:

  • 蓝牙设备的发现以及连接,同时支持将蓝牙设备数据上下云

  • 蓝牙设备跟用户账号的绑定

  • 蓝牙设备的控制以及信息获取

蓝牙设备接入框架支撑两种形式的蓝牙接入:

  1. 阿里云IoT定义一套蓝牙通用规范,简化了厂商进行复杂蓝牙设备的开发(如:智能手表,蓝牙门锁等)

该规范对蓝牙广播,服务,通信协议等进行了标准化,简称为蓝牙 Breeze 方案。蓝牙 Breeze 方案提供了手机端和设备端的 SDK,主要包含设备管理,设备发现,加密通信,大数据传输等功能。并对蓝牙芯片和主流手机进行了严格的认证,保证了兼容性和稳定性。
蓝牙设备接入框架完美地适配了蓝牙 Breeze 方案,在蓝牙 Breeze 方案的基础连接通道之上进行了适当地抽象,封装了蓝牙开发中所必要的功能,简化了开发者的开发工作。
基于Breeze规范的手机APP跟设备之间的通信插件我们已经开发好了,用户只需要集成阿里云IoT提供的蓝牙相关SDK即可。

  1. 开发者也可以不采用蓝牙 Breeze 方案,使用自己的私有蓝牙协议通信

如下图所示:开发者可以开发三方蓝牙通信插件来跟第三方的蓝牙设备进行通信,而无需要在蓝牙设备里集成阿里云IoT提供的设备端 Breeze SDK。
第三方蓝牙通信插件:对于蓝牙设备而言,跟手机APP通信时,各个厂家往往会设计自己的设备发现/设备连接/数据通信等应用层规范。对于这种第三方的通信规范,如果要接入蓝牙设备接入框架,就必须适配第三方蓝牙通信插件。第三方蓝牙通信插件是蓝牙设备接入框架跟手机APP通信的桥梁,负责手机跟蓝牙设备通信的具体细节。此插件需要在移动端按框架约定的API进行开发设计。第三方蓝牙通信插件如何开发

框架系统模块图如下所示:

框架中主要模块介绍
设备面板:即设备控制的相关UI
设备发现:蓝牙设备扫描,在这个过程中需要扫描本地的蓝牙设备,并拿到设备的productKey&deviceName
设备控制:用户操作设备流程
插件抽象接口:约定了开发者在移动端开发三方蓝牙通信插件时必须实现的API,请参见 第三方蓝牙通信插件如何开发 中的相关示例代码。
数据转换引擎:当设备端的产品功能定义没有按阿里云IoT建议的物模型进行设计时,开发者需要在飞燕控制台创建产品时上传数据格式转换脚本,APP端的数据格式转换引擎会在Runtime将脚本下载下来,在数据从手机APP将发往设备会做一次数据转换,转换成设备端能识别的格式,同理设备上报给APP的数据也会反向转换,转换成物模型定义的格式。物模型定义
PS:对于第三方蓝牙设备,其产品功能定义肯定未遵循阿里云IoT物模型规范,则这一步不能跳过。
设备格式转换脚本上传请在飞燕控制台操作:

蓝牙产品创建步骤

蓝牙产品在飞燕平台的创建流程如下:

  1. 填写产品信息之后,是否接入网关选择“是”

  2. 接入协议选择“BLE”

  3. 如果设备端的产品功能定义没有按阿里云IoT建议的物模型进行设计时,请将数据格式切成 ‘透传/自定义’格式。对于三方蓝牙设备,必须选‘透传/自定义’数据格式。


开发介绍

移动端

开发者在生活物联网平台中,可以通过两种方式实现蓝牙设备的移动端:

  1. 使用公版APP

  2. 开发自有品牌APP

1. 公版APP

首页右上角进入蓝牙配网:

2. 开发自有品牌APP

蓝牙SDK下载
勾选“蓝牙设备接入框架” 套餐项,平台会自动生成SDK套餐包,最后下载集成开发即可。

设备端

如果选择了阿里云IoT提供的Breeze蓝牙方案,蓝牙连接开发需要移动端 SDK 和设备端 SDK 配合使用。设备端开发需要根据蓝牙芯片选择不同的 SDK 使用。

OTA配置:
1.进入运营中心

  1. 在固件升级页面通过“新增固件” 添加一个OTA任务


  1. 验证固件,固件能过批量升级前必现先验证,在验证页面,可以选择待升级版本(必现由蓝牙设备通过手机上报上来),deviceName,验证完成后,即可进行常规批量OTA升级工作。

results matching ""

    No results matching ""