¿ Qué es TASMOTA ?

TASMOTA es un firmware de código abierto utilizado en dispositivos electrónicos basados en ESP8266 y ESP32, como los enchufes inteligentes, interruptores de luz, sensores, entre otros. Este firmware permite que estos dispositivos sean controlados a través de la red local o de forma remota a través de la nube.

TASMOTA se basa en el lenguaje de programación C++ y ofrece una amplia gama de funciones y características, incluyendo la capacidad de conectarse a diferentes protocolos de automatización del hogar, como MQTT, Alexa, Google Home, entre otros. Con esta integración, los usuarios pueden controlar sus dispositivos inteligentes utilizando sus dispositivos móviles o de voz.

El firmware también ofrece la capacidad de personalización, permitiendo a los usuarios modificar y actualizar el código fuente para satisfacer sus necesidades específicas. Además, TASMOTA es compatible con diferentes plataformas y sistemas operativos, incluyendo Windows, Linux, macOS, entre otros.

Una de las principales ventajas de TASMOTA es su facilidad de uso, ya que se puede instalar en dispositivos electrónicos sin necesidad de conocimientos avanzados en programación o electrónica. Para instalar el firmware en un dispositivo, es necesario seguir unos sencillos pasos y utilizar herramientas de software disponibles en línea.

Además, TASMOTA es una solución económica, ya que permite a los usuarios actualizar dispositivos electrónicos de bajo costo y convertirlos en dispositivos inteligentes con funcionalidades avanzadas.

En resumen, TASMOTA es una herramienta valiosa para los amantes de la automatización del hogar y la tecnología inteligente. Con su amplia gama de funciones, personalización y compatibilidad, TASMOTA permite a los usuarios controlar y monitorear sus dispositivos electrónicos desde cualquier lugar y en cualquier momento, lo que mejora la eficiencia y comodidad en sus hogares o negocios.

¿ Como usar el Firmware de Tasmota ?

Tasmota es un firmware de código abierto que permite controlar dispositivos electrónicos, como interruptores, enchufes, sensores y luces, de forma remota a través de Internet. Se puede utilizar con hardware de terceros, como el módulo ESP8266 y ESP32, para crear dispositivos inteligentes con capacidades de automatización.

El funcionamiento de Tasmota se basa en la programación de un microcontrolador para que se comunique con el hardware en cuestión y permita controlarlo mediante comandos específicos. Los dispositivos compatibles con Tasmota se pueden configurar para conectarlos a una red Wi-Fi y controlarlos desde un dispositivo móvil, una computadora o cualquier otro dispositivo que tenga acceso a Internet.

Tasmota utiliza un lenguaje de programación propio que permite personalizar y ampliar sus funcionalidades. Los usuarios pueden crear sus propios códigos y adaptarlos a sus necesidades, lo que los hace muy útiles para proyectos DIY o de automatización de hogares o negocios.

Un ejemplo de código para el firmware de nuestros módulos KC868 es el siguiente:

1 rule1 on switch1#state=1 do publish cmnd/kincony/relay/1 1 endon
2 rule1 on switch1#state=0 do publish cmnd/kincony/relay/1 0 endon

https://zammled.com/product/a8-placa-de-desarrollo-wifi-esp32/

Este código permite controlar un relé del dispositivo KC868 a través de un interruptor conectado al dispositivo. Cuando el interruptor se enciende, se publica un mensaje en el canal cmnd/kc868/relay/1 que activa el relé, y cuando el interruptor se apaga, se publica un mensaje que lo desactiva.

¡TASMOTIZER la herramienta!
Tasmotizer es una herramienta de escritorio gratuita y de código abierto que facilita la instalación y configuración de firmware Tasmota en dispositivos IoT basados en ESP8266 y ESP32. Fue diseñada para simplificar el proceso de flasheo y configuración de dispositivos inteligentes, como enchufes inteligentes, interruptores, luces, sensores y otros dispositivos electrónicos.

Una herramienta de escritorio que no te puede faltar. Aquí te explicamos un poco más sobre esta herramienta, clica aquí “TASMOTIZER
Para descargar esta herramienta tan poderosa, clica aquí en la “HERRAMIENTA

