Blog

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.

  1. Acceder a la plataforma web SenseCraft HMI. https://sensecraft.seeed.cc/hmi
  2. Registrar una cuenta y vincular el dispositivo a la red Wi-Fi local.
  3. Conectar la pantalla por cable al ordenador para actualizar el firmware a la última versión disponible.
  4. 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.

  1. Instalar el addon Puppet en Home Assistant y generar un token de larga duración.
  2. 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).
  3. 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:

https://openelab.io/products/seeed-studio-reterminal-e1002-full-color-epaper-display?_pos=1&_sid=bb66eb520&_ss=r&sca_ref=11556143.C8hy3N1SgXoSZDn&sca_source=Viajando

Tienda Seeed Studio:

https://www.seeedstudio.com/reTerminal-E1002-p-6533.html?utm_source=KOL&utm_medium=ViajandoenAutocaravana