BrewKegLevel - Control de barriles de cerveza DIY

 

En su día ya monte mi propio sistema de gestión de barriles (peso, temperatura, humedad y C02) [link!]. 

En este caso podríamos hablar de una actualización de dicho sistema, aunque realmente está diseñado prácticamente desde cero de nuevo, con todo lo aprendido durante este tiempo desarrollando y montando equipos para homebrewers para hacerlo más facil de montar, de configurar y mucho más compatible.

 

¿Qué es el BrewKegLevel?

 Con "BrewKegLevel", podemos controlar los litros que quedan en nuestra cerveza, y la temperatura y humedad de nuestro "Kegerator" ¿Qué tiene de diferente con la anterior versión? En resumen, mucho más facil de utilizar,más preciso, más cómodo y muchas más integraciones.

 

Ahora no tendremos que montar el dispositivo y con un programa de código como "Arduino" ir configurando los parámetros, sino que una vez montado nuestro dispositivo la cargaremos el firmware de BrewKegLevel (disponible en Castellano y en Ingles) y desde una interfaz web sencilla podremos configurar y ver los datos de nuestros barriles.

Podremos ver los datos de nuestros barriles mediante la interfaz web, o en algunas de las múltiples opciones de integraciones. 

Actualmente:

- Firmware disponible en Castellano y en Ingles.

- Mediante MQTT: A sistemas como Home Assistant [link!], CraftBeerPi [link!] o BrewBlox [link!].

- Otras como pizarras online de cervezas [link!], por el momento BarHelper.

- Incluso Brewfather [link!]. 

Y si termino de diseñarlo, un propio dispositivo de pantalla táctil que podrás colocar al lado del grifo para ir viendo en directo los datos de tus barriles. (Lo podemos ver en el vídeo de Youtube):


Con tantas integraciones, podremos ver los datos casi en cualquier escenario, de forma remota, o en local si no tenemos internet.

Tenéis un video en el canal de YouTube [link!], con mas info sobre BrewKegLevel:

 

Materiales necesarios para el BrewKegLevel

Wemos D1 Mini: [Aliexpress]  [Amazon]

Opcional D1 Mini PRO 16 MB [Aliexpress]

Cables GPIO. Cables Dupont [Aliexpress] [Amazon]

(Opcional) Sensor de temperatura y humedad:
DHT22 (con resistencia incluida) [Aliexpress] [Amazon]

Sensor de peso:
Sensores de peso de celda (4x50Kg) + Módulo HX711 [Aliexpress] [Amazon]

Base de nuestro control de Barriles. 
Aquí puedes desarrollar todo tu ingenio DIY, este proyecto la primera vez hace años lo hice con una de madera, pasado por otra de metacrilato para acabar utilizando una adaptada de otro proyecto de impresión 3D. Os dejo en enlace a los archivos.
 
Opción "brazaletes" para los sensores. Autor: patrick3345 [link!] - de forma que los puedes adaptar a una madera o superficie plana. 
[RECOMENDADA] Opción "Donut" Callwater. Autor: Johan Chrille Strömstedt [link!]
Opción "Disco" Beerculator. Autor: Oskar Virtanen [link!]


Sea cual sea la base que escojáis para vuestro Control de Barriles DIY, tenéis que asegurar la mayor estanqueidad posible de los circuitos y de la conexión, ya que está destinado a estar dentro de una nevera "kegerator".

Esquema General de montaje de BrewKegLevel:

 

 
 
 
5V - 5V (Rojo)
GND - GND (Negro)
A0 - Amarillo
 
Conexiones del módulo HX711 al Wemos:
5V - 5V
GND -GND
RX (GPIO 21)
D4 (GPIO 17)

Colocación de las Sondas de presión (4 células):

Sonda (E+) negro - Sonda (A+) Negro.
Sonda (E+) blanco - sonda (A-) blanco.
Sonda (E+) rojo - E+ módulo HX711.
Sonda (A-) negro - Sonda (E-) negro.
Sonda (A-) rojo - (A- )módulo HX711.
Sonda (A+) blanco- Sonda (E-) blanco.
Sonda (A+) rojo - (A+) módulo HX711.
Sonda (E-) rojo - (E-) módulo HX711.


 Colocación de las Sondas de presión (2 células):

