28 lines
911 B
Python
28 lines
911 B
Python
from machine import Pin
|
|
from shared import get_lora
|
|
import time
|
|
|
|
vext = Pin(19, Pin.OUT)
|
|
vext.value(0)
|
|
time.sleep_ms(100)
|
|
|
|
lora = get_lora()
|
|
lora.configure(freq=868.1, sf=7)
|
|
|
|
while True:
|
|
print("\nESP32 : Envoi des mesures...")
|
|
mesures = {"id": "ESP32_Salon", "temp": 22.4, "hum": 55.2}
|
|
|
|
# Envoi direct (le pilote s'occupe de mettre le groupe \x02)
|
|
lora.send_reliable(b'\x02' + lora.send_json_bytes_helper if False else bytes([2]) + lora.send_helper if False else b'\x02' + __import__('ujson').dumps(mesures).encode('utf-8'))
|
|
|
|
# Réception propre
|
|
paquet = lora.receive_reliable(3000)
|
|
if paquet:
|
|
# paquet est un dict : {"group": 2, "data": {...}, "raw": False}
|
|
print(f"ESP32 : Message reçu du groupe {paquet['group']}")
|
|
print(f"ESP32 : Données utiles -> {paquet['data']}")
|
|
else:
|
|
print("ESP32 : Pas de réponse.")
|
|
|
|
time.sleep(5) |