Index
作者:王城钧 | 最后修改:2026-10-16
一、多网融合概述
Air8101 核心板通过多网融合技术实现以太网, WiFi 网络的协同工作,构建高效、稳定的物联网通信系统。本篇以 WIFI 连接外部网络,支持以太网 lan 模式为其他以太网设备提供接入,支持生成 WiFi 热点为 WiFi 终端设备提供接入
二、准备硬件环境
1、Air8101 核心板一块
2、TYPE-C USB 数据线一根
3、USB 转串口数据线一根
4、Air8101 核心板和数据线的硬件接线方式为
- Air8101 核心板通过 TYPE-C USB 口供电;(核心板背面的功耗测试开关拨到 OFF 一端)
- 如果测试发现软件频繁重启,重启原因值为:poweron reason 0,可能是供电不足,此时再通过直流稳压电源对核心板的 vbat 管脚进行 4V 供电,或者 VIN 管脚进行 5V 供电;
- TYPE-C USB 数据线直接插到核心板的 TYPE-C USB 座子,另外一端连接电脑 USB 口;
5、 AirPHY_1000 配件板一块,Air8101 核心板和 AirPHY_1000 配件板的硬件接线方式为:

Air8101 核心板购买链接:Air8101 核心板 WiFi 4G 以太网 蓝牙 720P显示屏 200万拍照-淘宝网
三、准备软件环境
-
烧录工具:Luatools 下载调试工具
-
内核固件:Air8101 V1006 版本固件(理论上,2025 年 7 月 26 日之后发布的固件都可以)
-
脚本文件:Air8101 脚本文件
-
LuatOS 运行所需要的 lib 文件:使用 Luatools 烧录时,勾选 添加默认 lib 选项,使用默认 lib 脚本文件。
准备好软件环境之后,接下来查看 Air8101 核心板使用说明中的《4.2 烧录项目文件到 Air8101 核心板中》章节内容,将本篇文章中演示使用的项目文件烧录到 Air8101 核心板中。
四、软硬件资料
4.1 api
本文仅介绍程序中使用到的 API 接口,详细接口说明请查看:核心库 API 索引 - luatos@air8101 - 合宙模组资料中心。
exnetif.setproxy(adapter, main_adapter, other_configs)
配置网络代理实现多网融合;
4.2 以太网电路介绍
以太网电路介绍请查看:以太网 RJ45 电路介绍 - luatos@air8101 - 合宙模组资料中心
五、整体功能演示
5.1 运行结果展示
5.2 完整实例
netif_app.lua
exnetif = require "exnetif"
function netif_app_task_func()
local res
-- 设置多网融合功能,wifi提供网络供wifi设备上网
res = exnetif.setproxy(socket.LWIP_AP, socket.LWIP_STA, {
ssid = "test2", -- AP热点名称(string),网卡包含wifi时填写
password = "HZ88888888", -- AP热点密码(string),网卡包含wifi时填写
ap_opts = { -- AP模式下配置项(选填参数)
hidden = false, -- 是否隐藏SSID, 默认false,不隐藏
max_conn = 4
}, -- 最大客户端数量, 默认4
channel = 6, -- AP建立的通道, 默认6
main_adapter = { -- 提供网络的网卡开启参数
ssid = "iPhone", -- WIFI的名称和密码根据实际修改
password = "xiaoshuai"
}
})
-- 设置多网融合功能,wifi提供网络供以太网设备上网,RMII方式外挂
res = exnetif.setproxy(socket.LWIP_ETH, socket.LWIP_STA, {
ethpower_en = 13, -- 以太网模块的pwrpin引脚(gpio编号)
main_adapter = { -- 提供网络的网卡开启参数
ssid = "iPhone", -- WIFI的名称和密码根据实际修改
password = "xiaoshuai"
}
})
if res then
log.info("exnetif", "setproxy success")
else
log.info("开启失败,请检查配置项是否正确,日志中是否打印了错误信息")
end
-- 每5秒进行HTTPS连接测试,实时监测wifi网络连接状态, 仅供测试需要,量产不需要,用来判断当前网络是否可用,需要的话可以打开注释
-- while true do
-- local code, headers, body = http.request("GET", "https://httpbin.luatos.com/bytes/2048", nil, nil, {adapter=socket.LWIP_STA,timeout=5000,debug=false}).wait()
-- log.info("http执行结果", code, headers, body and #body)
-- sys.wait(5000)
-- end
end
sys.taskInit(netif_app_task_func)
main.lua
PROJECT = "wifi_out_ethernet_in_wifi_in"
VERSION = "001.000.000"
-- 在日志中打印项目名和项目版本号
log.info("main", PROJECT, VERSION)
-- 如果内核固件支持wdt看门狗功能,此处对看门狗进行初始化和定时喂狗处理
-- 如果脚本程序死循环卡死,就会无法及时喂狗,最终会自动重启
if wdt then
--配置喂狗超时时间为9秒钟
wdt.init(9000)
--启动一个循环定时器,每隔3秒钟喂一次狗
sys.timerLoopStart(wdt.feed, 3000)
end
-- 如果内核固件支持errDump功能,此处进行配置,【强烈建议打开此处的注释】
-- 因为此功能模块可以记录并且上传脚本在运行过程中出现的语法错误或者其他自定义的错误信息,可以初步分析一些设备运行异常的问题
-- 以下代码是最基本的用法,更复杂的用法可以详细阅读API说明文档
-- 启动errDump日志存储并且上传功能,600秒上传一次
-- if errDump then
-- errDump.config(true, 600)
-- end
-- 使用LuatOS开发的任何一个项目,都强烈建议使用远程升级FOTA功能
-- 可以使用合宙的iot.openluat.com平台进行远程升级
-- 也可以使用客户自己搭建的平台进行远程升级
-- 远程升级的详细用法,可以参考fota的demo进行使用
-- 启动一个循环定时器
-- 每隔3秒钟打印一次总内存,实时的已使用内存,历史最高的已使用内存情况
-- 方便分析内存使用是否有异常
-- sys.timerLoopStart(function()
-- log.info("mem.lua", rtos.meminfo())
-- log.info("mem.sys", rtos.meminfo("sys"))
-- end, 3000)
-- 开启多网融合功能
require "netif_app"
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
六、功能演示
6.1 Air8101 连接路由器
将 Air8101 wifi 连接路由器 (代码中需要修改对应 wifi 的 ssid 和 password,然后烧录到 8101 核心板中)

6.2 设备连接 Air8101 WIFI 热点
我们可以用设备来连接 Air8101 的 WiFi 了。

这里用电脑来演示,在电脑的联网界面可以看到我们 Air8101 的热点,热点名称为:test2,密码为:HZ88888888

连接上之后,能看到我们成功使用 Air8101 的 WiFi 热点在网页上搜索到信息。

6.3 设备连接 Air8101 以太网 LAN 口
将 Air8101 通过网线连接到电脑网口。

电脑连接上了 8101 通过多网融合转出的以太网网络

连接上之后,能看到我们成功使用 Air8000 的 WiFi 热点在网页上搜索到信息。

七、总结
至此,我们已使用 Air8101 核心板 演示了多网融合 WIFI 连接外部网络,支持以太网 lan 模式为其他以太网设备提供接入,支持生成 WiFi 热点为 WiFi 终端设备提供接入的功能