Blancos - (E+) módulo HX711.
Negros - (E-) módulo HX711.
Rojo sonda 1 - (A-) módulo HX711.
Rojo sonda 2 - (A+) módulo HX711.

 

Montaje de BrewKegLevel:

El montaje es muy simular al anterior modelo, con la salvedad que actualmente no tiene sensor de C02 (para eso ya tenemos la anterior versión y BrewPressure [link!])

Soldaremos los pines del módulo HX711:

 

 

Soldaremos pines para poder colocar los dupont en la placa wemos D1 mini también podéis soldar los cables directamente, pero así se me hacía más cómodo.

Con silicona colocaremos las celdas de carga cada una en su lugar.


Soldaremos los pines del sensor de humedad y temperatura.

E iremos soldando las conexiones de las celdas entre si y hacua el modulo hx711.




Y ensamblaremos todo de forma ordenada.


Por último, como va a ir dentro de una nevera, tenemos dos opciones para conservar correctamente BrewKegLevel, o mediante una base externa que eleva el dispositivo.

O cubriendo toda la electrónica con epoxi para sellarlo entero.

Pautas:

- Proteger con anterioridad el conector de alimentación y configuración.

 - Probar el dispositivo antes de sellarlo, ya que no podremos volver a tocar las conexiones.

- dejar secar el epoxi el tiempo suficiente antes de encenderlo de nuevo.


Si aprovechamos damos una capa "barniz" con epoxi a todo el dispositivo para hacer estanco el PLA y por tanto mucho mas duradero.

Instalación Software de BrewKegLevel.

Software necesario (Windows):
NodeMCU-PyFlasher [link!]
BrewKegLevel ES[1.0.0.4 Stable]
BrewKegLevel EN[1.0.0.4 Stable]


1.- Abrir NodeMCU-PyFlasher y flashear nuestra placa con las opciones remarcadas y el firmware elegido según el tamaño de nuestro display:
-Seleccionaremos el puerto que nos aparezca una vez conectado el usb de la placa al PC.
- Baud rate: 921600.
- Flash mode: DIO

- Erase flash: yes, para borrar si la placa tenía algún contenido anterior. 


 

Pulsaremos en Flash NodeMCU y esperaremos a que termine:

Una vez reiniciada la placa, accederemos a la red Wifi que nos aparece como "PillRepeater".

Con la contraseña: "Diyhomebrewers3"

 


Si queremos configurar la wifi, accederemos a la IP:

http://192.168.4.1/

Y accederemos al apartado de configuración de la wifi:

 

Donde añadiremos el SSID y contraseña de nuestra Wifi:


 


Para acceder a la configuración web.

Accederemos con el Putty [link!]

Configuraremos el puerto COM y accederemos:

 

Con esto podemos ver el log de BrewKegLevel y nos mostrara entra varias cosas, la IP de nuestro dispositivo dentro de nuestra red:

 

Calibrado BrewKegLevel.

Entraremos al menú de calibrado desde la interfaz web:

 


Pondremos los valores a "0" para empezar a ver datos desde el puerto com:

Una vez en cero, pondremos un peso conocido, por ejemplo, 5L, y apuntaremos el valor obtenido cuando sea más estable o una media de los últimos 5 valores:


En mi caso: 107855.

Esta numeración la dividiremos por el número de litros, 5 en el ejemplo. 

De forma que 107855/5 =  21571.

Mi factor de calibrado es = 21598.

Lo añadiremos a la configuración:

Y nos aparecerá el valor residual que tendremos que restar a la tara por peso del propio dispositivo:

Este valor lo restaremos en la tara:

 

Y ya tendremos el dispositivo calibrado:


Si volvemos a añadir el peso conocido del ejemplo veremos que ya nos marca correctamente:


 Cuanto más metódicos seáis en este proceso, más exacto será vuestro BrewKegLevel.