Aquí otro ejemplo de código para el firmware de Tasmota y el módulo ESP32:
Configuración para el ESP32:

{“NAME”:”KC868-A8″,”GPIO”:[32,0,1120,0,640,608,0,0,0,1,1,1152,0,0,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1],”FLAG”:0,”BASE”:1,”CMND”:”EthClockMode 3 | EthAddress 0 | EthType 0 | I2CDriver2 1″}

Utilice el puerto mini USB para flashear el dispositivo.

Para crear un archivo binario con soporte para todas las características, agregue lo siguiente user_config_override.h:

#ifndef USE_I2C
#define USE_I2C // I2C utilizando la biblioteca wire (+10k código, 0k2 memoria, 124 iram)
#endif

#define USE_PCF8574 // [I2cDriver2] Habilitar el expansor de E/S PCF8574 (direcciones I2C 0x20 - 0x26 y 0x39 - 0x3F) (+1k9 código)
#define USE_PCF8574_SENSOR // habilitar las entradas y salidas del PCF8574 en el mensaje SENSOR
#define USE_PCF8574_DISPLAYINPUT // habilitar la visualización de las entradas del PCF8574 en la página web
#define USE_PCF8574_MQTTINPUT // habilitar el mensaje MQTT y el proceso de reglas en la detección del cambio de entrada: stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}}

#define USE_ETHERNET // Añadir soporte para Ethernet (Actualmente fijo para Olimex ESP32-PoE)
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
#define ETH_ADDR 0 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 3 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT

#define USE_RC_SWITCH // Añadir soporte para el transceptor RF utilizando la biblioteca RcSwitch (+2k7 código, 460 iram)

#define USE_RF_SENSOR // Añadir soporte para el receptor de sensor RF (434MHz o 868MHz) (+0k8 código)
#define USE_THEO_V2 // Añadir soporte para la decodificación de sensores Theo V2 según se documenta en https://sidweb.nl utilizando el receptor de sensor RF de 434MHz (+1k4 código)
#define USE_ALECTO_V2 // Añadir soporte para la decodificación de sensores Alecto V2 como las estaciones meteorológicas ACH2010, WS3000 y DKW2012 utilizando el receptor de sensor RF de 868MHz (+1k7 código)

En este apartado te explico el código en detalle:

  1. #ifndef USE_I2C #define USE_I2C #endif

Esta parte del código se utiliza para definir si se utilizará la biblioteca “wire” para la comunicación a través del protocolo I2C. En este caso, la primera línea indica que si USE_I2C no está definido, entonces lo definirá, y la tercera línea termina la definición. Esto significa que se utilizará la biblioteca “wire” para la comunicación I2C.

  1. #define USE_PCF8574

Esta parte del código define que se utilizará el I/O Expander PCF8574, que es un chip que permite la expansión de entradas y salidas digitales a través del protocolo I2C.

  1. #define USE_PCF8574_SENSOR #define USE_PCF8574_DISPLAYINPUT #define USE_PCF8574_MQTTINPUT

Estas tres líneas se utilizan para habilitar la detección de cambios en los estados de entrada de PCF8574, habilitar la visualización de entradas de PCF8574 en la página web y permitir el procesamiento de reglas de MQTT cuando se detectan cambios en las entradas de PCF8574.

  1. #define USE_ETHERNET

Esta línea se utiliza para habilitar el soporte para Ethernet, lo que significa que el dispositivo puede conectarse a una red local a través de Ethernet. En este caso, la placa utilizada es Olimex ESP32-PoE.

  1. #define ETH_TYPE 0 #define ETH_ADDR 0 #define ETH_CLKMODE 3

Estas líneas definen los parámetros de la conexión Ethernet. ETH_TYPE indica el tipo de PHY que se utilizará (LAN8720, TLK110 o IP101), ETH_ADDR indica la dirección física de la interfaz Ethernet y ETH_CLKMODE indica el modo de reloj para la interfaz Ethernet.

  1. #define USE_RC_SWITCH

