Mixly UDP局域网收发数据

一、开发环境

软件:Mixly 2.0在线版

硬件:ESP32-C3(立创实战派)

固件:ESP32C3 Generic(UART)

测试工具:NetAssist V5.0.1

二、实现功能

ESP32作为wifi sta连接到路由器,连接成功之后将路由器给设备分配的IP地址打印出来,然后创建UDP服务器,监听端口为6666,然后等到接收数据,接收到数据后再将数据回复给主机。测试时在同一个局域网电脑上运行网络调试助手,给设备发送消息并接收设备回复的消息。

三、编程

1、积木
2、代码
复制代码
import network
import machine
import socket

def connect_wifi():
    wlan = network.WLAN(network.STA_IF);
    wlan.active(True)
    print(wlan.scan())
    wlan.connect('ssid','password')
    while True:
        if (wlan.isconnected()):
            break
    print('Get IP', wlan.ifconfig()[0])
    return True



print('Mixly')
if connect_wifi():
    pass
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('0.0.0.0', 6666))
while True:
    data,addr = (s.recvfrom(1024))
    print(data)
    print(addr)
    s.sendto(data,addr)

四、测速

1、设备运行

将代码上传到ESP32,会看到控制台打印日志如下:

复制代码
soft reboot
Mixly
[(b'', b'\x92v\x9fC\xa3X', 6, -77, 4, False), (b'CMCC-2106', b'\x90v\x9f#\xa3X', 6, -78, 4, False), (b'', b'\x82`[\xf7\xbc\xca', 6, -90, 4, False), (b'1-1-2206', b'x`[\xf7\xbc\xca', 6, -90, 4, False), (b'CMCC-5EnZ', b'H\xca\xc6\x82_\x84', 11, -91, 4, False)]
Get IP 192.168.10.102

可知设备的IP地址为192.168.10.102。

2、收据收发

在电脑上运行NetAssist网络调试助手,给设备发送"hello world"消息,设备收到后会回复电脑同样的消息。

相关推荐
funnycoffee1236 小时前
multicast 组播流必须用udp吗? tcp为何不行
网络协议·tcp/ip·udp·组播
Ronin3052 天前
【Linux网络】Socket编程:UDP网络编程实现ChatServer
linux·网络·udp
天上飞的粉红小猪2 天前
传输层UDP&&TCP
网络·tcp/ip·udp
小灰灰搞电子2 天前
ESP32 使用ESP-IDF WiFi一键配网 源码分享
esp32·一键配网
风痕天际2 天前
ESP32-S3开发教程6:硬件定时器
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp32s3
小灰灰搞电子2 天前
ESP32+ESP-IDF 使用MQTT协议连接阿里云物联网平台源码分享
物联网·阿里云·esp32
tryxr3 天前
如何基于UDP实现可靠传输
网络·网络协议·udp·tcp
小灰灰搞电子3 天前
ESP32 使用ESP-IDF 驱动红外遥控器源码分享
esp32·红外遥控
勇敢牛牛_3 天前
ESP32 + Rust 开发的简易语音助手
rust·嵌入式·esp32·语音助手
白太岁3 天前
通信:(2) TCP/UDP、流量/拥塞控制、ARP 与 Socket 应用
网络·c++·tcp/ip·udp