31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from shared import get_lora
|
|
import time
|
|
|
|
lora = get_lora()
|
|
lora.configure()
|
|
|
|
print("Raspberry Pi : En attente active de JSON...")
|
|
|
|
while True:
|
|
paquet = lora.receive_reliable(timeout_ms=5000)
|
|
if paquet:
|
|
# Plus besoin de décoder du HEX ou de parser du JSON manuellement !
|
|
groupe = paquet['group']
|
|
donnees = paquet['data']
|
|
|
|
print(f"\nRPI : Reçu du Groupe {groupe} -> {donnees}")
|
|
if not paquet['raw']: # C'est bien du JSON (un dictionnaire Python)
|
|
print(f"RPI : Température du capteur = {donnees.get('temp')}°C")
|
|
|
|
# Préparation de la réponse (on passe directement un dictionnaire !)
|
|
reponse = {
|
|
"status": "ack",
|
|
"msg": "Donnees bien recues, merci !",
|
|
"time": int(time.time())
|
|
}
|
|
|
|
time.sleep(0.5)
|
|
print("RPI : Envoi de la réponse...")
|
|
lora.send(reponse) # Le pilote sérialise et encode en HEX à ta place !
|
|
else:
|
|
print("RPI : Rien reçu.") |