BrewLoRa registro de cerveza a distancia sin Wifi

¿Que es BrewLoRa?

BrewLoRa es un dispositivo (en realidad dos, emisor y receptor), con el cual podremos tener el registro de nuestros dispositivos, iSpindel, RaptPill BrewPressure, BrewKegLevel… a distancia si necesidad de internet o incluso teniendo internet como sistema de Backup.

Podremos ver los datos en la pantalla tanto del emisor como del receptor, asi como por interfaz en el receptor y si lo tenemos asociado a algun portal en el receptor podremos guardar los datos en la nube.

¿Para quién va dirigido este Gadget?

En mi caso lo desarrollé porque yo elaboro fuera de mi piso, pero en un local en mi mismo barrio, buscaba poder seguir viendo los parámetros de mi fermentación (densidad, presión, litros y temperatura), desde mi piso en caso de caída de la luz o de internet desde el lugar donde elaboro, pero puede servir para multiples escenarios, expongo algunos:

  • Elaboración desde un trastero. Si elaboras desde un trastero (o local cercano, en mi caso), sin internet, te puedes enviar los datos al repetidor de tu casa para ver los datos y si quieres desde tu casa y la wifi de tu casa a portales en la nube para tener el registro (como Brewfather o Diyhomebrewers CLOUD).
  • Si donde elaboras no tienes suficiente se señal wifi, con BrewLora puedes enviar los registro de la fernentación hasta un lugar con wifi o donde desees verlo.
  • Como sistema de Backup, si se cae internet o la wifi podrás seguir viendo desde el repetidor los registros de tus gadgets* (dependiendo del gadget en cuestión y de la configuración que realices).

Antes de adentrarnos en el artículo os dejo un video del canal de Youtube [link!], para lo que prefieran ver que es y como funciona BrewLora en vídeo.

Pero lo primero…. ¿que es lora?

LoRa (Long Range) es una tecnología de comunicación inalámbrica diseñada para transmitir datos a larga distancia con muy bajo consumo de energía. Se utiliza principalmente en redes de sensores, IoT (Internet de las Cosas) y dispositivos que necesitan enviar pequeñas cantidades de información sin usar WiFi o datos móviles como en nuestro caso.

Características clave:

  • Largo alcance: hasta varios kilómetros en campo abierto.
  • Bajo consumo: ideal para dispositivos con batería.
  • Velocidad baja: perfecto para enviar datos pequeños (ej. temperatura, GPS, sensores).
  • Alta resistencia al ruido: funciona bien incluso con señales muy débiles.
  • Usa modulación de espectro ensanchado para mejorar la fiabilidad en entornos ruidosos.

Frecuencias permitidas:

Región / PaísBanda ISM LoRaFrecuencia típicaPotencia máx SIN duty cyclePotencia máx CON duty cycle (1%)Notas legales importantes
🇪🇺 EuropaEU868868 MHz14 dBm (25 mW)27 dBm EIRP (500 mW)Duty cycle obligatorio o uso de LBT+AFA para >14 dBm
🇺🇸 Estados UnidosUS915915 MHz30 dBm (1 W)No duty cycle obligatorio, pero sí restricciones por canal y dwell time
🇮🇳 IndiaIN865865–867 MHz30 dBm (1 W)Frecuencia dedicada a IoT, sin duty cycle estricto
🇧🇷 Brasil y LATAMBR915 / LA915902–928 MHz30 dBm (1 W)Varía por país, en general sin duty cycle estricto

Distancias aproximadas para LoRa (868/915 MHz)

EntornoSpreading Factor (SF)Antena estándarPotencia (dBm)Alcance típico
🏙 Ciudad densa (muchos edificios)SF12Básica (rubber duck)22300 – 800 m
🏘 Pueblo o suburbio (menos interferencias)SF12Básica221 – 2 km
🌳 Campo abierto (sin obstáculos)SF12Básica225 – 10 km
🌄 Línea de visión total (elevado a elevado)SF12Yagi / direccional2215 – 20+ km
🧱 Interior edificio (pisos diferentes)SF12Básica2250 – 150 m

Tambien tenemos que tener en cuenta la potencia a la que podemos emitir, ejemplo en Europa:

Potencia de transmisión¿Duty cycle obligatorio?¿Límite típico?
14 dBm o menos❌ No (bajo condiciones normales)Puedes transmitir libremente (según canal y tipo de red)
Más de 14 dBm (ej. 20–27 dBm)Sí, debes limitarte al 1% (salvo que uses LBT+AFA)Máx. 36 segundos/hora por canal

