一文精通:使用exnetif快速构建4G/以太网融合网关

随着工业物联网的发展,构建具备多网接入能力的融合网关成为刚需。本文旨在提供一份基于exnetif模块的完整开发指南。我们将从硬件电路设计(如CH390网卡芯片的连接)讲起,过渡到软件层面的脚本编写,详细展示如何初始化以太网适配器,并将其与4G适配器绑定,最终打造出一个稳定可靠的网络共享网关设备。

专为多网络环境设计,用简洁的API帮你轻松搞定网络优先级管理和多网融合,无论是智能网关、工业路由器,还是其他需要多网备份与共享的物联网设备,都能从中受益。

一、exnetif是什么?

exnetif是一个用于简化多网络环境管理的LuatOS扩展库。主要提供两大核心能力:

网络优先级管理:可灵活设置以太网、Wi-Fi、4G等网络的优先级(例如:以太网 > Wi-Fi > 4G),模块会自动选择当前优先级最高且连通性最好的网卡上网,实现智能切换。

多网融合功能:支持配置网络代理,实现网络共享(例如将4G作为数据出口,供Wi-Fi/以太网设备接入);模块最多同时挂载5个以太网网口,支持LAN、WAN随意组合使用。

二、核心函数速览

exnetif扩展库目前提供了四个主要API,覆盖了从网络初始化、状态回调到多网融合的全流程。

2.1、exnetif.set_priority_order(networkConfigs)

函数功能:设置网络优先级并初始化网络。

注意事项:

可以开启单网络或多网优先级,单网时不会判断网络连通性,多网络时根据table中的顺序确定联网优先级。

简要示例:
image

2.2、exnetif.notify_status(cb_fnc)

函数功能:设置网络状态变化回调函数。

注意事项:

可选配置,设置回调函数后可以通过回调函数获取网络状态的变化。

简要示例:
image

2.3、exnetif.setproxy(adapter, main_adapter, other_configs)

函数功能:配置网络代理实现多网融合。

注意事项:

注意区分adapter和main_adapter的参数:

adapter:使用网络的网卡(如socket.LWIP_AP);

main_adapter:提供网络的网卡(如socket.LWIP_ETH)。

简要示例:
image

2.4、exnetif.check_network_status(interval)

函数功能:主动触发网络状态检测。

注意事项:

可选配置,检测一次或者定时检测所有可用网络的网络连通性,当网络显示可用但是业务代码数据收发异常时可以重新检测网络连通性,如果配置定时检测会增加模块功耗。

简要示例:
image

三、快速上手:多网融合示例

目前exnetif库已全面支持LuatOS开发系列主流产品,同时提供相关应用示例demo,方便开发者快速上手,可结合项目实际需求灵活运用。

注意:

多网融合功能需硬件支持,如双网卡设备;

以Air8000系列多功能工业引擎/开发板为例:
image

核心示例代码如下图示,完整demo详见源码仓库最新文件:

3.1 4G连接外部网络

开启多网融合模式,4G连接外部网络,生成Wi-Fi热点为Wi-Fi终端设备提供接入,支持以太网Lan模式为其他以太网设备提供接入;网络监控,每5秒进行HTTPS连接测试,实时监测4G网络的连接状态。
image
image

3.2 以太网连接外部网络

开启多网融合模式,以太网连接外部网络,生成Wi-Fi热点为WiFi终端设备提供接入,支持以太网Lan模式为其他以太网设备提供接入;网络监控,每5秒进行HTTPS连接测试,实时监测以太网网络的连接状态。
image
image

3.3 Wi-Fi连接外部网络

开启多网融合模式,Wi-Fi连接外部网络,支持以太网Lan模式为其他以太网设备提供接入,支持生成Wi-Fi热点为Wi-Fi终端设备提供接入;网络监控,每5秒进行HTTPS连接测试,实时监测Wi-Fi网络的连接状态。
image
image

今天的内容就分享到这里了~

posted @ 2026-02-28 17:59  合宙LuatOS  阅读(2)  评论(0)    收藏  举报