2个Pycom微处理器(Micropython)之间简单UDP连接故障排除

2个Pycom微处理器(Micropython)之间简单UDP连接故障排除,udp,micropython,Udp,Micropython,我试图通过UDP传输将一些字节数据从Pycom LoPy4发送到Pycom WiPy 通过使用.ifconfig()方法将服务器端的ip地址设置为静态ip'192.168.0.105',我试图让我的客户端(lopy4)指向服务器的(Wipy)ip地址。然后,我使用.sendto()方法将一些数据发送到相同的IP地址'192.168.0.105' 我的客户端能够发送数据,但我的服务器仍然没有接收到任何信息 这是我的服务器代码: import usocket from network import

我试图通过UDP传输将一些字节数据从Pycom LoPy4发送到Pycom WiPy

通过使用.ifconfig()方法将服务器端的ip地址设置为静态ip'192.168.0.105',我试图让我的客户端(lopy4)指向服务器的(Wipy)ip地址。然后,我使用.sendto()方法将一些数据发送到相同的IP地址'192.168.0.105'

我的客户端能够发送数据,但我的服务器仍然没有接收到任何信息

这是我的服务器代码:

import usocket
from network import WLAN

wlan = WLAN()

## Set static IP address for server
wlan.ifconfig(id = 1, config=('192.168.0.105', '255.255.255.0','192.168.0.1', '192.168.0.1'))

## Set WLAN mode to AP (access point)
wlan.init(mode = WLAN.AP, ssid = 'lopy4_server', auth = None, channel=7, antenna=WLAN.INT_ANT)
print("wlan mode set up: without auth\n")

UDP_IP = "127.0.0.1"    ## localhost
UDP_PORT = 5005

## Set up UDP socket and bind
sock = usocket.socket(usocket.AF_INET,usocket.SOCK_DGRAM) ## UDP
sock.bind((UDP_IP, UDP_PORT))
print('binded')

data, addr = sock.recvfrom(1024) ## buffer size is 1024 bytes
print("received message:", data)
print("source: ", addr)
这是我的客户代码:

import usocket
import utime
from network import WLAN

## Set WLAN mode to STA (station/client)
wlan = WLAN(mode = WLAN.STA)

wlan.scan()     ## scan for available networks
wlan.connect('lopy4_server', auth = None)

while not wlan.isconnected():
    pass
print(wlan.ifconfig())


UDP_IP = '192.168.0.105'
UDP_PORT = 5005
MESSAGE = "Test message"

## Set up UDP socket and connect
sock = usocket.socket(usocket.AF_INET,usocket.SOCK_DGRAM) # UDP
while True:
    print ("UDP target IP:", UDP_IP)
    print ("UDP target port:", UDP_PORT)
    print ("message:", MESSAGE)
    sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
    utime.sleep(3)
这是我收到的输出(左服务器,右客户端):


我怀疑问题与我使用的IP地址有关,但我似乎找不到原因。我希望有人能帮我?提前谢谢

您需要绑定到0.0.0.0,但不需要绑定到环回(127.0.0.1)。在服务器中将其更改为
UDP_IP=“0.0.0.0”
另一个好地方是在PyCom论坛上询问。@MaximSagaydachny我已经尝试了你的建议,现在它可以工作了。谢谢如果您能向我解释ip地址“0.0.0.0”是否有任何重要意义,我将不胜感激!您需要绑定到0.0.0.0,但不需要绑定到环回(127.0.0.1)。在服务器中将其更改为
UDP_IP=“0.0.0.0”
另一个好地方是在PyCom论坛上询问。@MaximSagaydachny我已经尝试了你的建议,现在它可以工作了。谢谢如果您能向我解释ip地址“0.0.0.0”是否有任何重要意义,我将不胜感激!