Pill Repeater - Repetidor para el Rapt Pill de Kegland

 


 Dificultad: Fácil.

Tiempo aproximado: 2 horas.

Coste: 8 - 10€.

Utilidad: Muy Útil

 ¿Qué es el PillRepeater?

Ya hice en su día una review del hidrómetro de Kegland, Rapt Pill [link!], un hidrómetro el cual puede transferir sus datos de gravedad y temperatura por wifi hacia su portal [https://app.rapt.io], o mediante BLE (Bluetooth) hacia su propio termostato (KL22927).

 

Con este DIY buscaba poder aprovechar el hidrómetro si no tienes wifi donde elaboras o si quieres enviar los datos de tu fermentación a alguna integración propia o sin pasar por la web de app.rapt.io. En este caso lo haremos con un envío datos mediante BLE (Bluetooth) del Rapt Pill de Kegland al repetidor, y desde este podremos ver los datos si necesidad de señal wifi o enviarlo mediante wifi a algunas integraciones (si necesitáis alguna más dejarlo en los comentarios y lo revisamos).

También gracias a este repetidor, se solventan los problemas en caso de que tu fermentador corte demasiado la señal wifi de tu hidrómetro, ya que colocaríamos el repetidor encima del fermentador y el hidrómetro se comunicaría con el repetidor mediante BLE y desde el repetidor fuera del fermentador por wifi a las diferentes integraciones.

Aunque desarrollo en Castellano, en este gadget están disponibles los firmware por el momento tanto en Castellano como en Inglés.

 

Podeís ver tambíen un video del canal de Youtube [link!] sobre Pill Repeater:


Descripción de la pantalla PillRepeater

En cuanto encendemos el dispositivo ya una vez configurado nos aparecerá la IP (si tenemos configurada la red wifi) y que está esperando recibir datos del RAPT PILL.

Una vez reciba el primer dato nos cambia la pantalla donde veremos:

- Densidad (rojo).

- Temperatura (azul).

- Si añadimos mediante la configuración la densidad inicial (cuando se inicia una fermentación), nos aparecerá también el alcohol y la atenuación.

La batería aparece en porcentaje y en tres colores:
Si la batería está por encima del 60% en verde.
Si la batería está entre el 30% y el 60% en naranja.
Si la batería está por debajo del 30% en rojo. 
 

La pantalla se actualiza siempre cuando recibe un dato del RAPTPILL independientemente de las integraciones que tengamos configuradas.

En el cuadro de texto, nos aparecerán diferentes mensajes de advertencia, por ejemplo, si lleva 15 minutos sin recibir datos nos lo notifica.

 


 

Materiales necesarios para el PillRepeater

- Necesitaríamos un Wemos D1 mini ESP32 (Wifi y Bluetooth) CP2104.[Aliexpress] [Amazon] [Amazon USA].

Ojo es un Wemos D1 mini ESP32, pero no es el Wemos D1 mini más conocido, este es un poco más grande:


- Y una pantalla TFT de 1,77" ST7735 [Aliexpress] [Amazon] [Amazon USA*]

*En Amazon USA solo encontre la versión 1.8 debería de funcionar tambien aunque no creo que encaje la carcasa 3D y abria que adaptarla (si alguien la prueba prueba que lo deje en comentarios)

- Cables Dupont (hembra - hembra) 10cm: [Aliexpress] [Amazon] [Amazon USA]

Opcional:

- Tuerca de inserción M3 - 4mm [Aliexpress] [Amazon] [Amazon USA]

- Tornillo M3 - 6mm [Aliexpress] [Amazon]

Seguramente con algún otro ESP32 que ajusten las conexiones de los GPIOS debería funcionar, pero esta es la versión "oficial" sobre la que desarrolle el repetidor y la que recomiendo.

Y Logicamente una Pildora Rapt Pill [Aliexpress


Carcasa 3D para el PillRepeater

Puedes montarte tu propia carcasa con cualquier caja, pero diseñe una carcasa oficial para PillRepeater, la cual aloja los componentes necesarios para los componentes y sus conexiones. 

Thingiverse [link!]

En PLA, y relleno del 20 y sin necesidad de soportes.

Diseños 3D BrewPressure con Display:




 Montaje PillRepeater

El montaje es muy sencillo, simplemente tendremos que soldar los pines de la pantalla o del wemos en caso de que no lo compráramos con los pines soldados, y realizar las conexiones entra ambas según el esquema.


Del display al Wemos mini32:

GND - GND
VCC - 3.3V
 SCL - GPIO18 (SCK)
SDA - GPIO23 (MOSI)
RES - GPIO17
DC - GPIO22
CS - GPIO5 (CS)
BL - GPIO21

Para que quede un montaje fino, en este caso, lo diseñe de tal manera que podamos añadir unas tuercas para cerrar la tapa de atrás, estas tuercas simplemente tenemos que introducirlas con la punta de un soldador, de esta manera el PLA se derretirá dando forma al orificio de la tuerca y quedará sellada.


 
Puedes soldar los cables entre la pantalla y el esp32 o los pines y conectar con cables dupont entre ambos.
Colocaremos la pantalla en la carcasa encajando en los agujeros del propio display y fijaremos con silicona si queremos que sea más estable:
 
 
 
Con los cables en el extremo de la pantalla colocados, colocamos el lado del esp32 según el esquema.

 
Colocamos el esp32 en las ranuras para que no se mueva.

 
 Y cerramos la tapa trasera.



 
 

Instalación Software de PillRepeater

Software necesario (Windows):
ESP-GUI_Flasher [link!]
PillRepeater [1.0.0.9 PillRepeater ES]

1.- Abrir ESP-GUI_Flasher y flashear nuestra placa con las opciones remarcadas, el firmware elegido y los archivos bootloader y partitions:
bootloader.bin en "Bootloader".
partitions.bin en "Partition".
PillRepeaterX_X_X_X.bin en "Aplication".
-Seleccionaremos el puerto que nos aparezca una vez conectado el usb de la placa al PC.
- Baud rate: 921600.
-el COM de nuestroESP
- Y 4MB.
 
Pulsaremos en Flash y esperaremos a que termine
 
 

Configuración Pill Repeater

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

Con la contraseña: "Diyhomebrewers2"


Si queremos configurar la wifi (no es necesario para recibir datos), accederemos a la IP:

http://192.168.4.1/


Accedemos al apartado "Configurar Wifi":

y añadiremos la SSID y contraseña de nuestra Wifi:

 

Una vez se reinicie, ya podremos acceder a la red Wifi por la IP que nos aparece en el Display de PillRepeater.

Encender el Rapt Pill con el cable de carga usb tipo C puesto, (ver video parpadeos)

Accederemos al Rapt Pill para configurar el envío de datos por Bluetooth.

Aparecerá una wifi con el nombre "RAPT Pill XXXX"

La contraseña de la wifi será: kegland1

Accederemos al apartado de configuración, y seleccionaremos el envío de datos por Bluetooth y tiempo de intervalo de datos:


Se recomienda un intervalo de datos de 5 minutos, por defecto viene en un minuto. Pero tener en cuenta que a mayor tiempo de intervalo de datos, la batería durara mucho más.

Además, en el PillRepeater el webserver (el acceso a la configuración por web para configurar las integraciones), está disponible desde que encendemos el PillRepeater hasta recibir el primer dato por Bluetooth, si lo tenemos en un minuto no tendremos tiempo de configurarlo, a partir del primer dato recibido el webserver para bajar la carga de la aplicación entra en modo reposo y solo se enciende en intervalos cortos de tiempo entre envíos de datos o tras un reinicio, pero la mayoría del tiempo permanece dormido.

Actualmente, Pill Repeater está preparado para recibir los datos y publicarlos de una sola píldora Rapt Pill. 

Si solo tenéis una píldora, acceder a la página envió de datos del Pill Repeater y en el campo "Dirección MAC", poner "any".

Con esto recibiréis todos los datos de dispositivos RAPT PILL (al solo tener uno, pues logicamente solo de uno), si tenéis más de un Rapt Pill habría que tener actualmente diferentes Pill Repeater, y para asociar cada píldora a cada repetidor lo haremos introduciendo en ese mismo campo la MAC:

 

En mi caso, la MAC que aparecía en la configuración del Rapt Pill, era diferente de la real, pero desde rl serie de Pill Repeater, si lo ponemos en any veremos todas las MAC de dispositivos Rapt Pill y podemos obtenerla:


 

Integraciones PillRepeater

Las integraciones es la mejor parte de Pill Repeater, ya que aparte de poder ver los datos en la pantalla, podemos realizar diferentes integraciones y según cuál podremos configurarla, tengamos internet o no.
 
- Mediante MQTT: CraftBeerPi [link!], Brewblox [link!], Home Assistant [link!]...
- Mediante HTTP: (Ejemplo BrewSpy).
- Integración con Brewfather.
 
Pongo ejemplos de configuración que he ido probando, pero podéis probar vuestras propias integraciones o dejarme en comentarios si necesitáis alguna que pueda actualizar.
 

Pill Repeater con CraftBeerPi (Rapt Pill con CraftBeerPi)

*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 Pill Repeater 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: sensordata/raptpill

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

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

Nos conectaremos al servidor MQTT de CraftBeerPi: 

Y podremos ver si recibimos los datos correctamente:

Nos crearemos los datos que queremos recibir del RAPT PILL cada uno como un nuevo sensor, dentro de Hardware > Sensor:

 

Los crearemos como sensor: MQTT Sensor y con el Topic, y el nombre del dato:




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

 

Si queremos borrar la integración, simplemente borraremos los datos de la conexión con el servidor MQTT o pondremos "Servidor MQTT IP:" en valor "0" y dejará de enviar datos por MQTT.

 

Pill Repeater con BrewBlox (Rapt Pill con Brewblox)

*Para ver el dato en el Dashboard es imprescindible actualizar a partir del Release: 2022/09/21. Ver como realizar actualización de BrewBlox si es necesario [link!]

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

Le pondremos de nombre de dispositivo "Brewblox".

Añadiremos las credenciales de nuestra instalación de brewblox:

Servidor MQTT IP: la_ip_de_vuestro_Brewblox.

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

Tema (Topic): brewcast/history/

 


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

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

Y podremos ver si recibimos los datos correctamente:

 

O mediante el serie de Pill Repeater:


En tu instalación de Brewblox editas tu Dashboard:


Añades un nuevo elemento > Display:metrics:

Y seleccionas los datos que quieres que aparezcan, en el caso de la prueba "Gravity" y "Temp":

 


 
 

Pill Repeater con Brewfather (Rapt Pill con Brewfather)

La integración con Brewfather es de las más sencillas, aunque necesitaremos contar con cuenta Premium [link!] .

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

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

Lo añadiremos en el apartado de envío de datos de "Pill Repeater" 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:


 Y ya podremos asociarlo a la fermentación de un lote:

Si queremos borrar la integración, simplemente borraremos los datos de la conexión con Brewfather o pondremos "ID personal de Brewfather:" en valor "0" y dejará de enviar datos a Brewfather.


Tener en cuenta que esta integración envía los datos desde el repetidor "Pill Repeater" a Brewfather [link!] sin pasar por el portal de RAPT: https://app.rapt.io/

También podéis configurarlo a través del portal:


Pill Repeater con BrewSpy (HTTP) (Rapt Pill con BrewSpy)

Mediante HTTP podremos enviar a varios servicios como en el caso del Ejemplo a BrewSpy, una de las aplicaciones móviles más extendidas para ver los datos de los hidrómetros de cerveza.

- Desde la app de BrewSpy nos crearemos un nuevo dispositivo "Custom":

y apuntaremos los datos de conexión:

Editaremos los nombres de los datos como vienen del Pill Repeater:
battery: battery
gravity: gravity
temperature: temperature


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

 
Y añadiremos la URL que nos da BrewSpy y el token:


 Recibiremos el dato cada 10 minutos:
 
 
Tener en cuenta que esta integración envía los datos desde el repetidor "Pill Repeater" a BrewSpy sin pasar por el portal de RAPT: https://app.rapt.io/

También podéis configurarlo a través del portal:
*A cambiado un poco la visualización de portal, ya que se actualizó, pero los pasos son los mismos.
 
 
 
 

Solución de problemas PillRepeater

PillRepeater ha sido un proyecto realizado desde cero por diyhomebrewers, tanto el diseño del gadget, componentes, carcasa 3D... hasta toda la programación del gadget, entorno web, integraciones...

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 PillRepeater 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 Pill Repeater 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...

- Payload recibido y Mac del dispositivo...

Ire añadiendo errores que me reportan y sus soluciones:

- ¿No conecto con PillRepeater mediante el modo AP?

Solución: Conectar desde un PC, a menudo conectar con una red wifi sin acceso a internet como es el punto de acceso de configuración de PillRepeater desde un movil hace que el movil no conecte o se desconecte al no detectar salida a internet.

Github [link!] 

Publicar un comentario

0 Comentarios