【技术干货】如何通过 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]
相关推荐
S,D6 小时前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
从零开始学习人工智能7 小时前
深入解析 OPC UA:工业自动化与物联网的关键技术
运维·物联网·自动化
m0_6948455714 小时前
服务器如何配置防火墙规则开放/关闭端口?
linux·服务器·安全·云计算
linweidong14 小时前
物联网MQTT协议与实践:从零到精通的硬核指南
物联网·mqtt·websocket·嵌入式·iot·tdengine·工业物联网
观测云15 小时前
观测云 × AWS SSO:权限治理可观测实践
云计算·aws
G皮T15 小时前
【云计算】企业项目 & 策略授权
云计算·iam·公有云·企业项目·策略授权·统一身份认证
门思科技15 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
MonkeyKing_sunyuhua16 小时前
微信小程序能不能获取物联网的上的设备数据
物联网·微信小程序·小程序
时序数据说18 小时前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb