ANÁLISIS DE SEEED RETERMINAL E100
Pantalla de Tinta Electrónica para tu Autocaravana
La pantalla de tinta electrónica reTerminal E1002 de Seeed Studio, distribuida por OpenELAB, permite la visualización de paneles domóticos con ultra bajo consumo. Es un dispositivo de 7 pulgadas a color diseñado para funcionar con batería durante periodos prolongados, eliminando la necesidad de cableado permanente.
Hardware Integrado
- Microcontrolador: ESP32-S3.
- Conectividad: Wi-Fi y Bluetooth.
- Periféricos: Altavoz, micrófono, ranura microSD, sensor de temperatura y humedad interno.
- Soporte: Pieza impresa en 3D para instalación en superficie.
Método 1: SenseCraft HMI (Plataforma Nativa)
Implementación directa sin infraestructura domótica externa.
- Acceder a la plataforma web SenseCraft HMI. https://sensecraft.seeed.cc/hmi
- Registrar una cuenta y vincular el dispositivo a la red Wi-Fi local.
- Conectar la pantalla por cable al ordenador para actualizar el firmware a la última versión disponible.
- Seleccionar y desplegar un panel preconfigurado desde la web. La pantalla mostrará los datos en la nube junto con la lectura local de su sensor interno de temperatura y humedad.
Método 2: Integración con ESPHome
Conexión directa con Home Assistant mediante firmware personalizado. Requiere configurar un dispositivo ESP32-S3 en ESPHome Builder e importar las entidades necesarias.
Código completo para la lectura de telemetría:
YAML
esphome:
name: e1002
friendly_name: Pantalla eInk
on_boot:
priority: 600
then:
- output.turn_on: bsp_battery_enable
esp32:
variant: esp32s3
framework:
type: esp-idf
wifi:
ssid: "TU_RED_WIFI"
password: "TU_PASSWORD"
time:
- platform: homeassistant
id: sntp_time
output:
- platform: gpio
pin: GPIO21
id: bsp_battery_enable
spi:
clk_pin: GPIO7
mosi_pin: GPIO9
font:
- file: "gfonts://Inter@700"
id: font_title
size: 28
- file: "gfonts://Inter@400"
id: font_data
size: 20
display:
- platform: epaper_spi
id: epaper_display
model: Seeed-reTerminal-E1002
update_interval: 300s
full_update_every: 12
lambda: |-
it.print(10, 10, id(font_title), Color::BLACK, "Telemetría Autocaravana");
if (id(temp_salon).has_state()) {
it.printf(10, 90, id(font_data), Color::BLACK, "Salón: %.1f °C", id(temp_salon).state);
} else {
it.print(10, 90, id(font_data), Color::BLACK, "Salón: N/D");
}
if (id(estado_puerta).has_state()) {
if (id(estado_puerta).state) {
it.print(10, 230, id(font_data), Color::BLACK, "Puerta: Abierta");
} else {
it.print(10, 230, id(font_data), Color::BLACK, "Puerta: Cerrada");
}
}
sensor:
- platform: homeassistant
id: temp_salon
entity_id: sensor.tu_sensor_temperatura_salon
internal: true
binary_sensor:
- platform: homeassistant
id: estado_puerta
entity_id: binary_sensor.tu_sensor_puerta
internal: true
Método 3: Renderizado a Color con Puppet en Home Assistant
Transmisión de instantáneas completas de un panel de Home Assistant hacia la pantalla para explotar el espectro de color. La integración Puppet genera la imagen y el ESP32 la descarga.
- Instalar el addon Puppet en Home Assistant y generar un token de larga duración.
- Crear un panel en Home Assistant adaptado a la resolución de la pantalla (se recomienda el uso de button-card vía HACS para el diseño de la interfaz).
- Insertar la URL generada por Puppet en el nodo online_image de la configuración de ESPHome.
Es imperativo habilitar la memoria PSRAM del ESP32-S3 para procesar la descarga de imágenes.
Código completo para la configuración visual y asignación de botones físicos:
YAML
esp32:
variant: esp32s3
framework:
type: esp-idf
sdkconfig_options:
CONFIG_ESP32S3_SPIRAM_SUPPORT: "y"
CONFIG_SPIRAM: "y"
CONFIG_SPIRAM_MODE_OCT: "y"
CONFIG_SPIRAM_SPEED_80M: "y"
psram:
mode: octal
speed: 80MHz
online_image:
- url: "http://IP_DE_TU_HA:10000/lovelace/tu_panel?viewport=800x480&lang=es&eink=3"
format: PNG
type: RGB
id: puppet_epaper1
update_interval: 900s
on_download_finished:
then:
- component.update: epaper_display
display:
- platform: epaper_spi
id: epaper_display
model: Seeed-reTerminal-E1002
update_interval: never
full_update_every: 6
lambda: |-
it.image(0, 0, id(puppet_epaper1));
binary_sensor:
- platform: gpio
pin:
number: GPIO3
mode: INPUT_PULLUP
inverted: true
name: "Botón Verde"
on_press:
then:
- component.update: puppet_epaper1
Mantenimiento de Firmware: La aplicación de perfiles agresivos de Deep Sleep para ahorro energético limita la ventana de conexión inalámbrica. La actualización vía OTA solo se ejecutará si se lanza en el momento exacto en que el procesador despierta. Para garantizar la escritura del firmware, se debe realizar la actualización mediante conexión por cable.
Experiencia real con Tinta Electrónica
El hardware e-ink presenta una latencia de refresco estructural. El ciclo completo (despertar del Deep Sleep, carga de datos y repintado del panel) requiere un promedio de 20 segundos.
- Uso indicado: Monitorización de variables estables. Gráficas de temperatura, pronósticos meteorológicos, niveles de batería, capacidad de gas o calendarios.
- Uso contraindicado: Visualización de datos de alta frecuencia temporal. La integración de relojes con segundero o animaciones forzará un refresco constante, provocando parpadeo continuo y el agotamiento prematuro de la batería.
Enlaces de Interés
Tienda OpenELAB:
Tienda Seeed Studio: