聚焦通信技术落地痛点,4G/Wi-Fi/以太网智能多网融合方案,通过动态负载均衡与故障自愈机制,构建高可用通信链路。实战场景覆盖远程监控、智能交通等领域,技术细节与实施步骤全解析。
本文以Air8000开发板WebSocket应用为例,演示4G/Wi-Fi/以太网多网卡切换功能要点,完整demo源码及实操教程详见下方链接。
最新源码下载:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/WebSocket/
实操教程详见:https://docs.openluat.com/air8000/luatos/app/socket/websocket/
Air8000支持单4G网卡、单Wi-Fi网卡、单SPI以太网卡,以及多网卡自动切换,可根据实际项目需求灵活运用。
一、切换网卡为4G网卡
1.1 代码修改要点
在netdrv_device.lua代码里只打开require "netdrv_4g",其他驱动模块注释掉;netdrv_4g.lua中的代码不需要修改。
1.2 查看日志打印
LuaTools工具日志打印如下图所示,如出现类似日志,则表示4G网卡连接成功。
I/user.netdrv_4g.ip_ready_func IP_READY 10.231.77.126 255.255.255.255 0.0.0.0 nil
二、切换网卡为Wi-Fi网卡
2.1 代码修改要点
在netdrv_device.lua代码里只打开require "netdrv_wifi",其他驱动模块注释掉;
netdrv_wifi.lua代码中wlan.connect("茶室-降功耗,找合宙!", "Air123456", 1),前两个参数,修改为自己测试时Wi-Fi热点的名称和密码;
注意:仅支持2.4G的Wi-Fi,不支持5G的Wi-Fi。
2.2 查看日志打印
LuaTools工具日志打印如下图所示,如出现类似日志,则表示 Wi-Fi STA网卡联网成功。
I/user.netdrv_wifi.ip_ready_func IP_READY
{"gw":"192.168.31.1","rssi":-60,"bssid":"8CDEF92102AA"}
三、切换网卡为以太网卡
3.1 代码修改要点
在netdrv_device.lua代码里只打开require "netdrv_eth_spi",其他驱动模块注释掉;
Air8000的以太网卡是通过SPI外挂CH390H芯片实现的,如果是使用官方的开发板,netdrv_eth_spi.lua的代码不需要修改。
3.2 查看日志打印
LuaTools工具日志打印如下图所示,如出现类似日志,则表示以太网联网成功。
I/user.netdrv_eth_spi.ip_ready_func IP_READY 192.168.0.12 255.255.255.0
192.168.0.1 nil
四、多网卡自动切换
4.1 代码修改要点
在netdrv_device.lua代码里只打开require "netdrv_multiple",其他驱动模块注释掉;
同时netdrv_multiple.lua中的ssid = "茶室-降功耗,找合宙!", password = "Air123456",修改为自己测试时Wi-Fi热点的名称和密码。
注意:仅支持2.4G的Wi-Fi,不支持5G的 Wi-Fi。
可根据自己的需求调整网卡的优先级,以下示例设置为以太网卡是最高优先级。
4.2 查看日志打印
1)默认以太网卡进行连接:
2)拔掉网线后,网络切换为Wi-Fi网卡:
3)关闭设备连接的Wi-Fi热点,切换为4G网卡:
今天的内容就分享到这里了~