En resumen en condiciones normales a 14dBm no tenemos que preocuparnos, pero en dBm mayores tenemos que tener encuenta limitarte a enviar solo el 1% del tiempo, ¿y cuando es ese 1%?

Os dejo unas cuentas rapidas teniendo en cuenta el Spreading Factor que es lo que afecta sobre todo al tiempo en el que esta el mensaje en el «aire»

Spreading FactorTime On AirMensajes por hora (1% duty)
SF70.041 s878 mensajes/hora
SF80.072 s500 mensajes/hora
SF90.144 s250 mensajes/hora
SF100.288 s125 mensajes/hora
SF110.576 s62 mensajes/hora
SF120.991 s36 mensajes/hora

Como podéis leer, en resumen, es un dispositivo que consigue un gran alcance, con un bajo consumo y recursos, pero tiene sus connotaciones que debemos de tener en cuenta.

⚠️ Aviso legal: El uso de dispositivos LoRa debe realizarse bajo la responsabilidad del usuario, respetando siempre las normativas locales de telecomunicaciones. Las frecuencias, potencias permitidas y tiempos de transmisión (duty cycle) pueden variar según el país o región. Asegúrese de consultar la legislación aplicable antes de operar en una banda determinada. Este proyecto es de carácter educativo y no me responsabilizo por el uso incorrecto o ilegal que se pueda hacer del mismo.

¿Que necesitamos para montar BrewLora?

Dos placas ESP32 LoRa V3 868MHz 915MHz SX1262 pantalla OLED de 0,96 pulgadas BT WIFI (versión 3.2) [Aliexpress] [Amazon].

Estas placas ya las puedes comprar con una antena básica para probar, con carcasa incluida y con todo soldado, lo cual hace que no sea necesario montar ni soldar nada.

Opcional según la distancia que necesites podéis cambiar las antenas por una de mayor ganancia, las que vienen por defecto tienen 2dBi y o probar estas de 5.8dBi.

Antena aérea para interiores y exteriores, Cable de 3 M, 5.8dBi, 868MHz, 915MHz, Helio magnético, LoRa Miner SMA / RP-SMA macho {Aliexpress]
Con adaptador de SMA a IPX [Aliexpress]

Instalación Software BrewLora

Estas placas ya vienen preparadas para recibirlas, cargar el firmware y funcionar, pero siempre hay que tener algunas consideciones en cuenta.

