CC2640R2&BLE5.0开发
关于我们
入门开始
- 入门
- CC2640R2F 开发平台
-
视频教程
外设驱动
开发BLE应用
- 协议栈
- 无线固件下载(OAD)
- 应用举例
工具集
其他
- 仿真调试
- 移植向导
- Android BLE开发
CC2640R2&BLE5.0开发
关于我们
入门开始
视频教程
外设驱动
开发BLE应用
工具集
其他
这是本文档旧的修订版!
本章使用 CC2640R2F Evaluation Board 作为实验平台下载运行 simple_peripheral
工程。旨在为开发者建立一个 BLE 的感性认识。 simple_peripheral 的 IAR 工程可以在目录 C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral\tirtos\iar 下找到。
有关工程配置和编译选项以及下载方法参考 CC2640R2 BLE 开发环境搭建部分和使用 IAR 进行开发。
simple_peripheral 工程实现了具有 GATT 服务的蓝牙低功耗外设,该工程会作为后面协议栈讲解的基础程序。
使用 USB 连接CC2640R2F Evaluation Board。确保跳线帽正确连接,如下图所示
成功连接开发板之后,打开电脑的设备管理器。可以看到 XDS110 的两个端口,接下来打印使用串口 XDS110 Class Application/User UART(COM25)
注意:XDS110 驱动程序在安装 IAR 时会默认安装,如果你没有安装 IAR ,可以手动更新驱动程序软件,XDS 驱动可以在 CC2640R2 开发工具集介绍里获得。
协议栈和 IAR 安装以及工程编译参考 CC2640R2 BLE 开发环境搭建 编译参考 编译第一个工程( simple_peripheral ),还需要使用 PuTTY ,一款基于 windows 的控制台打印工具。手机端需要安装 BLE Scanner APP 。所有工具可以在 CC2640R2 开发工具集介绍里获得。
提供两种方式进行程序下载,如果用户已经安装了 IAR 并且搭建好了开发环境后可以直接使用 IAR 进行下载;如果用户目前还没有安装 IAR ,可以使用flash_programmer 进行固件下载。
下面说明如何使用 flash_Programer 2 进行程序下载:
该工程包含一个服务( Service ), 5 个特征值( characteristic )。
注意下面的 UUID 值,使用 BLE Scanner 可以获得 128 位的 UUID ,该shishi生成的是 16 位的 UUID 。
characteristic | UUID | 格式 | 属性 | 资料来源 |
---|---|---|---|---|
1 | FFF1 | 1 byte | 读/写 | peripheral.c / simple_gatt_profile.c |
2 | FFF2 | 1 byte | 读 | peripheral.c / simple_gatt_profile.c |
3 | FFF3 | 1 byte | 写 | peripheral.c / simple_gatt_profile.c |
4 | FFF4 | 1 byte | 通知 | peripheral.c / simple_gatt_profile.c |
5 | FFF5 | 5 byte | 读 | peripheral.c / simple_gatt_profile.c |
使用putty的串口功能作为该项目的串口显示器。使用以下参数配置putty串口。
UART参数 | 默认值 |
---|---|
波特率 | 115200 |
数据长度 | 8 bit |
Parity | None |
Stop bits | 1 bit |
Flow Control | None |
当 Simple Peripheral程序启动,可以在putty上看见项目名称,广播状态,设备地址,如下图所示。
广播是在程序启动后默认启动的,打开手机的BLE Scanner扫描设备,可以看见一个名为SimpleBLEPeripheral的设备。
如果有多个名称为SimpleBLEPeripheral的设备,可以通过左侧的RSSI数值来判断需要连接的设备,该值表示蓝牙的信号强度。一旦连接上设备,终端窗口将显示智能手机的设备地址。
连接成功之后,可以通过按键设置PHY的首选项,关于PHY更多描述,参考LE 2M PHY
在BLE Scanner中,你可以看到有关SimpleBLEPeripheral更多信息。
点开CUSTOM SERVICE,这是用户自定义服务,其中包含5个characteristic,并显示了每个characteristic的信息。
characteristic 1具有读写属性,包含一个字节长度的值。如下图所示。
按下R按钮后,可以读取characteristic的值,显示在HEX后面,默认是0x01。按下写入按钮后,出现写入弹窗,可以写入1字节任意数字,再次点击读取可以获取刚才写入的值。并且可以在putty中断看见写入的ASCII值。这里我们写入的是2,对应ASCII码为50.
每个用户特征值下面都有一个R按键,可以读取特征名称。如下图所示。
此特征值仅具有读属性。默认值为0x02.可按照characteristic 1方式进行读。
此特征值仅具有写属性,默认值为0x03.可按照characteristic 1方式进行写。
此特征值仅具有通知属性,通过点击N按键打开通知属性,打开后它会将characteristic 3的值以通知的方式发送出来。手机端接收到之后显示在界面。如下图所示。
并且还可按下特征值配置旁边的读取按钮显示是否已经启动了通知。
characteristic 5仅具有读属性,它是5个字节,默认值为0x0102030405.它与其他特征值不同的是它需要认证。通过智能手机与外设配对来完成。默认的密码是0000,当配对成功,才能读取到正确内容。
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。