我尝试在MicroPython下使用socket在两块esp8266间进行通信,但程序报错,出现以下问题,应该如何解决?
源码如下:
import time, network, socket
SSID = "TEST-esp8266" # WiFi名称
PASSWORD = "20050325" # WiFi密码
wlan = network.WLAN(network.STA_IF) # 创建WLAN对象
wlan.active(True) # 激活
wlan.connect(SSID, PASSWORD) # 连接到AP
while not wlan.isconnected():
pass
print('连接TEST-esp8266成功')
s = socket.socket() # 创建 socket 对象
host = '192.168.4.2' # esp8266 ip
port = 10000 # 设置端口号
print('正在连接端口')
s.connect((host, port))
print('端口连接成功')
while True:
msg = b'aaaaaaa'
s.send(msg)
time.sleep(1)
Ready to download this file,please wait!
.
download ok
exec(open('main.py').read(),globals())
连接TEST-esp8266成功
正在连接端口
Traceback (most recent call last):
File "", line 1, in
File "", line 15, in
OSError: [Errno 103] ECONNABORTED
import time, network, socket
SSID = "TEST-esp8266" # WiFi名称
PASSWORD = "20050325" # WiFi密码
wlan = network.WLAN(network.AP_IF) # 创建WLAN对象
wlan.active(True) # 激活
wlan.config(essid='TEST-esp8266', password='20050325', channel=12)
print('热点配置成功')
host = '192.168.4.2' # esp8266 ip
port = 10000 # 设置端口号
listenSocket = socket.socket() # 创建套接字
listenSocket.bind((host, port)) # 绑定地址和端口号
print('监听套接字')
listenSocket.listen(1) # 监听套接字
print('设置套接字')
listenSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 设置套接字
print('接收连接请求,返回收发数据的套接字对象和客户端地址')
conn = listenSocket.accept() # 接收连接请求,返回收发数据的套接字对象和客户端地址
print('successful')
while 1:
print('等待数据发送')
data = conn.recv(1024) # 接收数据(1024字节大小)
print(data)
MPY: soft reboot
#8 ets_task(4020eea0, 29, 3f94b8, 10)
热点配置成功
监听套接字
设置套接字
接收连接请求,返回收发数据的套接字对象和客户端地址