WQ7033与手机APP进行通信 (一)

本文介绍了如何在WQ7033开发中利用SPP模块与手机APP进行通信。WQ7033的SPP通过注册连接回调和数据回调函数,配合ECONN模块处理与APP的交互。开发者需要注册自定义的SPP服务UUID,使用app_spp_register_service()等函数进行连接和数据发送与接收。文章还展示了安卓SPP工具连接和数据传输的示例。
摘要由CSDN通过智能技术生成

WQ7033使用SPP与APP进行通信

在进行WQ7033开发时候, 往往会有连接手机APP的需求, 连接手机APP, 往往会使用SPP, BLE等方式与手机APP进行连接.
本文重点介绍的是使用WQ7033 SDK中的SPP模块来与手机APP进行连接通信

WQ7033 SPP介绍

SPP是蓝牙串口协议Serial Port Profile, 在蓝牙设备之间建立虚拟的串口来进行数据通信. 可以用来和上位机进行数据的收发, 这里需要注意的是苹果手机不开放SPP协议.
一般SPP用来连接产线SPP蓝牙设备做发送一些测试命令做生产测试, 连接安卓手机用SPP与APP进行通信
WQ7033中的SPP是使用APP_SPP模块进行管理的
APP_SPP模块的主要功能有:

  1. 注册SPP连接断开的回调, 注册SPP接收到数据的回调
  2. 发送SPP数据到客户端
  3. 接收SPP客户端发送来的数据

WQ7033 SPP的使用

不同产品手机APP可能会使用不同的通信协议, 上层定义了一个ECONN模块(互联互通)来对不同APP通信进行匹配, ECONN模块作为设备端与手机APP交互入口, 负责响应APP发送的命令, 响应APP请求以及上报设备状态和行为等功能
以下代码都放在自定义的econn代码中实现, 如何新增自定义的econn代码可以参考文章: 自定义ECONN代码

  1. 注册自定义的SPP Service
    使用app_spp_register_service()函数注册SPP服务的UUID, 连接状态回调函数和接收对方SPP数据回调函数的注册
    spp的注册
    定义了一个自定义的128位SPP UUID, 并在econn_init的时候注册了SPP连接状态回调和数据回调函数
    spp的注册2

  2. 使用安卓SPP工具进行连接
    打开安卓SPP调试工具, 点击连接, 并输入注册的128位UUID, 如下图填入uuid
    填入UUID
    连接成功后会进入注册的回调, log显示如图, 代表SPP连接成功
    spp连接成功

  3. SPP数据的发送
    发送SPP数据到对端, 使用app_spp_send_data()或app_spp_send_data_ext()将数据发送到对方SPP. 比如这里 ANC模式发生改变的时候, 发送了一个自定义的10字节的数据
    发送10字节数据
    手机端SPP接收到一个10字节的数据
    手机接收

  4. SPP数据的接收
    当接收到对端发来的SPP数据, 会收到BT CORE传来的BT_EVT_SPP_DATA事件, 并进入到之前注册接收数据回调中, 如下图手机端发送了一个自定义的0xaa00bb11cc22 6个字节的数据
    手机发送
    耳机端进入到注册的数据接收回调, 并正确接收到了6个字节的数据把接收到的数据dump出来
    耳机接收

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的代码里面挖呀挖呀挖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值