Esta línea habilita el soporte para el transceptor RF, lo que significa que el dispositivo puede recibir señales a través de RF utilizando la biblioteca RcSwitch.

  1. #define USE_RF_SENSOR

Esta línea habilita el soporte para el receptor de RF, lo que significa que el dispositivo puede recibir señales a través de RF.

  1. #define USE_THEO_V2 #define USE_ALECTO_V2

Estas dos líneas habilitan la decodificación de sensores específicos a través de la recepción de señales RF. USE_THEO_V2 se utiliza para la decodificación de sensores Theo V2 y USE_ALECTO_V2 se utiliza para la decodificación de sensores Alecto V2.

Los relés y entradas (IN1 – IN8) se controlan mediante el protocolo I2C usando el chip PCF8574. Para configurarlos, debe acceder a la opción “Configuración-Configurar PCF8574” y seleccionar el PCF8574 conectado a los relés como “Salida”.

En resumen, el código se utiliza para definir qué bibliotecas y protocolos se utilizarán para la comunicación y la recepción de señales en el dispositivo. Cada línea de código define una característica específica que se habilitará en el dispositivo y que permitirá la funcionalidad deseada.

Script Berry útil para desactivar Wi-Fi si Ethernet está conectado. Coloque el código en autoexec.be

tasmota.set_timer(30000,
  def()
    var eth = tasmota.eth().find('ip') != nil 
    if tasmota.wifi().find('ip') != nil == eth
      tasmota.cmd('Wifi ' .. (eth ? 0 : 1))
    end
  end)

Una explicación rápida de este código:

Este código es un script de Berry útil que se usa para desactivar la conexión Wi-Fi de un dispositivo Tasmota si hay una conexión Ethernet activa. El código debe colocarse en el archivo autoexec.be del dispositivo.

La función del código es configurar un temporizador que se ejecuta cada 30 segundos. En cada ejecución, el código verifica si el dispositivo Tasmota tiene una conexión Ethernet activa. Si la conexión Ethernet está activa, el código apaga la conexión Wi-Fi del dispositivo. Si la conexión Ethernet no está activa, el código enciende la conexión Wi-Fi del dispositivo.

El código utiliza la función tasmota.set_timer para configurar un temporizador. La función toma dos argumentos: el tiempo en milisegundos para ejecutar el temporizador y la función que se ejecutará cuando el temporizador se active. En este caso, la función que se ejecuta es una función definida por el usuario que verifica el estado de las conexiones Wi-Fi y Ethernet y toma una acción en consecuencia.

El código utiliza las funciones tasmota.eth() y tasmota.wifi() para obtener información sobre las conexiones Ethernet y Wi-Fi del dispositivo. La función tasmota.eth() devuelve un objeto que contiene información sobre la conexión Ethernet, como la dirección IP. La función tasmota.wifi() devuelve un objeto que contiene información sobre la conexión Wi-Fi, como la dirección IP.

El código utiliza una expresión condicional para determinar si la conexión Ethernet está activa. Si la conexión Ethernet está activa, la expresión condicional devuelve true, de lo contrario devuelve false. El código utiliza esta expresión condicional para decidir si debe encender o apagar la conexión Wi-Fi.

En resumen, el código se encarga de apagar la conexión Wi-Fi de un dispositivo Tasmota si hay una conexión Ethernet activa y de encender la conexión Wi-Fi si no hay una conexión Ethernet activa. Esto puede ser útil en situaciones en las que desea asegurarse de que un dispositivo Tasmota solo use una conexión de red a la vez para evitar conflictos y problemas de rendimiento.

Productos que te pueden interesar si estas buscado

Tasmota es un firmware de código abierto que permite controlar dispositivos electrónicos de forma remota. Su funcionamiento se basa en la programación de un microcontrolador para comunicarse con el hardware, y permite personalizar y ampliar sus funcionalidades con códigos propios. Es muy útil para proyectos DIY o de automatización de hogares o negocios, y es compatible con una amplia gama de hardware de terceros.

Carrito de compra
Scroll al inicio