【技术干货】如何通过 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]
    
相关推荐
网易独家音乐人Mike Zhou7 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
2401_8827275711 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
何遇mirror14 小时前
云原生基础-云计算概览
后端·云原生·云计算
畅联云平台14 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网
嚯——哈哈15 小时前
轻量云服务器:入门级云计算的最佳选择
运维·服务器·云计算
请你喝好果汁64116 小时前
Kingfisher 下载ENA、NCBI SRA、AWS 和 Google Cloud)序列数据和元数据
云计算·aws
九陌斋16 小时前
如何使用AWS Lambda构建一个云端工具(超详细)
云计算·aws
嚯——哈哈16 小时前
AWS云服务器:开启高效计算的新纪元
服务器·云计算·aws
徒步僧16 小时前
ThingsBoard规则链节点:AWS SNS 节点详解
云计算·aws
九河云16 小时前
如何对AWS进行节省
大数据·云计算·aws