micro:bit的服务和特性
完成项目二的基本步骤
- 开发板的服务和特性简介
- 如何分辨和查找micro:bit服务和特性的UUID
- 如何进行读写连接
开发板的服务和特性简介
在这之前我们得先了解一下一些专业词汇:
profile
- profile可以理解为一种规范,一个标准的通信协议,它存在于从机中。蓝牙组织规定了一些标准的profile,例如 HID OVER GATT ,防丢器 ,心率计等。每个profile中会包含多个service,每个service代表从机的一种能力。
service
- service可以理解为一个服务,在ble从机中,通过有多个服务,例如电量信息服务、系统信息服务等,每个service中又包含多个characteristic特征值。每个具体的characteristic特征值才是ble通信的主题。比如当前的电量是80%,所以会通过电量的characteristic特征值存在从机的profile里,这样主机就可以通过这个characteristic来读取80%这个数据
characteristic
- characteristic特征值,ble主从机的通信均是通过characteristic来实现,可以理解为一个标签,通过这个标签可以获取或者写入想要的内容。
UUID
- UUID,统一识别码,我们刚才提到的service和characteristic,都需要一个唯一的uuid来标识
整理一下,每个从机都会有一个叫做profile的东西存在,不管是上面的自定义的simpleprofile,还是标准的防丢器profile,他们都是由一些列service组成,然后每个service又包含了多个characteristic,主机和从机之间的通信,均是通过characteristic来实现。
如何分辨和查找micro:bit服务和特性的UUID
注意!!!
我们在准备读写服务和特性时一定要检查microbit板子提供的服务中是否包含我们需要的服务。为此我们可以先 启动chrome自带的蓝牙插件 chrome://bluetooth-internals 对照各服务的UUID。这里我提供一下如何添加蓝牙的其他服务。
首先,我们可以去官网进行如图下操作。这边给大家一个小偷懒,提取码c32x
最后
这里我们可以通过浏览官方文档来寻找我们需要的服务和特性的UUID
有需要的点击此处
如何进行读写他的特性
先copy我们需要的UUID再在我们上期的代码上面创建新的变量如下图。
之后我们就可以填入ervice UUID和characteristic UUID号,用来进行与开发板中服务UUID号进行核对
之后我们只需要再写一个函数来判断是否检测开发板的服务就可以了