【RW007系列综合实战3】柿饼派上怎样更新RW007固件和驱动?

本文详细介绍了如何在柿饼派上更新RW007的固件和驱动,以及测试其BLE功能。首先,通过UDP_OTA工具升级固件,然后替换SDK更新驱动,接着初始化并测试BLE功能,如设备连接、断开、读写数据等。最后,实现了读取米家蓝牙温湿度计数据并显示在界面上的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面已经分享过部分关于 RW007 模块如何更新的带 BLE 功能的方法,这里也再次分享一下在柿饼派上怎样更新 RW007 固件和更新 RW007 的驱动,并且测试 RW007 的 BLE 功能。

步骤一:柿饼派更新 RW007 的固件

在柿饼派上更新 RW007 的固件,可以参考官方提供的 RW007 通过 UDP_OTA 工具升级 RW007 固件的文档,进行操作。

1. RW007 模块需要和 PC 电脑连在同一个局域网

2. 打开升级工具配置升级

(1)双击运行 udp_ota.exe软件

3. 升级完成

等待进度条完成,然后重启板子。

步骤二:柿饼派修改 SDK 更新 RW007 的驱动

由于需要使用新版本的 RW007 模块的 BLE 功能,所以需要对应更新主机端柿饼派的 RW007 驱动,主要是替换SDKproject\firmware\packages目录下的rw007-latest目录先删除,然后拷贝提供的rw007-v2.0.1文件夹,即可完成替换更新RW007 的驱动。

替换驱动文件后,通过 env 编译柿饼派的固件,然后通过persimmon mod工具更新柿饼派的固件,即可。

步骤三:柿饼派测试 RW007 的 BLE 功能

当按照前面的步骤进行操作后,可以通过调试串口的 msh命令行进行调试。因为在RW007驱动包里面默认开启了相关的功能测试示例,可以在MSH命令行中通过rw007_ble查询。下面的内容来自于官方提供的 RW007 BLE 功能使用说明操作。

 1msh />rw007_ble
 2[rw007_ble command]
 3
 4rw007_ble help
 5rw007_ble init central/peripheral              Note: init ble mode
 6rw007_ble get_addr                             Note: get ble address
 7rw007_ble update_params                        Note: update connect parameters(no support)
 8rw007_ble scan                                 Note: scan ble slave
 9rw007_ble stop_scan                            Note: stop scan
10rw007_ble connect xx:xx:xx:xx:xx:xx            Note: use slave addr to connect
11rw007_ble disconnect [conn_handle]             Note: disconnect slave
12rw007_ble get_server                           Note: discover all server(no support)
13rw007_ble get_char                             Note: discover all description(no support)
14rw007_ble get_disc                             Note: discover all characteristic(no support)
15rw007_ble mtu_exch                             Note: ble mtu exchange(no support)
16rw007_ble notify                               Note: enable ble notify(no support)
17rw007_ble write                                Note: ble write data(no support)
18rw007_ble read                                 Note: ble read data(no support)
19rw007_ble notify_change [conn_handle] [char_value] [UUID]   Note: ble notify configure by uuid
20rw007_ble write_uuid [conn_handle] [UUID] [data] Note: ble write data by uuid
21rw007_ble read_uuid                              Note: ble read data by uuid(no support)
BLE 功能初始化

BLE功能初始化函数,使用 BLE功能必须调用。

1.RW007BLE 设备初始化为主机设备。

1rw007_ble init central

测试示例

1msh />rw007_ble init central
2122 - ble_cmd_init
3start ble central
4msh />

2. RW007BLE 设备初始化为从机设备
注意:目前不支持使用从机模式。

1rw007_ble init peripheral
BLE 功能获取本机的BLE设备地址

由于BLE设备的地址分为public公共地址和random随机地址。

1rw007_ble get_addr

测试示例

1msh />rw007_ble get_addr
2273 - ble_cmd_get_addr
3msh />resp_type: 0, len: 12
4RW007_BLE_RSP_TYPE_ADDR_GET
5public_id_addr = 48:00:42:8c:47:c9
6random_id_addr = 00:04:5c:43:00:00
BLE 功能扫描设备

目前RW007BLE 功能支持通过 scan命令,扫描周围的BLE设备。

1.执行扫描周围BLE设备

1rw007_ble scan

测试示例:

1msh />rw007_ble scan
2176 - ble_cmd_scan
3msh />resp_type: 1, len: 65
4RW007_BLE_NTF_TYPE_DISCOVER
5received advertisement; event_type=0 rssi=-60 addr_type=0 addr=4c:ed:fb:00:04:b1
6resp_type: 1, len: 56

这里的 addr地址内容可以为后面连接设备使用,由于目前没有直接显示对应 BLE 设备的名称,需要先人工确定 BLE 设备的地址。

2.停止扫描周围BLE设备
该指令用于 RW007模块正在执行scan扫描操作过程中,马上停止扫描的动作,可以执行此命令。

1rw007_ble stop_scan
BLE 功能设备连接

目前 RW007 BLE 功能设备支持通过 BLE设备的类mac地址来连接设备,该命令仅支持主机模式去连接从机设备的类mac地址,连接成功后会有对应的conn_handle值,这个conn_handle值在其他功能沿用。

1rw007_ble connect xx:xx:xx:xx:xx:xx

测试示例

 1msh />rw007_ble connect 4c:ed:fb:00:04:b1
 2198 - ble_cmd_connect
 3str_addr: 4c:ed:fb:00:04:b1
 4mac addr: b1: 4: 0:fb:ed:4c
 5msh />resp_type: 1, len: 52
 6RW007_BLE_NTF_TYPE_CONNECT
 7type: 0, status: 0, conn_handle: 1
 8
 9resp_type: 1, len: 44
10RW007_BLE_NTF_TYPE_CONNECT_DESC
11our_id_addr: c9:47:8c:42:00:48
12peer_id_addr: b1:04:00:fb:ed:4c
BLE 功能设备断开连接

目前RW007BLE 功能设备支持主动断开从设备的连接。

1rw007_ble disconnect [conn_handle]

其中 conn_handleconnect连接时的需要一致。

1msh />rw007_ble disconnect 1
2341 - ble_cmd_disconnect
3msh />resp_type: 1, len: 52
4RW007_BLE_NTF_TYPE_DISCONN
BLE 功能写数据

目前RW007BLE 功能写数据,支持通过指定UUID来写对应的数据。

1rw007_ble write_uuid [conn_handle] [UUID] [data]

指令说明:[conn_handle]RW007连接设备时生成的对应值,[UUID]为对应 BLE设备的特征参数,[data]为需要发送的数据。

测试示例:

1msh />rw007_ble write_uuid 1 ffe1 Hello,RT-Thread....
2402 - ble_cmd_gattc_write_by_uuid
3write conn_hanle:1 uuid:ffe1 data:Hello,RT-Thread....
4write rc:0
5msh />

注意:目前已经支持通过 128 位的 UUID 进行写数据操作

测试示例:

1msh />rw007_ble write_uuid 1 ebe0ccbe7a0a4b0c8a1a6ff2997da3a6 00
2data: 00
3write conn_hanle:1 uuid:ebe0ccbe7a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值