玩转 Quecpython 以太网卡!w5500网卡保姆级指南
哈喽,各位玩机达人!今天给大家扒一扒 Quecpython 平台上一款超实用的以太网卡 ——w5500的用法。不管你是刚入门的小白,还是想进阶的大佬,这篇攻略都能让你轻松拿捏,少走 N 多弯路~

不管是想让外部设备给模组供网还是模组给其他外设供网,都可以实现!!!只需配置简简单单的参数。官网链接:
https://developer.quectel.com/doc/quecpython/Application_guide/zh/network-comm/nic/ethernet/index.html
支持超多现有的热门模组:EC800K,EC800M,EC600U以及EC600M,EG915U等,还有超多其他热门系列模组支持,等待解锁。
w5500网卡,初始化:参数设置是关键
给 w5500 “开机” 前,这些参数得搞明白(就像给手机插卡设置网络一样):
1)mac 地址(第一个参数):6 字节的 “身份证”,比如b'\x12\x34\x56\x78\x9a\xbc'。划重点!同一局域网里不能有重复,不然设备会 “吵架” 哦~
2)IP 地址(第二个参数):不想手动设?留空就默认192.168.1.100,超省心!
3).第三个参数是以太网卡的子网掩码地址,若值为空字符串'',表示使用默认值 255.255.255.0 。
4).第四个参数是以太网卡的网关地址,若值为空字符串'',表示将 ip 地址的最后一位替换成 1 作为网关。
5).第五个参数是连接 W5500 的 SPI端口 ,默认值为 -1 ,表示使用上次配置的值,程序中默认配置为 SPI1 端口。
6).第六个参数是接W5500 SPI片选引脚,默认值为 -1 ,表示使用上次配置的值,程序中默认配置为 Pin.GPIO34
7).第七个参数是连接 W5500 的外部中断 GPIO管脚 ,默认值为 -1 ,表示上次配置的值,程序中默认配置为 Pin.GPIO19
8).第八个参数是连接 W5500 的重置 GPIO管脚 ,默认值为 -1 , 表示上次配置的值,程序中默认配置为 Pin.GPIO17
9). 0 是 “终端模式”(跟着大网混),1 是 “网关模式”(当大哥分网),按需选!
【1】想让网卡连接现有网络?试试这段代码:
import usocket
from machine import Pin
import utime
def tcp_client():
# Create a socket object
w5500 = ethernet.W5500(b'\x12\x34\x56\x78\x9a\xbc','192.168.1.1','','',-1,38,36,37,0)
print("success")
utime.sleep(2)
while w5500.dhcp()==-1:
utime.sleep(4)
w5500.set_up()
print("{}".format(w5500.ipconfig()))
sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM, usocket.IPPROTO_TCP)
print('socket object created.')
print('start connect')
# 建立连接
sock.connect(('36.152.44.95', 80))
print('start connect')
data = 'GET / HTTP/1.1\r\n'
data += 'Host: ' + '36.152.44.95' + ':' + str(80) + '\r\n'
data += 'Connection: close\r\n'
data += '\r\n'
data = data.encode()
# Send the data
sock.send(data)
print('<-- send data:')
print(data)
data1=sock.recv(1024)
print('recv %s bytes:' % len(data1))
print(data1.decode())
sock.close()
if __name__ == '__main__':
tcp_client() # Start the client
跑起来,模组就能链接网卡就能乖乖上网传数据啦~不用sim卡参与

【2】w5500网关模式,想让网卡给其他设备(比如电脑)供网?切换到网关模式:
import ethernet
import utime
info = dataCall.getInfo(1, 0)
print(info)
w5500 = ethernet.W5500(b'\x12\x34\x56\x78\x9a\xbc','192.168.1.1','','',-1,38,36,37,1)
if info != -1:
W5500.set_default_network_card(info[2][2])
print("{}".format(W5500.ipconfig()))
W5500.set_up()
utime.sleep(2)
网关模式是模组为外部设备进行供网操作,作为网关节点,因此还需要对pc端配置,使得pc端与模组端侧处于同一网段下。
Tips:电脑配置小技巧:
给电脑手动设个 IP(比如192.168.1.101),子网掩码255.255.255.0,默认网关填网卡的 IP(比如192.168.1.1),DNS 设8.8.8.8或114.114.114.114。搞定!电脑就能通过网卡用 4G 上网啦~

本例子设置如上图所示,需要确认处理同一网段下,配置完成,模组为pc端供网,此时pc可以正常访问外网。

更多推荐



所有评论(0)