1
0
forked from tanchou/Verilog

Add connectESPV2.py for socket communication and hex input handling

This commit is contained in:
Gamenight77
2025-05-28 10:32:27 +02:00
parent 502999b159
commit b2d280b4e2

View File

@@ -0,0 +1,53 @@
import socket
import sys
import threading
import select
# Adresse du serveur
SERVER_IP = "192.168.1.105"
SERVER_PORT = 1234
def recv_loop(sock):
"""Écoute les données reçues du socket et les affiche en hexadécimal"""
while True:
try:
data = sock.recv(1024)
if not data:
print("Déconnecté du serveur")
break
print("Reçu :", ' '.join(f"{b:02X}" for b in data))
except Exception as e:
print("Erreur réception :", e)
break
def main():
# Connexion au serveur
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((SERVER_IP, SERVER_PORT))
print(f"Connecté à {SERVER_IP}:{SERVER_PORT}")
# Lancer la boucle de réception dans un thread séparé
threading.Thread(target=recv_loop, args=(sock,), daemon=True).start()
print("Tape des chiffres hexadécimaux (0-9, A-F). Ctrl+C pour quitter.")
try:
while True:
# Lire un seul caractère sans attente (mode ligne)
rlist, _, _ = select.select([sys.stdin], [], [], 0.1)
if rlist:
char = sys.stdin.readline().strip().upper()
if len(char) == 0:
continue
for c in char:
if c in "0123456789ABCDEF":
value = int(c, 16)
sock.send(bytes([value]))
print(f"Envoyé : {value:02X}")
else:
print(f"Ignoré : {c} (non hexadécimal)")
except KeyboardInterrupt:
print("\nDéconnexion")
sock.close()
if __name__ == "__main__":
main()