ESP32-BLE学习1-建立简单的server

start

学习之前,我想尝试使用ESP32的demo建立一个简单的server与手机接进行最基本的数据通信。
这里有BLE的简单讲解BLE资料
因为BLE的连接是具有主从机特性的,就像SPI,USB一些请求只能由主机端发起,连接也需要主机端发起。所以手机要想连上ESP32,就得将ESP32设置为从机模式。
在这里插入图片描述
从资料上可以看到,从机端通过Notify通知主机,所以从机就是GATT Server
在进行ESP32 的demo学习之前,得大体看下ESP32的蓝牙组成,ESP32支持经典蓝牙和低功耗蓝牙4.2,具有两个协议栈bluedroidnimble后者只支持BLE,前者都支持。我们这里选择前者进行测试。
cd 进入bluedroid\ble\ble_spp_server目录下。

编译,下载运行

编译下载这里就不累赘了。
运行ESP32,打开log,我们手机端可以下载个nRF Connect app,软件打开后在第一栏有个SSCANER该栏就会显示所有从机。有个ESP_SPP_SERVER的从机就是ESP32,点击CONNECT就可以与从机建立连接了。
ESP32开机前的log:
在这里插入图片描述
点击CONNECT之后的log:
在这里插入图片描述
可以看出有个EVT 14上报了,代码中看下这个EVT:
gatts_profile_event_handler函数中,该函数处理各种EVT上报:
在这里插入图片描述
如图:EVT 14就是连接成功上报的消息,至此一个简单的BLE连接建立完成。

数据收发

上面说的APP还可以进行数据的收发,我们连接成功ESP32之后,APP上就会出现如下图所示的页面:
在这里插入图片描述
这是从机的三个服务,前两个不用看(一般UUID为两位的都是些标准的服务),最下面的一个UUID 128位的就是自定义的服务,点击一下,就会下拉出该服务的所有特征:
在这里插入图片描述
下面会标注每个特征的UUID,属性等等。
使用向上的箭头就是WRITE,向下的就是READ,三个向下的箭头就是NOTIFY。
可以使用WRITE向ESP32发送数据了。


当完整的看完一本技术类书籍时,会发现比在网上瞎摸索实在是事半功倍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值