原创 【富芮坤物联网开发板评测】 小白也能玩转开发板(2)

2020-6-25 06:59 3835 53 5 分类: 智能硬件 文集: 富芮坤开发板

计划的每周末更新,由于个人的原因上周落下了。

今天来分享一下蓝牙相关的开发,从入门的开始,先来讲一下手机端和开发板的蓝牙通讯。

大体流程是:手机发送命令到开发板,开发板接到命令之后做出响应,给发送端通知或者传递一下数据信息,内容涉及到一个交互的过程,我计划先录制个视频来演示整个过程。

演示视频放在哔哩哔哩上了,大家可以点击 演示视频 看一下效果,是自己想要的效果就继续往下看。

 接下来是代码展示

主要修改的是 simple_gatt_service.c 文件的 sp_gatt_write_cb 函数
复制代码

 

以上是代码展示

在接收到的数据是1字节的时候执行这部分代码。

把接收到的数以"Hello %s!"格式进行处理,通知到蓝牙客户端同时显示在屏幕上。

代码很简单,可能大部分玩家也都写了同样的代码,但是手机端总是收不到开发板通知的信息,要解释这个问题就需要了解一下蓝牙。文中如果讲的不对,还请指点纠正。

 

接下来白话一下蓝牙。

提到蓝牙,ServiceCharacteristic 是必须要简单了解一下的

ServiceCharacteristic

Service是服务,Characteristic是特征值。蓝牙里面有多个Service,一个Service里面又包括多个Characteristic,具体的关系可以看图

 

                                         servicecharacteristic的关系

 

图中画的比较少,实际上一个蓝牙协议里面包含的ServiceCharacteristic是比较多的 ,这时候你可能会问,这么多的同名属性用什么来区分呢?答案就是UUID,每个Service或者Characteristic都有一个 128 bit UUID来标识。Service可以理解为一个功能集合,而Characteristic比较重要,蓝牙设备正是通过Characteristic来进行设备间的交互的(如读、写、订阅等操作)。

 

这段描述摘自简书一位大佬在《蓝牙BLE(BlueTooth BLE)入门及爬坑指南》一文中对蓝牙的描述。

 

看完之后,会不会明了一下。蓝牙通讯是通过一个一个“Characteristic”(特征码)来实现一个一个“Service”功能集合,所以这个“Characteristic”(特征码)必须选择正确了,才能正常的发送数据,接收数据。

 

下面截图时我的演示实例中的“Characteristic”(特征码)选择。

 

看到这儿大伙明白了一些了,之前开发板收不到数据,或者手机蓝牙收不到通知其实都是这个UUID配置的不正确导致的,那又有个问题来了,为什么要这样配置呢?

接下来接续看代码

1、透传服务的UUID来自于下面的代码片段

2、透传TX特征的UUID,其实就是开发板通知手机端用的Characteristic,要看三部分

 

这里用的是 SP_IDX_CHAR4_VALUE
复制代码

 

 

UUID 来自 SP_CHAR4_UUID
复制代码

 

这样就确定了这个UUID

3、透传RX特征的UUID,手机给模块发送数据用的Characteristic


 

只要这个 Characteristic Value 有 GATT_PROP_WRITE 权限 就可以写数据到开发板
复制代码

 

经过查代码得知图中标记三个的Characteristic的UUID都有Wirte权限,所以选择这三个UUID都是可以的,经过验证确实是这样的。
复制代码

 

今天的开发板的蓝牙通讯已经结束了。大家需要演示固件或者演示源码联系我,后面有需要我会把源码开放在github或者码云,供大家体验。

之前漏掉了 sp_gatt_msg_handler 的调整,下面补上【2020-06-29】

sp_gatt_msg_handler 方法的调整
复制代码

修改前的
  • sp_gatt_write_cb((uint8_t*)(p_msg->param.msg.p_msg_data), (p_msg->param.msg.msg_len), p_msg->att_idx);
  • 复制代码

    图片是修改后的,增加了 

    p_msg->conn_idx
    复制代码


    作者: 物联网爱好者, 来源:面包板社区

    链接: https://mbb.eet-china.com/blog/uid-me-3914038.html

    版权声明:本文为博主原创,未经本人允许,禁止转载!

    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    我要评论
    0
    53
    关闭 站长推荐上一条 /3 下一条