Saltar a contenido

Pruebas de consumo Lora RYLR998

Alguien de Reyax se comunico conmigo hace 3 semanas y me pregunto que si quería probar sus módulos lora y la verdad no me motivo mucho al principio ya que nunca había trabajado con esta tecnología, pero luego pensé, bueno al menos para probar ademas eran gratis.

Me puse a investigar un poco y vi que a muchos pequeños youtubers latinoamericanos les habían ofrecido este modulo y todos tenia una revisión muy similar, osea, que es lora, la distancia , configuración por comandos AT, envió de un mensaje osea lo mismo de siempre, así que un vídeo mas sobre esto no interesante.

La razón por la que se usa lora es para enviar pequeños datos a largas distancias, si pensamos en enviar los datos de un único sensor o evento ocurrido en un lugar remoto, tenemos que considerar que en un lugar remoto no hay fuente de energía. Entonces ahí nació mi idea, averiguar que tan buenos son estos módulos para colocar un dispositivo en un lugar remoto y que me envié de forma periódicas datas de un sensor.

Un vistazo al RYLR998

La verdad es que es modulo es muy pequeño aunque me pareció un poco ridículo esa forma de paloma que le han hecho a la PCB, punto menos por eso.

En cuanto a la documentación esta muy bien documentado, yo con poca experiencia en esta tecnología lo pude hacer andar en un par de minutos. en la pagina del RYLR998 se puede encontrar Datasheet, Manual de usuario y hasta modelo 3D que viene bien para el diseño de la PCB.

El RYLR998, funciona con comandos AT, así que solo necesitas tener una conexión serial, enviar estos comandos y ya pondrías a funcionar esto, en el Datasheet colocan un ejemplo básico de pruebas en el que se envían 200 bytes

Configuración para transmisor

AT+BAND= 915000000 
AT+PARAMETER=5,9,1,4
AT+SEND=6,200,01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

Configuración para receptor

AT+BAND= 915000000
AT+PARAMETER=5,9,1,4
AT+ADDRESS=6

Realmente lo importante aquí es configurar la dirección del receptor, en este caso es 6, y al momento de enviar un mensaje se debe colocar 6 como parámetro de dirección en los parámetros.

Modos de operacion

Los modos de operacion son realmente importantes si quieres mejorar la utonomina de un dispositivo,

Modo 0

Por defecto vienen en modo 0, lo que significa tiene un consumo constante de 17 mA mas o menos, osea esta consumiendo 17 mA solo por estar ahí existiendo.

Modo 1

Coloca el modulo a dormir y el consumo es casi imperceptible.

Modo 2

Esta es una configuración curiosa, puedes poner el modulo a dormir y despertar en intervalos específicos, creo que lo usan para sincronizar la recepción de paquetes, pero no se, me parece complicado para sincronizar así que no use.

Circuito para pruebas

Hice un script en python el cual envía los mensajes a través del puerto serial al transmisor y otro dispositivo portátil que recibe los mensajes. le coloque una pantalla para poder ver la intensidad de la señal en función de la distancia.

En la alimentación del transmisor coloque el Power Profiler KitII, el cual me dará el consumo de corriente en tiempos determinados.

Script python

# Instala pyserial si no lo tienes:
# pip install pyserial
import serial
import time
import random

def enviar_comando_y_leer_respuesta(puerto, baudrate, comando):
    ser = serial.Serial(puerto, baudrate, timeout=2)
    ser.write(comando.encode())
    respuesta = ser.readline().decode(errors='ignore').strip()
    ser.close()
    return respuesta

def generar_bytes_aleatorios(n):
    return ''.join([str(random.randint(0, 9)) for _ in range(n)])

if __name__ == "__main__":

    puerto = '/dev/ttyUSB1'
    baudrate = 115200
    #Check band
    comando = 'AT+BAND?\r\n'
    respuesta = enviar_comando_y_leer_respuesta(puerto, baudrate, comando)
    print(respuesta)

    parameter = 'AT+PARAMETER=5,9,1,4\r\n'
    respuesta_param = enviar_comando_y_leer_respuesta(puerto, baudrate, parameter)
    print(respuesta_param)

    parameter = 'AT+PARAMETER=5,9,1,4\r\n'
    respuesta_param = enviar_comando_y_leer_respuesta(puerto, baudrate, parameter)
    print(respuesta_param)

    while True:
        time.sleep(1)
        mode = 'AT+MODE=0\r\n'
        respuesta_mode = enviar_comando_y_leer_respuesta(puerto, baudrate, mode)
        print(respuesta_mode)
        mensaje = f'AT+SEND=6,13,{generar_bytes_aleatorios(13)}\r\n'
        respuesta_mensaje = enviar_comando_y_leer_respuesta(puerto, baudrate, mensaje)
        print(respuesta_mensaje)
        mode = 'AT+MODE=1\r\n'
        respuesta_mode = enviar_comando_y_leer_respuesta(puerto, baudrate, mode)
        print(respuesta_mode)
        time.sleep(30)

Mediciones del corriente

Envió de datos cada 10 segundos en modo 0

En este modo se tiene un consumo promedio de 17.09 mA, se puede ver que en cada envió el consume aumenta a 100 mA mientras envía el dato.

Lo que significa que con una batería de 2600 mAh podría tener una autonomía teórica de 6 días mas o menos.

Si esto es un dispositivo que voy a colocar en el campo para medir la humedad del suelo 6 días es un autonomía inaceptable.

Envió de datos cada 10 segundos en modo 1

Al colocar el modulo a dormir mientras no envía datos se consigue un rendimiento mucho mejor, en este caso se envía un paquete, se pone a dormir (mode=1) se esperan 10 segundos luego se despierta y se envía otro paquete y luego a dormir otra vez.

En estas condiciones el modulo tiene un consumo promedio de 134,40 uA, lo que da una autonomía de casi 2 años. esto ya es bastante aceptable, digamos que por cuestión de rendimiento baje hasta 1.5 años, igual es bueno para mi.

Envió de datos cada 30 segundos en modo 1

Ahora, si enviamos los datos cada 30 segundos bajo las mismas condiciones de modo,la cosa se pone aun mejor.

Bajo estas condiciones, tenemos un consumo promedio de 50 uA en un lapso de 2 minutos, lo que nos da una autonomía de 6 años, esto ya es una exageración, pero bueno, es para hacerse una idea nada mas de la eficiencia.

Conclusión

Los módulos paloma de REYAX manejar muy bien el consumo de energía y si los usaría para algún proyecto, aunque tal vez me inclinaría mas por los módulos SMD que los de agujero pasantes para un producto final.