QuecPython的网络配置连接

配网介绍

QuecPython 支持的网卡类型较多,如何配置网卡,使其能够正常地进行网络通信呢?本章节主要对于网卡配置进行简单介绍,方便快速使用网卡设备进行连接网络。

QuecPython 提供了两种网卡配置方式:

  1. 通过 python 接口进行配置。
  2. 通过内置的 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)。

终端模式

即作为 WAN 口,通过以太网卡为模组提供外网访问能力。模型如下图所示:

该模式下,可通过 DHCP 协议动态获取 IP 地址,亦可设置静态 IP 地址。
通过 DHCP 协议获取 IP 地址的示例代码如下:

>>> import ethernet
>>> W5500 = ethernet.W5500(b'\x12\x34\x56\x78\x9a\xbc') # 加载以太网卡驱动,在实际使用中,需要确认硬件连接是否使用默认配置,如使用自定义配置,请将网卡初始化接口参数补全。
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'\x12\x34\x56\x78\x9a\xbc','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 网络为外接以太网设备提供外网访问能力。模型如下图所示:

在该模式下,模组会默认启用 DHCP 服务,为外接的以太网设备分配动态 IP 地址。示例代码如下:

>>> import dataCall
>>> import ethernet
>>> info=dataCall.getInfo(1, 0) # 获取当前 4g 拨号 ip 信息,确认4G网络正常。
>>> print(info)
(1, 0, [1, 0, '10.84.113.152', '211.138.180.2', '211.138.180.3'])
>>> W5500 = ethernet.W5500(b'\x12\x34\x56\x78\x9a\xbc','192.168.43.1','','',-1,-1,-1,-1, 1) # 加载以太网卡驱动,在实际使用中,需要确认硬件连接是否使用默认配置,如使用自定义配置,请将网卡初始化接口参数补全。。
0
>>> W5500.set_default_NIC('10.84.113.152') # 设置 4G 网卡为默认网卡。
0
>>> W5500.ipconfig() # 查询 ip 信息。
[('12-34-56-78-9A-BC', 'W5500'), (4, '192.168.43.1', '255.255.255. 0', '192.168.43.1', '8.8.8.8', '114.114.114.114')]
>>> W5500.set_up() # 启动以太网卡。
0

# 现在以太网终端设备可以正常进行网络连接。

USB 网卡

当前 USB 网卡主要应用是使用USB网口作为 LAN 口,通过 4G 网卡进行数据转发进行网络访问。USB 网卡协议支持 ECM/RNDIS 协议,请根据需要进行选择,在 PC 下 RNDIS 可以直接加载,在 Linux/Android/IOS 系统中 ECM 可以直接加载。

支持 USB 网卡的蜂窝通信模组通过 USB 口连接至支持 ECM 或 RNDIS 协议的主机设备,借助 4G 网络为其提供外网访问能力。模型如下图所示:

QuecPython 模组通过 set_worktype(USBNET_Type) 方法设置 USB 网卡的协议类型后,调用 open()方法即可使能 USB 网卡功能。

USBNET_Type 参数取值说明:

  • USBNET.Type_RNDIS : 指定 RNDIS 协议; Windows 操作系统默认支持 RNDIS 协议。
  • USBNET.Type_ECM: 指定 ECM 协议; LinuxAndroidIOSMACOS等操作系统默认支持 ECM 协议。

示例代码如下:

>>> from misc import USBNET
>>> USBNET.get_worktype() # 获取工作模式。
3
>>> USBNET.set_worktype(USBNET.Type_RNDIS) # 配置工作模式,需要注意更新配置重启生效。
0
>>> USBNET.open() # 打开 usbnet 功能。
0

# 现在 usb 终端设备可以通过 usb 网口正常进行网络连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值