Por último, solo quedaría antes de usar, en Peso del barril, apuntar el peso del barril vacío:


Integraciones BrewKegLevel.

La intención de BrewKegLevel, es que sea compatible con la mayoría de sistemas de control de barriles, por el momento es compatible con Brewfather, MQTT para por ejemplo Brewblox, CraftBeerPi, Home Assistant y sistemas de pizarras online como barHelper.

Pongo en detalle tres integraciones, en diferentes escenarios posibles, pero está habilitado para más, no obstante si necesitáis alguna integración nueva dejarlo en los comentarios.

 

BrewKegLevel con CraftBeerPi

Una integración disponible gracias a que funciona con MQTT es CraftBeerPi, el sistema unificado DIY de elaboración [link!], me encanta esta integración, ya que es una manera de tener controlado tus grifos sin depender de terceros ni de internet.

Puedes añadir los barriles a tu instalación de CraftBeerPi o crear una instalación simple de CraftBeerPi en una Raspberry para ver tus barriles en un monitor, el móvil o pantalla táctil de forma local.

*Ver la instalación de CraftBeerPi 4 antes si quieres ver que es este sistema unificado de elaboración de cerveza [link!]

Prepararemos CraftBeerPi 4 para recibir datos por MQTT y poder crear nuestros sensores MQTT

1.- Instalación Mosquito MQTT:

En el servidor de CraftBeerPi

sudo apt-get install mosquitto

*Si falla actualizar antes:

sudo apt-get update
sudo apt-get upgrade


Activar sin autentificación:

sudo nano /etc/mosquitto/mosquitto.conf

Añadiendo las líneas: 

allow anonymous true
port 1883

  

 

 Editar el config.yaml de craftbeerpi para activar mqtt en CraftBeerPi:



Reiniciamos la RaspberryPi ya nos aparecerá para crear MQTTSensor

Accederemos de nuevo a la dirección IP de nuestro BrewKegLevel y entraremos en el apartado de Envío de datos:

 

Añadiremos los datos de nuestro Servidor MQTT de CraftBeerPi.

Servidor MQTT IP: la_ip_de_vuestro_CraftBeerPi.

Puerto MQTT: 1883 (por defecto si no lo habéis cambiado).

Tema (Topic). "el que queráis".

En mi caso los ordeno porque tengo más como: sensordata/BrewKegLevel1/Liters



Con aplicaciones como MQTT-Explorer, puedes comprobar si se están enviando correctamente:

-Actualmente, la medición se envía cada 30 segundos. 

Nos conectaremos al servidor MQTT de CraftBeerPi:

Nos crearemos el nuevo sensor en nuestra instalación, dentro de Hardware > Sensor:

 

 
Lo crearemos como sensor: MQTT Sensor y con el Topic que definimos anteriormente:

 

Con esto ya podremos trabajar con el cómo incluirlo en nuestro Dashboard:


 

BrewKegLevel con Brewfather 

La integración con Brewfather es de las más sencillas, aunque necesitaremos contar con cuenta Premium [link!]. Nos servirá para ver los litros si usamos Brewfather como gestor de nuestra cervecería.

Entraremos en el apartado de configuración > Potenciadores y activaremos "Steam Personalizado"

Nos aparece un enlace donde tendremos que copiar nuestro ID (solo lo que hay después de "id=")

http://log.brewfather.net/stream?id=XXXXXXXXXXXXXX

Lo añadiremos en el apartado de envío de datos ONLINE de "BrewKegLevel" junto con el nombre que queramos que nos aparezca en Brewfather como nombre del dispositivo, y le daremos a guardar:


En cuanto pasen 15 minutos como máximo que es el tiempo de envío de datos de Brewfather nos aparece un nuevo dispositivo:

 


 Si queremos borrar la integración, simplemente borraremos los datos de la conexión con Brewfather.

 
 
BrewKegLevel con BarHelper
 
