import socket
import struct
import sys
import time
DEST_IP = sys.argv[1] if len(sys.argv) > 1 else "192.168.0.71"
DEST_PORT = 17401
COUNT = int(sys.argv[2]) if len(sys.argv) > 2 else 10
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print(f"Sending {COUNT} temperature samples to {DEST_IP}:{DEST_PORT}")
for seq in range(COUNT):
temp_value = 20.0 + (seq * 0.5)
buf = bytearray(128)
buf[0:4] = b"RTPS"
buf[4] = 2 buf[5] = 3 buf[6] = 0x01 buf[7] = 0x0F
struct.pack_into('<I', buf, 20, 0xE532) struct.pack_into('<f', buf, 24, temp_value) struct.pack_into('<Q', buf, 32, seq * 1000)
sock.sendto(buf[:40], (DEST_IP, DEST_PORT))
print(f"TX #{seq+1}: temp={temp_value:.1f}C")
time.sleep(1)
print(f"Done - {COUNT} samples sent!")
sock.close()