smart-home/ziyuan/test_udp.py
2026-02-26 09:16:34 +08:00

54 lines
1.4 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
UDP测试脚本 - 测试ESP32 UDP通信
"""
import socket
import time
def test_udp_connection():
# ESP32的IP和端口
ESP32_IP = "192.168.1.170"
ESP32_PORT = 8899
print(f"测试UDP连接到 {ESP32_IP}:{ESP32_PORT}")
try:
# 创建UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(5) # 5秒超时
# 测试命令列表
test_commands = [
"GET_THERMAL_GRID",
"SOCKET:ON",
"SOCKET:OFF"
]
for cmd in test_commands:
print(f"\n发送命令: {cmd}")
# 发送命令
message = cmd.encode('utf-8')
sock.sendto(message, (ESP32_IP, ESP32_PORT))
print(f"已发送: {len(message)} 字节")
# 尝试接收响应
try:
response, addr = sock.recvfrom(1024)
print(f"收到响应: {response.decode('utf-8')} 来自 {addr}")
except socket.timeout:
print("没有收到响应 (超时)")
time.sleep(2) # 等待2秒
sock.close()
print("\nUDP测试完成")
except Exception as e:
print(f"UDP测试失败: {e}")
if __name__ == "__main__":
test_udp_connection()