配网介绍
QuecPython支持的网卡类型较多,如何配置网卡,使其能够正常地进行网络通信呢?本章节主要对于网卡配置进行简单介绍,方便快速使用网卡设备进行连接网络。
QuecPython 提供了两种网卡配置方式:
-
通过 python 接口进行配置。
-
通过内置的 web 服务,使用网页进行网络配置。(只有蜂窝无线网络的模组无法使用web服务)


蜂窝无线网卡
蜂窝无线网卡依赖于运营商,需要模组连接运营商的SIM卡,并且在运营商基站信号覆盖范围内,方可进行网络连接。支持 QuecPython 的蜂窝通信模组在开机后会自动进行蜂窝数据网络连接。

示例:
>>>import dataCall
>>>dataCall.setPDPContext(1, 0, ‘’, ‘’, ‘’, 0) # 设置网卡信息
0
>>>dataCall.activate(1) # 激活第一路网卡
0
>>>dataCall.getInfo(1, 0) # 第一路拨号信息查询
(1, 0, [1, 0, ‘10.11.129.252’, ‘211.138.180.4’, ‘211.138.180.5’])
#现在模块可以通过 4G 网络正常进行网络连接。
Wi-Fi 无线网卡
Wi-Fi 无线网卡不同的工作模式下具有不同的应用场景,对于 station 模式下,需要连接Wi-Fi 热点(比如路由器),通过 Wi-Fi 热点给模块提供网络。对于 ap 工作模式下,Wi-Fi 无线网卡作为热点,接受其它 Wi-Fi 站点设备连接,并为其提供网络服务。
Wi-Fi 无线网卡的网络配置有多种方式,如直接输入热点名称和密码、一键配网、AP 配网、web 页面配置等,但最终的目的就是为了成功获取热点名称和密码。本文着重说明 Wi-Fi 网卡的加载,并通过直接访问热点的方式进行网络连接。其余的配网方式请参考Wi-Fi网卡章节。

通用 Wi-Fi 网卡配网
import network
nic = network.WLAN(network.STA_IF) # 加载 Wi-Fi 网卡驱动,对于外挂设备需要确认是否还需要其他参数配置。
0
nic.connect(‘ssid’,‘password’) # 连接 Wi-Fi 热点。
0
nic.status() # 查询连接状态,5表示已连接。
5
nic.ifconfig() # 查询 ip 信息。
(‘192.168.1.4’, ‘255.255.255.0’, ‘192.168.1.1’, ‘192.168.1.1’)
#现在模块可以通过 Wi-Fi 网络正常进行网络连接。
外挂 ESP8266 Wi-Fi 网卡配
from usr.WLAN import ESP8266
from machine import UART
esp8266 = ESP8266(UART.UART2, ESP8266.STA) # 初始化 esp8266 网卡。
0
esp8266.station(‘ssid’,‘password’) # 连接 Wi-Fi 热点。
0
esp8266.set_dns(‘8.8.8.8’,‘114.114.114.114’) # 配置 dns server。
0
esp8266.status() # 查询连接状态,1表示已连接。
1
nic.ipconfig() # 查询 ip 信息。
(‘172.16.1.2’, ‘255.255.255.0’, ‘172.16.1.1’, 1500, ‘8.8.8.8’, ‘114.114.114.114’) esp8266.set_default_NIC(‘172.16.1.2’) #设置 Wi-Fi 网卡作为默认网卡。
0
# 现在模块可以通过 Wi-Fi 网络正常进行网络连接。
以太网卡
在不同的应用场景下,以太网卡有不同的工作模式:终端模式(WAN)、网关模式(LAN)。

该模式下,可通过 DHCP 协议动态获取 IP 地址,亦可设置静态 IP 地址。
通过 DHCP 协议获取 IP 地址的示例代码如下:
import ethernet
W5500 = ethernet.W5500(b’4Vx¼’) # 加载以太网卡驱动,在实际使用中,需要确认硬件连接是否使用默认配置,如使用自定义配置,请将网卡初始化接口参数补全。
0
W5500.dhcp() # 动态获取IP信息。保证网络环境中有DHCP服务器,比如接的路由器。
0
W5500.ipconfig() # 查询IP信息。
[(‘12-34-56-78-9A-BC’, ‘W5500’), (4, ‘192.168.31.203’, ‘255.255.255. 0’, ‘192.168.31.1’, ‘192.168.31.1’, ‘0.0.0.0’)]
W5500.set_default_NIC(‘192.168.31.203’) #设置以太网卡作为默认网卡。
0
# 现在模块可以通过以太网正常进行网络连接
设置静态 IP 地址的示例代码如下:
import ethernet
W5500 = ethernet.W5500(b’4Vx¼’,‘192.168.2.100’, ‘255.255.255.0’, ‘192.168.2.1’) # 加载以太网卡驱动,在实际使用中,需要确认硬件连接是否使用默认配置,如使用自定义配置,请将网卡初始化接口参数补全。其中静态IP信息配置需要根据自己的网络环境调整。
0
W5500.dhcp() # 动态获取IP信息。
0
W5500.ipconfig() # 查询IP信息。
[(‘12-34-56-78-9A-BC’, ‘W5500’), (4, ‘192.168.2.100’, ‘255.255.255.0’, ‘192.168.2.1’, ‘8.8.8.8’, ‘114.114.114.114’)]
W5500.set_default_NIC(‘192.168.2.100’) #设置以太网卡作为默认网卡。
0
#现在模块可以通过以太网正常进行网络连接。
网关模式
即作为 LAN 口,与另一台以太网设备连接,借助 4G 网络为外接以太网设备提供外网访问能力。模型如下图所示:

QuecPython 模组通过 set_worktype(USBNET_Type) 方法设置 USB 网卡的协议类型后,调用 open()方法即可使能 USB 网卡功能。
USBNET_Type 参数取值说明:
-
USBNET.Type_RNDIS : 指定 RNDIS 协议; Windows 操作系统默认支持 RNDIS 协议。
-
USBNET.Type_ECM: 指定 ECM 协议; Linux、Android、IOS、MACOS等操作系统默认支持 ECM 协议。
示例代码如下:
from misc import USBNET
USBNET.get_worktype() # 获取工作模式。
3
USBNET.set_worktype(USBNET.Type_RNDIS) # 配置工作模式,需要注意更新配置重启生效。
0
USBNET.open() # 打开 usbnet 功能。
0
#现在 usb 终端设备可以通过 usb 网口正常进行网络连接。
534

被折叠的 条评论
为什么被折叠?



