【技术干货】如何通过 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]
    
相关推荐
九河云1 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
神一样的老师1 小时前
利用亚马逊AWS IoT核心和MQTT进行数据采集的综合指南
云计算·aws
昔我往昔7 小时前
阿里云文本内容安全处理
安全·阿里云·云计算
写代码的学渣10 小时前
Linux云计算个人学习总结(一)
linux·运维·云计算
火山引擎边缘云10 小时前
创新实践:基于边缘智能+扣子的智慧婴儿监控解决方案
物联网·aigc·边缘计算
林农11 小时前
C02S11-Linux系统的安全与控制
linux·云计算
田三番15 小时前
使用 vscode 简单配置 ESP32 连接 Wi-Fi 每日定时发送 HTTP 和 HTTPS 请求
单片机·物联网·http·https·嵌入式·esp32·sntp
danns88815 小时前
什么是 AWS PrivateLink
云计算·aws
shiran小坚果18 小时前
AWS RDS MySQL内存使用
数据库·mysql·云计算·database·aws