【技术干货】如何通过 DP 实现支持经典蓝牙的联网单品设备与 App 配对

经典蓝牙模块(Classic Bluetooth)主要用于呼叫和音频传输,所以经典蓝牙最主要的特点就是功耗大,传输数据量大。蓝牙耳机、蓝牙音箱等场景大多采用经典蓝牙,因为蓝牙是为传输声音而设计的,是短距离音频传输的最佳选择,传输速度比低功耗蓝牙(Bluetooth Low Energy) 快的多。

涂鸦Wi-Fi模组(Wi-Fi & 蓝牙双模模组) + 经典蓝牙的硬件组合,产品既可实现直接连入涂鸦云(不依赖网关),又可实现在无外网的情况下 App 仍然可通过经典蓝牙给设备传输音频等大流量数据。接下来通过具体案例分析来讲述如何实现产品连入涂鸦云后 App 和 经典蓝牙配对的功能。

方案背景

  • **产品硬件:**Wi-Fi & 蓝牙双模模组 + 带经典蓝牙功能的MCU

  • 接入涂鸦方式:

    • 基于涂鸦提供的 MCU SDK 开发
    • App 也是基于涂鸦小程序开发
  • **想要实现的功能:**设备通过 Wi-Fi 连入涂鸦云后,用户点开设备面板后可绑定设备的经典蓝牙模块。之后 App 可通过经典蓝牙向设备发送数据。

推荐解决方案

  • 数据交互通路: 通过自定义 DP 来进行配对数据交互

  • 自定义 DP 建议说明

    ​ dp1: 类型:字符串型

    ​ 作用:上报 经典蓝牙的 Mac 地址,名称, 配对状态, 连接状态。

    ​ dp2: 类型:布尔型

    ​ 作用: 让经典蓝牙恢复出厂设置

    ​ dp3: 类型:布尔型/数值型

    ​ 作用:让设备开启经典蓝牙配对窗口

  • 交互流程:

App 接口说明

  • 在步骤6 经典配对流程中,安卓和 IOS 的流程有差异。

    • 安卓:可直接调用 App SDK 提供的发起配对接口

      CODE: [SELECT ALL]( "SELECT ALL")

      复制代码
      // deviceMac 从 dp1 中获取的经典蓝牙 mac
      // response 可告知是否配对成功 
      // 小程序对应接口 connectBTBond
      IThingBleOperator.createBond(String deviceMac, IResultCallback response);
    • IOS:弹窗提醒,用户点击弹窗后跳转到系统蓝牙去配对。
  • 在步骤 7 需要查询系统已配对列表
  • 在步骤10 中断开连接,可调用以下接口

    CODE: [SELECT ALL]( "SELECT ALL")

    复制代码
    // deviceMac 从 dp1 中获取的经典蓝牙 mac
    // 小程序对应接口 removeBond
    IThingBleOperator.removeBond(String deviceMac, IResultCallback response);
    ```[/list]
相关推荐
TDengine (老段)26 分钟前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
行之无边1 小时前
零基础入门物联网-远程门禁开关:云平台创建
物联网
Gauss松鼠会1 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
GZ8manage2 小时前
高亚科技签约奕源金属,助力打造高效智能化采购管理体系
云计算
LuDvei8 小时前
CH9121T电路及配置详解
服务器·嵌入式硬件·物联网·网络协议·tcp/ip·网络安全·信号处理
运维成长记9 小时前
阿里云错题集分享
阿里云·云计算
云资源服务商9 小时前
探秘阿里云消息队列:解锁分布式系统的异步通信奥秘
阿里云·中间件·云计算
动亦定9 小时前
AI与物联网(IoT)的融合
人工智能·物联网
bennybi9 小时前
阿里云-跨账号同步OSS Bucket
阿里云·云计算
互联网搬砖老肖9 小时前
运维打铁: 阿里云 ECS 实例的高效运维与管理
运维·阿里云·云计算