乐于分享
好东西不私藏

手把手教你:手机APP端如何发写请求和写命令

手把手教你:手机APP端如何发写请求和写命令
一、前言  
本篇开始讲解手机APP如何发送写命令和写请求
二、阅读说明
1、泰凌微芯片学习者,前期使用过该芯片。
2、能够知道怎么进行创建工程,下载代码。
3、有一块开发板,板上的芯片可以是8251,8253或者8258。
三、正文
1、使用的SDK
手把手教你:BLE从机如何接收手机APP发过来的数据
使用的SDK为该篇文章描述的,这个SDK中的ble_sample例程使用了私有服务,本篇文章会用到
2、手机发送写命令
如上图所示,选择Advanced里面的Command,然后填写需要发送的值,点击SEND就可以发送出去
3、手机发送写请求
如上图所示,选择Advanced里面的Request,然后填写需要发送的值,点击SEND就可以发送出去
4、主机的写命令分析
4.1、抓包数据展示
  • 上图中展示的是一条主机的写命令,可以看到没有收到从机的回复
  • 主机发出的写命令,操作码为0x52,句柄为0x0030,写入的值为0x11
4.2、蓝牙协议分析
从这幅图片中可以看到4.1小节里面的抓包数据描述一致
5、主机的写请求和从机的回复数据分析
5.1、写请求和回复的抓包数据展示
由上图可以看到,一条是主机发给从机的写请求数据,一条是从机回复给主机的数据
5.2、写请求数据分析
  • 操作码:0x12
  • 句柄:0x0030
  • 写入的值:0x11
5.3、蓝牙协议分析(写请求)
可以看到5.2小节里面的抓包数据和蓝牙协议里面的描述一致
5.4、从机回复数据展示
从机回复的数据值带了一个操作码(0x13),和一个句柄的值(0x0030)
5.5、蓝牙协议分析(从机回复)
可以看到协议里面只是带了一个操作码,那为什么5.4小节中还带了一个句柄信息呢,这是因为Wireshark会自动的将相关的数据放入下面,方面读者好分析
四、结尾
本篇讲解了手机APP如何发送命令和请求命令,并结合蓝牙协议分析了命令和请求的结构组成,到目前为止,关于如何传输数据的部分已经讲解完毕,下一篇开始讲解ble从机如何传输超过21个字节的数据