[MCU] 【先楫HPM6750EVKMINI测评】3# HPM6750对RW007模块的控制

太阳上的骑士   2022-7-21 00:49 楼主

1、RW007介绍

RW007是由上海睿赛德电子科技有限公司开发基于Cortex-M4 WIFI SOC的SPI/UART 高速wifi模块。RT-Thread操作系统提供原生支持,如果使用RT-Thread支持的处理器即插即用,如果不跑RT-Thread的话在网上还没找到合适的驱动程序。

HPM6750EVKMINI开发板正好在RT-Thread支持的开发板里,所以驱动起来会很方便。

RW007主要特性:

    1.  
  • 高性能 MCU
  • 使用 SPI 通信方式
  • SPI 时钟高达 30Mbps
  • SPI 模式下有效以太网带宽高达上传 1MBytes/s,下载 1MBytes/s
  • 支持 WiFi+BLE 主从机功能
  • BLE 主机功能可同时连接多个 BLE 设备
  • WiFi 支持 STA+AP 模式
  • 支持微信小程序 BLE 快速配网
  • 支持断网快速回连
  • 内置 Bootloader,支持 OTA 固件升级、安全固件功能
  • 支持批量远程升级,方便运维管理

官方资料地址:

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/packages/rw007_module_using/an0034-rw007-module-using?id=rw007

 

2、硬件连接

002916hp24p05w2nf3yi35.png

002916gn7afazzrfrlxf77.png

引脚连接

HPM6750

RW007

功能

H15

nRST

RST

H14

INT

INT/BUSY

G16

MISO

MISO

H16

nCS

CS

H17

CMD_MOSI

MOSI

G17

CLK

CLK

HPM6750EVKMINI开发板使用SPI1和RW007模块通信。

 

3、WIFI功能

WIFI功能的实现参考论坛帖子:

https://bbs.eeworld.com.cn/thread-1206656-1-1.html

实现步骤为:

  1. 新建RT-Thread Projec
  2. 添加RW007的RT-Thread Package
  3. 修改port后编译下载运行

下载完成后复位:

002916ga2msmz0dlxqmdzm.png

Msh命令wifi join yourSSID yourPSW即可连接路由器,但是只能连2.4G频段,5G RW007模块搜索不到。

 

4、BLE功能

 

按照官方文档操作

1)根据RW007官方文档说明,需要使用到env工具,所以先安装env工具。RT-Thread env 工具下载:

https://www.rt-thread.org/page/download.html

把env工具添加到windows右键:

002916yzo2izis3ma85a3s.png

 

2)通过RT-Thread Studio中setting界面添加的RW007驱动版本是V2.0.1,只有wifi驱动,没有BLE功能,在V2.1.0以上版本支持BLE功能。所以去RW007的官方Gitee仓库下载最新驱动包。在Gitee界面貌似也没有描述驱动包版本,驱动包Gitee:

https://gitee.com/RT-Thread-Mirror/rw007

将下载的最新驱动包替换RT-Thread Studio工程中的RW007驱动文件,

002916m4o2yevj4e4vdexj.png ->

002916wihdz778k3dlrhik.png

 

3)在工程根目录右键运行ConEmu Here:

002916gmenuummns22m4ns.png

输入menuconfig进行配置,也许是版本问题,按照Gitee的readme步骤做会有点不一样,到最后选择驱动版本时没有V2.1.0,无论选择是V2.0.1还是latest,都出现不了use ble function 002916n1ief5nrzlrll5lh.png

 

002916brv6qmrf4zvm156c.png

4)网络上搜索RW007 V2.1.0版本的驱动一直也没搜索到,所以这个方法暂时只能放弃,如果有谁有V2.1.0的驱动版本欢迎分享一下。

 

参考RT-Thread物联网操作系统官方博文

参考链接:

https://blog.csdn.net/rtthreadiotos/article/details/117005097

1)新建RT-Thread Studio Project

1. 新建RT-Thread Projec

2. 添加RW007的RT-Thread Package

3. 用最新的RW007库替换原工程驱动文件

 

2)在工程applications目录添加ble_example.c

1. 新建ble_example.c文件,添加ble相关功能函数

2. 添加msh命令ble_example_start,功能为初始化ble,然后自动连接mac地址匹配的设备

 

3)搭建测试从设备

1. 因为RW007的BLE只能作为主设备,所以需要有个从设备给RW007连

2. 找一块蓝牙开发板,烧录BLE Uart代码,被连接后led亮,没连接led不亮

3. 用dongle查看蓝牙开发板蓝牙mac地址,这里为C9:BF:1B:24:BD:2E

002916pmb3mi3ods3hbjyo.png

 

4)测试

1. 修改example代码里的mac地址为蓝牙开发板地址

2. 上电,在msh输入ble_example_start

3. 观察开发板上的led,一直不亮

002916kff9sffe8tbb9idb.png

 

5)尝试修改里面的一些内容也一直连接不上

至此,板子上的RW007的BLE功能还一直没调通,如果大家有什么想法和建议欢迎交流,后续有时间再试试~

因为对RW007和RT-Thread了解不深,如果写的有不对的地方欢迎指正~

本帖最后由 太阳上的骑士 于 2022-7-21 00:48 编辑

回复评论 (4)

你好,这个问题可能需要等RT-Thread那边更新一下包。

如果您想快速的使能自带的rw007_ble 功能,可以尝试下面的步骤:

1. 更新一下附件中的文件。

2. 将

    menuconfig RW007_USING_BLE
        bool "Enable RW007 BLE"
        depends on PKG_USING_RW007
        default n

加到board目录底下的 Kconfig文件,可以放在 menu "On-chip Peripheral Drivers" 这一行下面

 

3. 运行menuconfig ,并选中 RW007_USING_BLE这一项并保存设置。

4. 重新用scons 编译工程并用gdb下载调试。

本帖最后由 devinfanyang 于 2022-7-21 14:31 编辑
点赞 (1) 2022-7-21 14:20
引用: devinfanyang 发表于 2022-7-21 14:20 你好,这个问题可能需要等RT-Thread那边更新一下包。 如果您想快速的使能自带的rw007_ble 功能,可 ...

您好,我添加了RW007_USING_BLE后,编译下载用msh输入rw007_ble scan,好像没实现scan功能,试了其它功能也没有用。

如果方便的话能分享一下您那RW007实际能用的工程吗,方便我们使用学习一下~

image.png   image.png  

点赞  2022-7-21 21:08

您好,我这边只试用了一下scan功能,步骤如下:

  • rw007_ble init central
  • rw007_ble scan

其他功能需要参考RT-Thread官方的文档来操作

RT-Thread-packages/rw007: RW007 (SPI Wi-Fi module) driver for RT-Thread (github.com)

 

点赞  2022-7-22 11:18
devinfanyang 发表于 2022-7-22 11:18 您好,我这边只试用了一下scan功能,步骤如下: rw007_ble init central rw007_ble scan 其他 ...

试了一下可以了,以前没有用rw007_ble init central进行初始化所以不行。

谢谢解答

本帖最后由 太阳上的骑士 于 2022-7-22 19:15 编辑
点赞  2022-7-22 19:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复