54 lines
1.4 KiB
Python
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()
|