Codi per a l'ESP32 emissor
Envia un missatge: HOLA
Codi per a l'ESP32 emissor
Envia un missatge: HOLA
from machine import UART
from time import sleep
# Configura UART2 per comunicar-se amb el mòdul Ebyte
uart = UART(2, baudrate=9600, tx=17, rx=16, timeout=100)
def send_message():
msg = b"HOLA\n"
# b converteix el contingut del missatge en bytes (per UART només es pot enviar bytes, no strings)
# \n indica final de missatge
uart.write(msg) # Envia el missatge
print(f"Missatge enviat: {msg.decode()}")
# {msg.decode()} converteix el missatge de bytes a text (string) per visualitzar-lo a la consola
# f- permet incrustar variables dins d'una cadena de text. Per fer-ho, posem una f abans de les cometes i utilitzem {} per inserir valors dins del text.
while True:
send_message() # Enviar missatge
sleep(2) # Esperar 2 segons abans del següent enviament
Codi per a l'ESP32 receptor
Rep el missatge enviat per l’emissor i el mostra per la consola
from machine import UART
from time import sleep
# Configura UART2 per comunicar-se amb el mòdul Ebyte
uart = UART(2, baudrate=9600, tx=17, rx=16, timeout=100)
def receive_message():
if uart.any(): # Comprova si hi ha dades disponibles
msg = uart.read() # Llegeix el missatge
if msg:
print(f"Missatge rebut: {msg.decode().strip()}") # Mostra el text rebut
# msg.decode() → Converteix el missatge de bytes a string.
# .strip() → Elimina espais en blanc, salts de línia \n i retorns de carro \r del principi i final del text.
while True:
receive_message() # Comprovar missatges
sleep(0.1) # Espera per evitar lectures contínues
Codi per a l'ESP32 emissor
Llegeix un valor d’un sensor analògic (pin 34) i l’envia per LoRa
from machine import UART, Pin, ADC
import time
# Configurar UART2 per comunicar-se amb el mòdul LoRa
lora = UART(2, baudrate=9600, tx=17, rx=16)
# Configurar el sensor analògic al pin 34
sensor = ADC(Pin(34))
sensor.atten(ADC.ATTN_11DB) # Permet llegir fins a 3.3V
while True:
valor = sensor.read() # Llegir el sensor (0-4095)
# el valor ha de convertir a una cadena:
missatge = "Valor: {}\n".format(valor)
lora.write(missatge) # Enviar el valor per LoRa
print("Enviat:", missatge.strip())
time.sleep(1)
Codi per a l'ESP32 receptor
Rep les dades enviades per l’emissor i les mostra per la consola
from machine import UART
import time
# Configurar UART2 per comunicar-se amb el mòdul LoRa
lora = UART(2, baudrate=9600, tx=17, rx=16)
while True:
if lora.any(): # Comprovar si hi ha dades rebudes
missatge = lora.readline().decode('utf-8').strip()
print("Rebut:", missatge)
time.sleep(0.1)