对于蓝牙设备,阿里物联网平台提供了一套完整的解决方案,即蓝牙设备接入框架。

概述

蓝牙设备接入框架的流程图如下所示。


蓝牙设备接入框架

蓝牙设备接入框架可支撑以下两种形式的蓝牙接入。

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

    该规范对蓝牙广播,服务,通信协议等进行了标准化,简称为蓝牙Breeze方案。蓝牙Breeze方案提供了手机端和设备端的SDK,主要包含设备管理,设备发现,加密通信,大数据传输等功能。并对蓝牙芯片和主流手机进行了严格的认证,保证了兼容性和稳定性。

    此接入方案需要按蓝牙设备端开发指南开发您的设备端。

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

    开发者可以开发三方蓝牙通信插件来跟第三方的蓝牙设备进行通信,而无需要在蓝牙设备里集成阿里云IoT提供的设备端Breeze SDK,如下图所示。

    第三方蓝牙通信插件的开发,参见第三方蓝牙通信插件适配指南


    蓝牙通信图

    框架中主要模块介绍如下。

    • 设备面板:即设备控制的相关UI。
    • 设备发现:蓝牙设备扫描,在这个过程中需要扫描本地的蓝牙设备,并获取设备的ProductKeyDeviceName
    • 设备控制:用户操作设备的相关流程。
    • 插件抽象接口:约定了开发者在移动端开发三方蓝牙通信插件时必须实现的API,请参见第三方蓝牙通信插件适配指南中的相关示例代码。
    • 数据转换引擎:当设备端的产品功能定义没有按阿里云IoT建议的物模型进行设计时,开发者需要在生活物联网控制台创建产品时上传数据格式进行脚本转换,App端的数据格式转换引擎会在Runtime将脚本下载下来,在数据从手机App将发往设备会做一次数据转换,转换成设备端能识别的格式,同理设备上报给App的数据也会反向转换,转换成物模型定义的格式。

      对于第三方蓝牙设备,其产品功能定通常未遵循阿里云IoT物模型规范,需要将设备格式转换脚本后上传。

      可以在生活物联网平台控制台的产品-设备调试中,单击编辑脚本,在产品脚本编辑中可实现脚本转换。


      脚本转换

创建蓝牙产品

  1. 进入生活物联网控制台,选择某个项目。
  2. 创建蓝牙产品。
    • 是否接入网关选择
    • 接入协议选择BLE

    创建蓝牙产品

移动端开发介绍

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

设备端开发介绍

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

  1. 进入运营中心。
  2. 在固件升级页面,单击新增固件,添加一个OTA任务。

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

    批量升级