La antena de estos dispositos es ed dBi, y omnidireccional (que emite y recibe señales en forma horizonal (como si fuera un «donut» alrededor de la antena. Entonces, habria que colocar ambas antenas de forma vertical para aprobechar mejor como emite (una horizontal y otra vertical reduce mucho su alcance).

– No la coloques en una superficie metálica y manten al meos 10-15 cm de espacio libre alrededor de la antena.

– Si es posible, coloca la antena en algun lugar alto, y si es en interor lejos de paredes gruesas o electrodomesticos grandes que puedan causar interferencias.

Siguiendo estas indicaciones, yo he conseguido emitir correctamente y que me funcione el escenario que yo necesito, entre mi emisor y receptor en unos 100 metros lineales, en ciudad dentro de un piso alto y un local con un edifico enmedio.

Pero se podria conseguir una mayor distancia en campo «libre», dependiendo de lo que tengas en medio o mejorando la señal con una antenas con mas ganancia:

Antena aérea para interiores y exteriores, Cable de 3 M, 5.8dBi, 868MHz, 915MHz, Helio magnético, LoRa Miner SMA / RP-SMA macho {Aliexpress]
Con adaptador de SMA a IPX [Aliexpress]

Igualmente cogerlo «con pinzas», ya variara mucho de lo que tengas ne medio entre tu emisor y receptor, y puedes tener unos datos peores que lo mios o mucho mejores, tener en cuenta que una señal mala puede no enviar los datos o que se pierdan algunos por el camino.

Instalación Software BrewLora

  • Programa de carga: Flash Download Tools [link!]
  • Firmware BrewLora [link!]

En el programa Flash Download Tools, selecciona la placa y puerto adecuado:
ChipType: ESP32-S3

WorkMode: Develop

LoadMode: UART

Secciona los ficheros y su dirección:
bootloader.bin -> 0x0000

partition.bin ->0x8000

firmware -> 0x10000
SPI SPEED: 80MHz.

SPI MODE: DIO

Seleccionar tu puerto y BAUD: 115200

Configuración inicial BrewLora

Una ver cargado los firmware ya sea Emisor o Receptor, al arrancarlos, nos aparecerá una wifi con su nombre «BrewLoraEmisor» o «BrewLoraReceptor».

Nos aparecerá una wifi con su nombre y contraseña: «Diyhomebrewers4».
Y una vez conectado podremos conectar mediante un navegador a traves de la ip:

http://192.168.1.4

Podremos configurar la wifi tanto en el Emisor como en el receptor, no es necesario para que funcione el envío entre ambos dispositivos, pero por ejemplo, si queremos enviar los datos desde el receptor, si ya recibimos desde un sitio con internet podremos hacerlo.

Una vez configurada (o dejado en modo AP), nos aparecera la IP que tendremos que usar para acceder por cualquier navegador:

Configuración parámetros LoRa

Tendreís que configurar los parametros de envío LoRa teniendo en cuenta vuestra Región.

Lo primero la clave de cifrado, deberan ser 16 letras y la misma en el emisor y el receptor:
por ejemplo: «laclavedecifrado»

El resto de parametros el mismo para ambos tanto emisor como para receptor, teniendo en cuenta las restricciones,, tanto de envio como de potencia.

Configuración Brew LoRa Emisor

Ademas de los dispositivos tenemos la opción de enviar el estado de la alimentación y de la Wifi de nuestro Emisor:

Recordar que podemos alimentar por baterías en estas placas a traves del conector de la parte de atras.

En Configuración de Recepciones podremos configurar los dispositivos desde los cuales queremos recibir información para enviarla por LoRa.


Recordar a la hora de configurar los parametrós la tabla de numero de envíos s teneis una potencia mayor a 22 dBm.

Tenemos el iSpindel. (artículos relacionados).

Rapt Pill. (artículos relacionados).

BrewKegLevel. (artículos relacionados).

BrewPressure. (artículos relacionados).

En resumen, todo lo necesario para supervisar una fermentación completa (temperatura, densidad, litros y presión).

Para el iSpindel, BrewPressure y BrewKegLevel simplemente tendremos que habilitarlo (poner si), y ponerle un nombre al dispositivo.

En el dispositivo tendremos que apuntar para BrewLora Emisor:

Con la IP de nuestro Emisor Brew LoRa.

El puerto: 80.

El Endpoint o topic:

En BrewKeglevel: /brewkeglevel

En iSpindel: /ispindel

En BrewPressure: /brewpressure

Para el RapPill es un poco diferente, ya que utiliza BLE para la transmisión, en el RaptPill simplemente tendremos activado el BLE.

Importante:

Hasta que no se activa la recepción del Rapt pill el BLE permanece desactivado, y una vez activado el webserver va dejando de estar disponible en el emisor (en el receptor no), esto es para reducir el consumo del BLE.

Con el BLE activado cada vez que inicie tu BrewLoraEmisor el web server estará disponible durante dos minutos, parara para buscar el rapt pill y después volverá a estar disponible.

Es importante poner el mimo tiempo entre escaneos (envíos del Rapt Pill), recomendable 15) y que sea el mismo tiempo en el Rapt Pill o múltiplos (que sea 15 o 5).

Si solo tenéis un Rapt Pill el apartado de MAC podeís dejarlo en «any» para qué encuentre cualquier píldora que encuentre, si tenéis más de uno podéis diferenciarlos por mac y solo encontrara y enviara los datos de ese Rapt Pill.

En Configuración del LoRa tendremos que añadir una clave de cifrado, tiene que ser de 16 caracteres y la misma en el emisor y el receptor (por ejemplo: «estoesunaclaveci»). ¿Para qué es esto? En resumen, para que se entiendan tu emisor y receptor sin recibir de otros LoRa’s que halla en el ambiente ni ellos puedan ver la info que envías.

Podremos elegir si enviar el estado de la Wifi y de la Alimentación y cada cuanto tiempo enviar el dato. Esto no servira para saber si se nos va la wifi, o si se nos va la luz (ya que nos enviara que se alimenta con baterías si las tiene instaladas).

Configuración Brew LoRa Receptor

En registro de datos podemos ver todos los datos recibidos y cuando fue la última vez:

Aunque veremos los datos en la pantalla sin necesidad de wifi o internet, en caso de tener wifi en el receptor podremos enviar los datos a diferentes servicios.

Donde podremos seleccionar los datos recibidos que queremos enviar (y el que el servicio los soporte).

Integración Brew LoRa con DiyHomebrewers CLOUD:

Como muchos ya sabréis esta web desde Abril de 2025, es también una plataforma de Gestión y Diseño de recetas e integración de Gadgets. Y podeis enviar los datos de vuestros gadgets a esta misma web para asociarlos a vuestras recetas y hacer un seguimento esteis donde esteis.

Crearemos el dispositivo como HubCloud, y le pondremos un nombre (importante tiene que ser el mismo que le pongamos a BrewLora)

Le pondremos la API generada y el mimsmo nombre a la configuración del BrewLora:

Seleccionaremos los gadgets configurados para enviar:

Y vincularemos nuestro BrewLora con alguna receta o sin receta si no queremos asociarlo a ninguna.

Y ya comenzaremos a recibir los datos de nuetro dispositivo:

Integración Brew LoRa con Brewfather:

Seleccionaremos los parámetros a enviar, Brewfather acepta litros, bares, temperatura y densidad, pero solo podemos seleccionar la temperatura y densidad de un hidrómetro a la vez (es decir con un Lora Receptor no podremos enviar de los dos dispositivos tendremos que seleccionar el que utilicemos en esa fermentación, o un iSpindel o un Rapt Pill.

Hay que aclarar que no es necesario enviar todos los parámetros solo los que queremos enviar.

Pondremos un nombre al dispositivo, activaremos con «Si» Y configuraremos un intervalo de tiempo (mínimo 15 min que son los que acepta Brewfather, intervalos menores no los recogerá)

– El ID lo sacaremos de nuestra cuenta de Brewfahter (hay que ser premium):

Y una vez configurado recibiremos los datos:

Logs y resolucion de programas de BrewLora

En ambos dispostivos esta preparado el log para ver registros de lo que esta ocurriendo y nos de ayuda en posibles resolución de errores:
para ello con un programa como el Putty podemos acceder al serie para ver lo que esta ocurriendo en todo momento en nuestros dispositivos:
Putty [link!]

Podemos ver información como si esta arrancando correctamente con la wifi, con el AP, si el envio se esta realizando bien por lora, o de los dispositivos al Emisor.

O si se esta recibiendo bien, o incluso enviando a los servicios de la nube:

Por ejemplo nos sirve para ver la señal RSSI y determinar si estamos recibiendo bien los datos según la distancia y potencia:
RSSI (Received Signal Strength Indicator) es como se mide la potencia de la señal recibida y se expresa en dBm. Valores comunes de RSSI en LoRa son:

RSSI (dBm)Calidad de señalDescripción
0 a -50 dBmExcelenteSeñal muy fuerte, muy buena calidad
-51 a -70 dBmBuenaSeñal fuerte, comunicación confiable
-71 a -90 dBmRegularAceptable, pero posible pérdida ocasional
-91 a -110 dBmPobreSeñal débil, posibles errores o pérdidas
< -110 dBmMuy pobreCasi sin señal, comunicación no confiable

6 comentarios

comments user
playu

Buenas tardes, lo primero felicidades por el trabajo que estas haciendo. Quisiera hacerte una consulta ya que estoy intentando bajar el firmware y parece que en la nueva versión 1.2.1 no veo que aparezca tanto en el emisor como receptor los archivos bootloader.bin, partition.bin y firmware, si me lo pudieras aclarar te lo agradecería.
Un saludo

    comments user
    diyhomebrewers

    Buenas tardes.

    Ya está reparado y tienes todos os ficheros, me había fallado la subida del update. Un saludo!y ya me contarás que tal te funciona y lo que necesites

      comments user
      playu

      Hola, gracias por la rapidez en contestar, ya instale los ficheros y parece que todo va bien, ¿lo podremos usar en un futuro con floaty pill (son los que tengo actualmente hechos con tu ayuda)o me tengo que hacer un ispindel o raptpill?.Gracias de nuevo por tu ayuda.
      Un saludo

        comments user
        diyhomebrewers

        Buenas, para eso estamos segun como tenga de tiempo me cuesta mas o menos. Si los tienes con el firmware de Gravitymon debería de funcionarte si lo tratas en BrewLora como un ispindel, es algo que aun no he validado por falta de tiempo, pero ambos envian con el mismo metodo y mismo mensaje POST, si lo pruebas me cuentas que tal te van. Un saludo

          comments user
          playu

          Buenas tardes, te comento que ya lo probé con el floaty pill y parece que funciona aunque todavía estoy en pruebas. Si me pudieras activar la beta de DIYHOMEBREWERSCLOUD para asociarlo y ver como va perfecto. Gracias y un saludo.

comments user
Andu

Magnificó trabajo, no lo conocía, me parece muy interesante y que tendré en mente en caso de necesidad de una situación de baja cobertura!
Muchas gracias por tu espectacular trabajo

Publicar comentario