En su día ya probamos BarHelper una pizarra online [link!], con BrewKegLevel podemos tener nuestra pizarra con los valores reales del contenido de nuestro barriles y visualizarlos en un monitor, televisor, incluso desde fuera de casa.

Al ser un sistema en la nube, el dato se envía cada segundo a partir de que la diferencia del último dato enviado sea mayor a 0.1 litro.

Deberemos tener cuenta premium en barhelper [link!]

 Desde Settings copiaremos nuestra clave API:


E Iremos al apartado de envío de datos ONLINE desde la interfaz web de BrewKegLevel:

 

 Y añadiremos la API y un nombre para el dispositivo:


Añadiremos el dispositivo con el mismo nombre en Settings + Customs Keg Monitors:


Y ya podremos añadirlo a nuestro grifo:


A partir de aquí ya podemos ver los datos desde nuestra pizarra, home o en el barril asignado al grifo:

 
BrewKegLevel con Talist
 
Otra pizarra Online con la que podemos tener el contenido de nuestros barriles con BrewKegLevel es taplist [link!

Al ser un sistema en la nube, el dato se envía cada diez segundos.   

 
Apuntaremos el nombre de nuestra cuenta:

Iremos a nuestra cuenta > integraciones > API:
 
Y nos crearemos una clave API:

Iremos al apartado de envío de datos ONLINE desde la interfaz web de BrewKegLevel:


 
Y pondremos los datos obtenidos:
- nuestro nombre de usuario.
- numero de grifo (de nuestra pizarra donde tengamos barril asignado).
- Total de litros de nuestro barril inicial.
- nuestra clave API generada.


 A partir de este momento empezaremos a recibir en nuestro perfil, el valor inicial de nuestro barril y el valor actual del barril:


 

Solución de problemas BrewKegLevel

BrewKegLevel ha sido un proyecto realizado por diyhomebrewers, tanto el diseño del gadget,

Si tenéis algún problema, dejármelo en los comentarios, escribirme por correo (diyhomebrewers@gmail.com) o podéis hacerlo de una manera más directa desde el grupo de Discord [link!]

El log del BrewKegLevel está abierto y configurado para mostrar toda la información posible para la resolución de errores:

Conectar el microUSB del Wemos (el puerto de configuración, no el de carga), al PC.

 

Accederemos con el Putty [link!]

Configuraremos el puerto COM y accederemos:

 

Con esto podemos ver el log de BrewKegLevel y nos mostrará más información que nos puede servir de ayuda en caso de algún error:

- Las direcciones de memoria de la EPROM.

- los datos guardados correctamente de la wifi, conexiones... Si se ven se mantienen con el reinicio del wemos.

- Datos de conexión a los diferentes servicios, Brewfather, MQTT...



 Github [link!]

Publicar un comentario

5 Comentarios

  1. ¿Puede que el código no esté subido en Github? Me gustaría portarlo al ESP32 y probar el gadget!
    Saludos

    ResponderEliminar
    Respuestas
    1. Actualmente solo está disponible para esp8266, ya que era suficiente para este proyecto. Saludos!

      Eliminar
  2. Muy bueno el artículo. Había dejado inconcluso el prototipo anterior y ya empecé con este. Pude configurar, me falta asegurar los cables y plaquetas. Lo que si, conecté un DHT11 (no tenía 22) y no me lee ni temperatura ni humedad. Lo hice con una resistencia pull-up. Puede ser que se trate del código?

    ResponderEliminar
    Respuestas
    1. Buenas. No tengo claro que funcione una dht11, la librería que utilice es específica para el dht22. Un Saludo

      Eliminar
  3. Hola Daniel

    ¿se incorporará en un futuro el sensor de presión en barriles? Había comenzado a realizar el anterior proyecto que lo incluía y lo dejé inconcluso. Con este nuevo post me logré sacarlo adelante tal cual lo indicaste. Esa función era interesante.

    Por otro lado, quería hacerte un comentario sobre el artículo, en un lado menciona "- Baud rate: 921600" pero debería decir 115200, en la imagen se encuentra bien.

    Saludos y gracias por tus aportes

    ResponderEliminar