[LPC55S69][RT-Thread]实现WIFI+4G模块双网卡轻松上网
随着物联网行业的快速发展,我们正在走向一个更为互联的世界。现在,越来越多的设备不仅需要WiFi网络连接,而且也需要4G网络接入。这种需求背后的原因可能多种多样,包括但不限于:需要更强的网络覆盖范围,需要更强的网络稳定性,或者是设备在移动过程中需要保持网络连接。
设备的互联能力决定了设备可以执行的任务种类和范围。当设备只能通过WiFi接入网络时,其应用可能受到空间和网络稳定性的限制。然而,当设备拥有4G接入能力时,这些限制就可以大大降低。设备可以在更广的地理范围内,完成更多的任务。
RT-Thread 简介
RT-Thread是一个开源的实时操作系统,适用于嵌入式系统,拥有强大的功能和广泛的适用性。为达到这种性能,本文将着重介绍如何使用RT-Thread实现WiFi和4G双网卡上网。
之前发表过“[LPC55S69][RT-Thread]轻松搞定高速上网”,其中介绍了如何在LPC55S69上利用RW007 WIFI模块实现低成本WIFI上网。
本篇文章着重实操,并且基于上篇《[LPC55S69][RT-Thread]轻松搞定高速上网》的背景知识。本文的学习需要读者已经了解LPC55S69及RT-Thread,并且会使用RT-Thread的env工具进行剪裁配置。可参阅以下两篇微信文章:
[LPC55S69][RT-Thread]轻松搞定高速上网
RT-Thread_LPC5500上手指南
WIFI+4G模块双网卡上网演示
本文WIFI模块依旧使用RT-Thread的RW007模块,4G模块使用目前的4G Cat1性价比之王:合宙的Air780E。SIM卡就用我自己的电信手机卡来做测试。
硬件搭建
准备好RW007 Arduino拓展版 (某宝有售,20+元RMB);
准备好AIR780E评估版,在使用之前建议先阅读有关文档,最好用USB方式在电脑上使用最基础的AT方式上网,确保模块正常工作,并且确保SIM卡是正常可用的(合宙官方资料网站上有详细教程);
将RW007 Arduino拓展版安装到LPC55S69_EVK上,都是标准的Arduino接口,直接插上即可,无难度;
LPC55S69与RW007 Arduino拓展版各IO接口与功能之间的对应关系表:
4.将Air780E开发板连接到LPC55S69开发板上;
LPC55S69与Air780E开发板连接关系如下表所示:
5. 准备好一根USB线连接到LPC55S69的P6(DebugLink)上;
配置RT-Thread, 编译下载工程
1. 进入\rt-thread\bsp\lpc55sxx\lpc55s69_nxp_evk目录,打开RT-Thread scons命令行配置工具, 输入menuconfig 进入配置界面;
2. 找到 RT-Thread Components ->Device Drivers, 选择using RW009/007 SPI Wi-Fi wireless interface 和 Using Wi-Fi Framework:
3. 找到RT-Thread online package ->IoT – Internet of Things ->Wi-Fi, 选择rw007: SPI WIFI rw007 driver;
4.添加PPP DEVICE支持;
目前RT-Thread的网络驱动/WiFi驱动和RW007 WiFi模块驱动就算配置上了,退回到scons命令行界面,输入scons –target=mdk5 生成新的MDK工程;
看到 Keil-MDK project has generated successfully! 说明 Keil工程生成成功。双击打开Project.uvprojx Keil工程文件(我的Keil版本V5.38),编译工程,下载到开发板:
下载后按一下板子上的复位按键,看到LED开始闪烁,串口会打印如下log:
出现rw007 sn和rw007 ver的显示说明至少RW007已经被成功驱动起来了,如果没有出现这两行信息,请检查硬件。出现 PPP_device connect successfully. 说明PPP设备已经连接成功,输入ifconfig 查看网卡信息:
可以看到当前已经识别了三张网卡,一张是WIFI的STA,一张是WIFI的AP, 一张是PPP设备。输入ping <host address> [netdev name] 可以分别用不同的网卡ping下,检查下网络连通性:
好了,到这里我们就成功实现WIFI+4G模块双网卡上网,还不快试试来实现更多的强大功能吧!
|