在復雜的物聯網應用場景中,設備往往需要支持以太網、Wi-Fi及4G等多種網絡接入方式。exnetif模塊作為實現多網融合的核心組件,通過抽象化的接口屏蔽了底層硬件的差異。本文將深入解析如何利用exnetif.setproxy等API,配置網絡代理與智能選路策略,實現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中的順序確定聯網優先級。
簡要示例:

2.2、exnetif.notify_status(cb_fnc)
函數功能:設置網絡狀態變化回調函數。
注意事項:
可選配置,設置回調函數后可以通過回調函數獲取網絡狀態的變化。
簡要示例:

2.3、exnetif.setproxy(adapter, main_adapter, other_configs)
函數功能:配置網絡代理實現多網融合。
注意事項:
注意區分adapter和main_adapter的參數:
adapter:使用網絡的網卡(如socket.LWIP_AP);
main_adapter:提供網絡的網卡(如socket.LWIP_ETH)。
簡要示例:

2.4、exnetif.check_network_status(interval)
函數功能:主動觸發網絡狀態檢測。
注意事項:
可選配置,檢測一次或者定時檢測所有可用網絡的網絡連通性,當網絡顯示可用但是業務代碼數據收發異常時可以重新檢測網絡連通性,如果配置定時檢測會增加模塊功耗。
簡要示例:

三、快速上手:多網融合示例
目前exnetif庫已全面支持LuatOS開發系列主流產品,同時提供相關應用示例demo,方便開發者快速上手,可結合項目實際需求靈活運用。
注意:
多網融合功能需硬件支持,如雙網卡設備;
以Air8000系列多功能工業引擎/開發板為例:

核心示例代碼如下圖示,完整demo詳見源碼倉庫最新文件:
3.1 4G連接外部網絡
開啟多網融合模式,4G連接外部網絡,生成Wi-Fi熱點為Wi-Fi終端設備提供接入,支持以太網Lan模式為其他以太網設備提供接入;網絡監控,每5秒進行HTTPS連接測試,實時監測4G網絡的連接狀態。


3.2 以太網連接外部網絡
開啟多網融合模式,以太網連接外部網絡,生成Wi-Fi熱點為WiFi終端設備提供接入,支持以太網Lan模式為其他以太網設備提供接入;網絡監控,每5秒進行HTTPS連接測試,實時監測以太網網絡的連接狀態。


3.3 Wi-Fi連接外部網絡
開啟多網融合模式,Wi-Fi連接外部網絡,支持以太網Lan模式為其他以太網設備提供接入,支持生成Wi-Fi熱點為Wi-Fi終端設備提供接入;網絡監控,每5秒進行HTTPS連接測試,實時監測Wi-Fi網絡的連接狀態。


今天的內容就分享到這里了~
-
單片機
+關注
關注
6076文章
45494瀏覽量
670252 -
物聯網
+關注
關注
2945文章
47818瀏覽量
414804 -
硬件工程
+關注
關注
1文章
228瀏覽量
10737 -
嵌入式硬件
+關注
關注
1文章
1011瀏覽量
9241
發布評論請先 登錄
基于MIH的WLAN和UMTS異構網絡鏈路層切換技術研究
高通與愛立信共同完成3G/LTE無縫切換
多微網并離網切換策略
微網并/離網無縫切換技術
訊維無縫切換矩陣的設計與實現
如何實現多電源無縫切換?支持PD/QC/DC/電池自動切換的RGBWY電源管理
多網融合開發秘籍:exnetif模塊實現網絡無縫切換
評論