!Socorro !No me funciona el mando del Fire TV Stick


Los Fire TV Stick son de las pocas alternativas que tenemos de disfrutar del ecosistema que Amazon pone en nuestra mano para convertir en inteligente un viejo TV ( o no tanto) . Como puede deducirse, el Fire Stick TV es uno de los productos más vendidos en Amazon ,ya que por sus prestaciones y precio ( entre 30€ en la versión lite, 40€ la versión standard y hasta llegar a los 60€ en su versión 4k) puede ser de gran utilidad en casa.

En efecto, como sabemos, el Fire TV Stick convierte su televisor en una Smart TV, por lo que básicamente es un reproductor de contenido multimedia en streaming con capacidad de resolución 4K (según versión), el cual además sólo se puede conectar mediante HDMI a su TV. Para ello debemos conectar el Amazon Fire TV Stick a su televisor HD por algun puerto hdmi libre sin olvidar de alimentarlo con 5v DC con el cargador incorporado (aunque podemos usar también un puerto USB del TV si este permite también un consumo de unos 100mA) y empiece a ver contenido en streaming en cuestión de minutos ( tras la configuración inicial donde básicamente ajustamos el idioma, la wifi a la que nos conectaremos, las credenciales de Amazon y se actualizará el firmware).

Horizontal

Este dispositivo es muy interesante poque con el asistente por voz Alexa solo tenemos que pulsar un botón y pedirle que busque películas y episodios de series favoritas, así como deportes y noticias en directo usando las principales plataformas del mercado, como Netflix, DAZN, Movistar+, Disney+, Apple TV y Amazon Prime Video, todo en un solo dispositivo. Asimismo podemos reproducir en streaming millones de canciones y usar el nuevo mando por voz Alexa para pedir una canción, artista o lista de reproducción, o para controlar la reproducción en servicios como Amazon Music, Spotify o TuneIn.

Amazon Fire TV Stick funciona con cualquier televisor HD, así que puede usarlo en casa de sus amigos o llevarlo de viaje pero para conectarlo y usarlo en cualquier lugar, necesitaremos una conexión Wi-Fi ( puede ser suficiente la zona wifi que activemos en nuestro dispositivo móvil).

Aunque no es un aparato que falle demasiado, de vez en cuando se pueden producir errores graves mientras usamos el Fire TV Stick. Por ejemplo, que el mando no nos responda y que sea imposible revivirlo. Una primera medida que podemos hacer es la de apagar la llave HDMI a ver si vuelve en sí, pero si persiste, entonces tenemos que hacer algo mucho más agresivo. Esos dos grandes incidentes pueden ser, o bien que el mando a distancia se ha desemparejado, es decir, ha perdido su vínculo con el Fire TV Stick que compramos, o bien el cuelgue solo afecta al mando, de tal forma que sea necesario reiniciarlo para devolverlo a un estado de completa actividad.

Los botones del mando

De todos los botones que podemos ver en el mando de control remoto de vuestro Fire TV Stick, vamos a quedarnos con solo cuatro, que son los que tenemos señalados justo aquí debajo con números que van del 1 al 4:

  1. Home (o Inicio): es el que podéis ver en la parte central y que tiene un iconito de una casa.
  2. Cursor izquierdo: de la rueda que contiene los botones de las cuatro direcciones posibles, solo nos interesa la que apunta a la izquierda.
  3. Volver: a los que tenéis un móvil con Android os sonará, porque es la flechita que parece volver por dónde venía. Atentos a ella.
  4. Opciones: con varias líneas blancas horizontales, ese botón será esencial para realizar cieras acciones.

Cómo resetear el mando del Fire TV Stick

Antes de que nos decidamos por tomar medidas especiales más expeditivas como es el realizar un nuevo emparejamiento del mando a distancia con el Fire TV Stick, lo mejor es intentar antes algo más rápido y que afecta solo al propio mando así que lo interesante es empezar con un reset para intentar arreglar ese cuelgue transitorio en el que está sumido. Para llevarlo a cabo, solo tenéis que hacer lo siguiente en el mando del Fire TV Stick con Alexa integrado:

  • Desconecte el Fire TV Stick de tu televisor y espere un minuto. Esto lo haremos para no encenderlo al tocar el mando.
  • A continuación, mantenga pulsado el cursor izquierdo, el de Menú y Atrás todos a la vez. Es importante que no los pulsé escalonadamente, o que alguno se suelte durante el proceso de reset. Así que antes de hacerlo, pruebe a ver de qué forma segura puede colocar los dedos para que no haya errores.

En el caso del modelo 4K de ese mismo Fire TV Stick, el procedimiento es sensiblemente distinto:

  • Repetimos el mismo proceso que antes solo que los tres botones los mantenemos pulsados a la vez durante 12 segundos.
  • Los soltamos y esperamos otros cinco segundos.
  • Ahora quitamos las pilas del mando a distancia.
  • Encendemos el Fire TV Stick 4K y esperamos un minuto más.
  • Colocamos de nuevo las pilas al mando y pulsamos sobre el botón Home. El indicador LED que trae debería parpadear en color azul para confirmarnos que todo el proceso ha funcionado y el control se está comunicando con la llave HDMI.

Es importante decir que el modelo con Alexa Voice Remote Lite no tiene esa luz LED, por lo que identificar que todo funciona será cuestión de ver que ya podemos navegar correctamente por los menús.

Vuelva a emparejar el mando con su Fire TV Stick

Ahora bien, el otro problema que puede asaltarnos es que, por razones desconocidas, el mando parece funcionar al pulsar los botones (se ilumina el LED) pero los menús del Fire TV Stick no responden. En ese caso, es posible que el remote haya perdido la vinculación con la llave HDMI, así que toca volver a realizar el proceso de emparejado de los dos dispositivos. Para conseguirlo debe seguir los siguintes pasos:

  • Enciende la televisión con la entrada HDMI del Fire TV Stick seleccionada.
  • Colócate a menos de tres metros del dongle para poder conectar de nuevo el mando.
  • Pulsa el botón de Inicio del mando durante 10 segundos ininterrumpidamente.
  • A partir de ese momento la luz LED del remote tendría que parpadear, lo que provocará un mensaje en la pantalla del televisor de que todo el proceso ha funcionado sin problemas.
  • El mando a distancia vuelve a estar emparejado con su Fire TV Stick original.

Un truco: si la versión del mando no tiene testigo led podemos ver si está emitiendo ráfagas infrarojos al fire-stick, con una cámara digital enfocando a la parte delantera deberíamos ver un puntito de luz blanca al pulsar cualquier tecla.

Averias del mando mas comunes

Llegados a este punto, tu mando debería estar conectado a tu Fire TV Stick y funcionando de nuevo de forma correcta. ¿No es el caso? Entonces, toca comprobar estos puntos:

  • Pilas: el mando del Fire TV Stick funciona con 2 pilas AAA. Y puede darse el caso de que se estén agotando y no tengan energía para mantener las funciones mínimas del control remoto. También puede ocurrir que alguna de las pilas ( o las dos ) se haya sulfatado y esté impidiendo que la corriente pase al mando, independientemente de que hayamos conectado una pila nueva en buenas condiciones. Simplemente, retire la tapa del compartimento de pilas y compruebe que no hay óxido ni corrosión. Aproveche también para probar con otras pilas nuevas, por si las moscas.
  • Mando estropeado: los mandos a distancia suelen caerse al suelo con frecuencia, y esto puede acabar pasando factura. Si después de hacer todo este proceso, no ha conseguido volver a conectar tu mando al Fire TV Stick,  puede que se haya estropeado. En este casos en el siguiente epígrafe veremos cómo podemos repararlo o en el peor de los casos conseguir un sustituto al mando a distancia del Fire TV Stick.

Las pilas del mando

Tan improbable como parece, pero a veces las baterías del mando se desalinean y por supuesto se agotan ( lo cual deberíamos probar con un comprobador de pilas o un multímetro). Saque las pilas y manténgalas fuera durante 10-20 segundos. A continuación, vuelva a colocar las pilas correctamente y conéctelas en el orden correcto en el mando como está indicado en la carcasa (compruebe que de verdad estan en su posición correcta ambas pilas).

Una de las razones más comunes por las que el mando a distancia Fire TV Stick no se acopla antes o después del restablecimiento de fábrica es que la batería está agotada o agotada, así que recomendamos que introduzca un par de pilas nuevas en el control remoto en caso de duda.

Muchas veces, la corrosión o la suciedad en el interior del compartimento de la batería impide que se active el mando a distancia correctamente. En el caso de qeu se hayan quedado pilas agotadas y se hayan sulfatado, debe retirar estas a la mayor brevedad posible y limpiar los dos conectores metálicos con un pañuelo de papel o un paño limpio. A continuación, inserte las pilas y reinicie el Fire TV Stick desenchufándolo. Entonces intente emparejarlo con el mando nuevamente.

Reparación en caso de sulfatación de las pilas

A todos nos ha pasado que hemos encontrado alguna vez un aparato que teníamos olvidado por casa y al comprobar si tenía pilas, estas se encontraban en el interior oxidadas o sulfatadas . Aunque pueda ser desagradable a primera vista, hay ocasiones en que los dispositivos sucios por las pilas todavía funcionan. En nuestro caso, si tras la limpieza en profundidad del porta pilas accesible desde el exterior, sigue sin responder, deberemos intentar abrir el mando para limpiar el interior.

Se abre el mando por el lateral con un utensilio de plástico.

Vemos dos tornillos philips que fijan la placa madre a la carcasa.

Desatornillamos los tornillos para poder limpiar la parte más expuesta.

Guardamos o apartamos las carcasas con cuidado.

En nuestro caso, vemos como la sulfatación ha afectado a gran parte de la placa por lo que debemos limpiar con profundidad esta parte con un bastoncillo o un cepillo y alcohol ( hay personas que también da buenos resultados el zumo de un limón disuelto en agua).

Tras frotar, comprobará cómo se irá desprendiendo lo sucio y las partes metálicas y muelles del aparato volverán a estar como nuevos. En el caso de que tras limpiarlo y secarlo siga igual, lamentamos decirle que tendrá que valorar el estado interno del aparato o ir a un servicio técnico, aunque lo habitual es que vuelvan a funcionar tras esta limpieza.

También en el peor de los casos si tras la limpieza no ha funcionado el mando podemos intentar con una pistola de calor incidir en las zonas donde estaba la suciedad para intentar reactivar las soldaduras que podrían haberse dañado con la sulfatación de las pilas.

¿Y si pierdo el mando o está roto?

Si pierde el mando de su Fire TV Stick, o si simplemente, deja de funcionar ( y no ha funcionado nada de lo que hemos visto hasta aquí), puede controlar el dispositivo directamente desde la aplicación Fire TV, disponible tanto para Android como para el iPhone. Por supuesto, también va poder utilizar comandos de Alexa para controlar el televisor, aunque, si ya lo ha hecho con anterioridad, sabrá que esto no es lo óptimo.

Y bien, aunque existen las alternativas de software, seguro que no tiene ganas de comprar otro Fire TV únicamente por recuperar el mando. Puede que una mala caída haya dejado tu mando totalmente fuera de combate, que simplemente haya dejado de funcionar de un día para otro o que sencillamente, el dispositivo haya desaparecido de casa —o que se lo haya tragado el sofá, cosa que descubrirás dentro de unos meses.

Para estos casos, existen mandos genéricos que pueden hacerte el apaño. No obstante, en Amazon también va a poder encontrar el mando original del Fire TV Stick en caso de que lo necesites. Antes de hacerse con un sustituto, confirme que el modelo que va a comprar sea compatible con su dispositivo, luego, simplemente tendrá que emparejar el nuevo mando con tu Fire TV tal y como te hemos explicado en las líneas anteriores.

Recambio original de mando para Fire TV

Este mando solo le merecerá la pena en el caso de que tenga un Fire TV 4K, debido a que su precio es bastante alto pues por prácticamente su precio, puede comprarse otro Fire TV Lite o estándar. No obstante, es el modelo que le va a garantizar el máximo de compatibilidad con tu dispositivo de Amazon. A pesar del precio, si no quiere complicarte la vida, esta es la mejor opción que va a encontrar.

Mandos genéricos

Existen también mandos genéricos compatibles con los Fire TV. En estos casos, puede ocurrir que se asocien con el dongle de una forma distinta al modelo original. Por lo general, es interesante un mano con micrófono para no perder así la posibilidad de dictar texto y hacer comandos de Alexa. Un modelo muy interesante es el L5B83H, que tiene un buen precio y va a permitir recuperar el control de su Fire TV. Por lo general, este modelo merece más la pena si tiene un Fire TV Stick de los básicos. No obstante, en algunos casos le merecerá más la pena comprar un dongle completo simplemente por precio.

Eso sí, con los mandos genéricos hay que tener algo más de cuidado. Le recomendamos que mire bien las especificaciones para garantizar que el mando genérico es compatible con su Fire TV. Si no recuerda bien qué modelo tienes conectado a tu televisor, puedes mirarlo desde ajustes utilizando la aplicación de Fire TV para el móvil. No obstante, también puede consultar en el historial de compras de Amazon para ver exactamente qué unidad tiene.

Medidor de energía IoT con Cayenne Dashboard usando PZEM-004T v3 y ESP8266


Debido al aumento de los costos de energía, las personas están encontrando formas de monitorear su consumo de energía para tomar medidas de ahorro de energía para su hogar. El objetivo de este proyecto es hacer un medidor de energía de bricolaje usando el PZEM-004T v3 para monitorear su consumo de energía, y dado que IoT es la nueva norma para el monitoreo remoto, también podemos conectar el medidor de energía con un tablero de IoT a través de Wi-Fi.

Esta conexión la haremos usando el mini microcontrolador ESP8266 para visualizar las lecturas del medidor en línea donde puede acceder usando su ordenador o teléfono inteligente a traves de la app de Cayenne.

Componentes de hardware y software:

Hardware:

  • Medidor de energía PZEM-004T-100A v3
  • ESP8266 con cable ( también nos sirve cualquier controlador de la família ESP8266 como Wemos D1 Mini)
  • Cables de puente macho – hembra
  • Tablero de circuitos

Software:

  • IDE de Arduino

Plataforma en línea:

  • Cayenne IoT

El medidor de energía PZEM-004T-100A v3

  • Rango de medida de 100A utilizando un transformador externo
  • Se utiliza principalmente para medir voltaje CA, corriente, potencia, energía, frecuencia y factor de potencia
  • Sin función de visualización
  • La capa física utiliza la interfaz de comunicación UART a RS485
  • La capa de aplicación utiliza el protocolo Modbus-RTU para comunicarse
  • Los datos se leen a través de la interfaz TTL que se puede conectar directamente con microcontroladores basados ​​en Arduino o ESP sin necesidad de ningún convertidor adicional

CARASTERICTICAS FUNDAMENTALES:

Tipo de producto:Módulo de comunicación AC

Modelo de producto:PZEM-004T

Función del producto:

Este documento describe la especificación del módulo de comunicación de CA PZEM-004T, el módulo se utiliza principalmente para medir la tensión de CA, la corriente, la potencia activa, la frecuencia, el factor de potencia y la energía activa, el módulo es sin función de visualización, los datos se leen a través de la interfaz TTL.

PZEM-004T-10A: Rango de medición 10A (Shunt incorporado)

PZEM-004T-100A: Rango de medición 100A (transformador externo)

Rango de medición:

Tensión
Rango de medición:80~260V
Resolución: 0.1V
Precisión de medición: 0,5%.
Corriente
Rango de medición: 0~10A(PZEM-004T-10A); 0~100A(PZEM-004T-100A)
Corriente de medición inicial: 0,01A(PZEM-004T-10A); 0,02A(PZEM-004T-100A)
Resolución: 0.001A
Precisión de medición: 0,5%.
Potencia activa
Rango de medición: 0~2.3kW(PZEM-004T-10A); 0~23kW(PZEM-004T-100A)
Potencia de medición inicial: 0,4W
Resolución: 0.1W
Formato de visualización:
<1000W, muestra un decimal, como: 999.9W

≥1000W, muestra sólo números enteros, como: 1000W

Precisión de medición: 0,5%.
Factor de potencia
Rango de medición: 0.00~1.00
Resolución: 0.01
Precisión de medición: 1%.
Frecuencia
Rango de medición: 45Hz~65Hz
Resolución: 0,1Hz
Precisión de medición: 0,5%.
Energía activa
Rango de medición: 0~9999.99kWh
Resolución: 1Wh
Precisión de medición: 0,5%.
Formato de visualización:
<10kWh, la unidad de visualización es Wh(1kWh=1000Wh), como: 9999Wh

≥10kWh, la unidad de visualización es kWh, como por ejemplo 9999.99kWh

Restablecimiento de la energía: utilice el software para restablecer.
Alarma de sobre potencia
El umbral de potencia activa se puede establecer, cuando la potencia activa medida supera el umbral, puede alarmar

Interfaz de comunicación
Interfaz TTL。

Protocolo de la capa física
La capa física utiliza la interfaz de comunicación UART a TTL

La velocidad de transmisión es de 9600, 8 bits de datos, 1 bit de parada, sin paridad

¿Cómo mide?

El medidor utiliza un transformador de corriente para medir la corriente. Está diseñado para producir una corriente alterna en su devanado secundario que es proporcional a la corriente que se mide en su primario. Reduce las corrientes de alto voltaje a un valor mucho más bajo y proporciona una forma conveniente de monitorear de manera segura la corriente eléctrica real que fluye en una línea de transmisión de CA.

INSTALAR ESP8266 EN IDE ARDUINO

Actualmente configurar el entorno de Arduino para funcionar con las placas de desarrollo de ESP8266 es muy sencillo,gracias al soporte que ha recibido de la comunidad, que hace que lo tengamos disponible como un paquete que podemos descargar y añadir al gestor de placas.

Para poder programar las placas de desarrollo basadas en el ESP8266 simplemente tendremos que configurar la URL del paquete para que podamos agregarlas al gestor de placas del IDE de Arduino.

Para ello accedemos al menú de configuración y en “Gestor de URLs adicionales de tarjeta” hacemos click en el pequeño botón de la derecha.

En la ventana que aparece, añadimos esta la siguiente URL.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Si teníamos otras direcciones, dejamos cada una de ellas en una línea.

Ahora entramos en el gestor de tarjetas del IDE de Arduino.

Buscamos el paquete de placas de desarrollo basadas en el ESP8266 y lo instalamos.

Ya tenemos disponibles las placas de desarrollo basadas en el ESP8266 para programarlas con el IDE de Arduino. ¡Así de fácil!

En la próxima entrada profundizaremos en cómo programar ESP8266 con el IDE de Arduino, y veremos las similitudes y diferencias entre programar un Arduino convencional y una placa basada en el ESP8266.

Plataforma en línea:

  •  Cayenne IoT
  • Cayenne es el primer generador de proyectos de IoT de arrastrar y soltar del mundo que permite a los desarrolladores, diseñadores e ingenieros crear rápidamente prototipos y compartir sus proyectos de dispositivos conectados.
  • Cayenne se diseñó para ayudar a los usuarios a crear prototipos de Internet de las cosas y luego llevarlos a producción
  • Cayenne es un producto de myDevices que le permite no solo mostrar datos, sino también configurar disparadores, monitorear dispositivos, controlar dispositivos, etc.
  • La API de Cayenne MQTT se utiliza para conectar cualquier dispositivo que tenga con Cayenne Cloud

¿Qué es MQTT?MQTT significa 

transporte de telemetría de Message Queue Server. Es un protocolo de mensajería extremadamente simple y liviano (suscripción y publicación) diseñado para dispositivos limitados y redes con alta latencia, bajo ancho de banda o redes poco confiables. Con MQTT, los dispositivos IoT con recursos limitados pueden enviar o publicar información sobre un tema específico a un servidor que actúa como 

intermediario de mensajes MQTT. Luego, el corredor transmite la información a aquellos clientes que se han suscrito previamente al tema del cliente. Para este proyecto, 

Cayenne Dashboard actúa como intermediario de mensajes MQTT.

Configuración de hardware:

 Diagrama esquemático:

Conexiones:

  • PZEM-004T-100A v3
    • Conexión de carga
      • Transformador de corriente (CT) Cable VCC conectado a PZEM-004T v3 Live (+) Terminal 
      • Transformador de corriente (CT) Cable GND conectado al terminal neutro (-) PZEM-004T v3 
      • Cable de carga viva (+) conectado al terminal de carga viva (+) PZEM-004T v3 
      • Cable de carga neutra (-) conectado a la terminal de carga  neutra  (-)  PZEM-004T v3 
    • Conexión ESP8266
      • Cable VCC conectado al pin 3.3v
      • Cable GND conectado al pin GND
      • El cable TX (transmisión) está conectado al pin D7
      • El cable RX (recepción) está conectado al pin D8
  • ESP8266
    • Pin VCC conectado al cable PZEM-004T v3 VCC
    • Pin GND conectado al cable PZEM-004T v3 GND
    • Pin D7 (RX) conectado al cable PZEM-004T v3 TX
    • Pin D8 (TX) conectado al cable PZEM-004T v3  RX

Configuración del programa:

Antes de configurar el código Arduino, debemos instalar la placa ESP8266 en el IDE de Arduino.

Instalación de soporte de placa ESP8266:

  • Haga clic en la  sección Preferencias en el IDE
  • Descarga el paquete esp8266 en el Board Manager
  • Después de agregar la placa ESP8266, debe conectarse con el panel Cayenne.

Cayenne Dashboard ESP8266 Configuración + Conexión: 

  • Después del registro de la cuenta (ES GRATUITO ), agregue un nuevo dispositivo para conectarse al tablero 
  • Elija Generic ESP8266  en la sección de Microcontroladores
  • Antes de conectar debemos descargar la  librería Cayenne MQTT ESP  en Github
  • Haga clic en el  boceto ESP8266  en el ejemplo Cayenne MQTT ESP 
  •  Antes de ejecutar el boceto, copie las credenciales de Cayenne MQTT proporcionadas
  • Edite las credenciales de Cayenne junto con las credenciales de Wi-Fi en el boceto
  • Ejecute el boceto y espere hasta que ESP8266 esté conectado a Cayenne
  • El ESP8266 por fin está conectado al salpicadero 
  • Después de configurar el tablero Cayenne, debemos probar el medidor PZEM-004T V3 antes de interactuar con el tablero.
  • Cargar el siguiente código en el IDE de Arduino  y desplegarlo sobre el ESP8266

//Libraries
#include <Arduino.h>
#include <PZEM004Tv30.h>

//PZEM object constructor
PZEM004Tv30 pzem(D7,D8);
//PZEM004Tv30 pzem(1,3);
void setup() {
  Serial.begin(115200);

  while(!Serial); 
  delay(100);
  
  Serial.println("PZEM-004T con NodeMcu 1.0 (Esp-12e Module)Test"); 
}

void loop() {
  Serial.println("Midiendo...");
  //Result Variables
  float volts = pzem.voltage();
  float amps = pzem.current();
  float watts = pzem.power();
  float kiloWatts = pzem.energy();
  float hertz = pzem.frequency();
  float factor = pzem.pf();

  delay(2000);

  Serial.println("");

  Serial.println("Resultados:");
  Serial.println("");

  Serial.print("Voltaje: "); Serial.print(volts,3); Serial.println("V");
  Serial.print("Corriente: "); Serial.print(amps,3); Serial.println("A");
  Serial.print("Potencia: "); Serial.print(watts,3); Serial.println("W");
  Serial.print("Energia: "); Serial.print(kiloWatts,3); Serial.println("kWh");
  Serial.print("Frequencia: "); Serial.print(hertz,2); Serial.println("Hz");
  Serial.print("Factor de potencia: "); Serial.println(factor,3);

  Serial.println("");
  
  delay(2000);
}


Desglose del código:

Bibliotecas :

  • Arduino.h
    • El soporte ESP8266 para Arduino 
    • Capaz de escribir bocetos, usar funciones y bibliotecas de Arduino
    • Ejecute bocetos sin necesidad de un microcontrolador externo
    • Biblioteca integrada en el IDE
    • Más información sobre la biblioteca, junto con la configuración de ESP8266 Arduino en Github 
  • PZEM004Tv30.h
    • Biblioteca de medidores de energía Peacefair (PZEM-004T v3)
    • Versión actualizada de la biblioteca PZEM-004T anterior para admitir versiones más nuevas
    • Proporciona funciones completas del monitor de energía PZEM-004T v3
    • Más información sobre la biblioteca y enlace de descarga en Github 
    • También se puede descargar en Arduino Library Manager

Variables:

  • PZEM004Tv30 pzem(D7,D8)
    • El constructor de objetos para el medidor de energía junto con las conexiones de pin
  • Voltaje
    • Valor del sensor de tensión en voltios (V)
  • Actual
    • Valor del sensor de corriente en amperios (A)
  • Energía
    • Valor del sensor de potencia en vatios (W)
  • Energía
    • Valor del sensor de energía en kilovatios hora (kWh)
  • Frecuencia
    • Valor del sensor de frecuencia en hercios (Hz)
  • Factor de potencia
    • Resultado calculado basado en los valores del sensor

    Funciones:

    • pzem.voltaje()
      • obtener valor de voltaje
    • pzem.actual()
      • obtener el valor actual
    • pzem.power()
      • obtener valor de potencia
    • pzem.energy()
      • obtener valor de energía
    • pzem.frecuencia()
      • recuperar valor de frecuencia
    • pzem.pf()
      • obtener el valor del factor de potencia

    Después de probar el sensor SIN CONEXION , ahora podemos conectarlo con el tablero de Cayenne para cargar lecturas de energía en línea.

    Con el siguiente código que subiremos al ESP8266 si lo personalizamos con nuestras propias claves (estan marcadas tachadas) podemos probar

    Code (PZEM-004T V3 with Cayenne Dashboard): 
    //Libraries
    #include <Arduino.h>
    #include <CayenneMQTTESP8266.h>
    #include <PZEM004Tv30.h>
    
    //Debug Cayenne Connection
    #define CAYENNE_DEBUG
    
    //Enable Serial Print
    #define CAYYENE_PRINT Serial
    
    //Canales de Cayenne para mostrar los datos
    #define VOLTAGE_CHANNEL 1 //voltage
    #define CURRENT_CHANNEL 2 //current
    #define POWER_CHANNEL 3 //power
    #define ENERGY_CHANNEL 4 //energy
    #define FREQUENCY_CHANNEL 5 //frequency
    #define POWERFACTOR_CHANNEL 6 //power factor
    
    //RX pin = D7 connected to the TX pin of PZEM-004T v3
    //TX pin = D8 connected to the RX pin of PZEM-004T v3
    
    //Constructor del dispositivo  Peacefair 
    PZEM004Tv30 pzem(D7,D8); 
    
    //Credencial de la WiFi a la que se conectara para el envio. 
    char ssid[] = "HOTSPOTniKOYA";
    char wifiPassword[] = "09771665851";
    
    //ESP8266 Información para la autenticacion de Cayenne obtenida de Cayenne Dashboard.
    
    char username[] = "439049b0-0660-11ed-8df2-dd50487e509b";
    char password[] = "1f5cf9c47e9fc2b28eaa1ffb054b62003a71127a";
    char clientID[] = "349a2920-1bf1-11ed-baf6-35fab7fd0ac8";
    
    //Meter values
    float Voltage;
    float Current;
    float Power;
    float Energy;
    float Frequency;
    float PowerFactor;
    
    void setup() {
      Serial.begin(115200);
    
      //Esperar a que  Serial Monitor se abra antes de proceder
      while(!Serial);
      delay(100);
      
      //Start Cayenne connection 
      Cayenne.begin(username, password, clientID, ssid, wifiPassword);
    
      Serial.println("PZEM-004T-100A Energy Meter Cayenne Interface using ESP8266 ( o un Wemos D1 Mini)");
      Serial.println("");
    }
    
    void loop() {
      //get meter values
      Voltage = pzem.voltage();
      Current = pzem.current();
      Power = pzem.power();
      Energy = pzem.energy();
      Frequency = pzem.frequency();
      PowerFactor = pzem.pf();
      
      Cayenne.loop();
    }
    
    //Display Voltage Value
    CAYENNE_OUT(VOLTAGE_CHANNEL)
    { 
      Serial.println("Resultados de las medidas: ");  
      Cayenne.virtualWrite(VOLTAGE_CHANNEL, Voltage);
      Serial.print("Voltaje: "); Serial.print(Voltage,3); Serial.println("V");
    }
    
    //Display Current Value
    CAYENNE_OUT(CURRENT_CHANNEL)
    {   
      Cayenne.virtualWrite(CURRENT_CHANNEL, Current);
      Serial.print("Corriente: "); Serial.print(Current,3); Serial.println("A");
    }
    
    //Display Power Value
    CAYENNE_OUT(POWER_CHANNEL)
    {   
      Cayenne.virtualWrite(POWER_CHANNEL, Power);
      Serial.print("Potencia: "); Serial.print(Power,3); Serial.println("W");
    }
    
    //Display Energy Value
    CAYENNE_OUT(ENERGY_CHANNEL)
    {   
      Cayenne.virtualWrite(ENERGY_CHANNEL, Energy);
      Serial.print("Energia: "); Serial.print(Energy,3); Serial.println("kWh");
    }
    
    //Display Frequency Value
    CAYENNE_OUT(FREQUENCY_CHANNEL)
    {   
      Cayenne.virtualWrite(FREQUENCY_CHANNEL, Frequency);
      Serial.print("Frequencia: "); Serial.print(Frequency,2); Serial.println("Hz");
    }
    
    //Display Power Factor Value
    CAYENNE_OUT(POWERFACTOR_CHANNEL)
    {   
      Cayenne.virtualWrite(POWERFACTOR_CHANNEL, PowerFactor);
      Serial.print("Factor de Potencia: "); Serial.println(PowerFactor,3);
      Serial.println("");
    }
    

    Desglose del código:

    Bibliotecas:

    • Arduino.h
      • El soporte ESP8266 para Arduino 
      • Capaz de escribir bocetos, usar funciones y bibliotecas de Arduino
      • Ejecute bocetos sin necesidad de un microcontrolador externo
      • Biblioteca integrada en el IDE
      • Más información sobre la biblioteca, junto con la configuración de ESP8266 Arduino en Github 
    • CayenneMQTTESP8266.h
      • Biblioteca Cayenne MQTT ESP para la conexión del generador de proyectos Cayenne IoT
      • Admite módulos Wi-Fi ESP8266 y ESP32
      • Leer y enviar datos a Cayenne Dashboard
      • Más información sobre la biblioteca y enlace de descarga en Github
    • PZEM004Tv30.h
      • Biblioteca de medidores de energía Peacefair (PZEM-004T v3)
      • Versión actualizada de la biblioteca PZEM-004T anterior para admitir versiones más nuevas
      • Proporciona funciones completas del monitor de energía PZEM-004T v3
      • Más información sobre la biblioteca y enlace de descarga en Github
      • También se puede descargar en Arduino Library Manager

    Variables:
    @PZEM-004T v3

    • PZEM004Tv30 pzem(D7,D8)
      • El constructor de objetos para el medidor de energía junto con las conexiones de pin
    • Voltaje
      • Valor del sensor de tensión en voltios (V)
    • Actual
      • Valor del sensor de corriente en amperios (A)
    • Energía
      • Valor del sensor de potencia en vatios (W)
    • Energía
      • Valor del sensor de energía en kilovatios hora (kWh)
    • Frecuencia
      • Valor del sensor de frecuencia en hercios (Hz)
    • Factor de potencia
      • Resultado calculado basado en los valores del sensor

    @Cayenne

    • CAYENNE_DEBUG
      • Habilita la impresión en serie de Cayenne
    • Serie CAYENNE_PRINT
      • Habilita el monitor serie para imprimir datos
    • VOLTAJE_CANAL 1
      • El canal Cayenne asignado para proyectar lecturas de voltaje del medidor
    • CANAL_ACTUAL 2
      • El canal Cayenne asignado para proyectar lecturas actuales del medidor
    • POTENCIA_CANAL 3
      • El canal Cayenne asignado para proyectar lecturas de energía del medidor
    • ENERGÍA_CANAL 4
      • El canal Cayenne asignado para proyectar lecturas de energía del medidor
    • FRECUENCIA_CANAL 5
      • El canal Cayenne asignado para proyectar lecturas de frecuencia del medidor
    • FACTOR DE POTENCIA_CANAL 6
      • El canal Cayenne asignado para proyectar lecturas de factor de potencia del medidor
    • sid[]
      • El nombre de la conexión Wi-Fi para conectar el Wemos D1 mini
    • Contraseña de wifi[]
      • La contraseña de conexión Wi-Fi para conectar el Wemos D1 mini
    • nombre de usuario char[]
      • Nombre de usuario de Cayenne del dispositivo (proporcionado en el código de enlace de Cayenne)
    • contraseña de char[]
      • Contraseña de Cayenne del dispositivo (proporcionada en el código de enlace de Cayenne)
    • ID de cliente char[]
      • ID de cliente de Cayenne del dispositivo (proporcionado en el código de enlace de Cayenne)

    Funciones:
    @PZEM-004T V3

    • pzem.voltaje()
      • obtener valor de voltaje
    • pzem.actual()
      • obtener el valor actual
    • pzem.power()
      • obtener valor de potencia
    • pzem.energy()
      • obtener valor de energía
    • pzem.frecuencia()
      • recuperar valor de frecuencia
    • pzem.pf()
      • obtener el valor del factor de potencia

    @Cayenne

    • Cayenne.begin(nombre de usuario, contraseña, ID de cliente)
      • Inicia la conexión de cayena
      • Muestra el estado de la conexión en el monitor serie
    • Cayenne.loop()
      • Llama a la clase CAYENNE_OUT(VIRTUAL_CHANNEL) 
    • Cayenne.virtualWrite(Canal, Salida)
      • Mostrar los valores del medidor en el monitor serial
      • Sube los valores de salida al canal virtual del tablero

    Y una vez que llevamos un rato con el montaje funcionando este es el resultado

    NOTAS IMPORTANTES:

    • Si conectamos el PZEM004 a un ESP8266, la tension de alimentación para la sincronizacion del canal de comunicaciones es 3,3V (en caso de un Wemos seria de 5v)
    • Para que las medidas sean correctas los leds TX y RX del PZEM004 deben parpadear rápido y con luz tenue. Si alguno de los leds TX o RX se queda fijo esto significa que o bien alguna conexión es incorrecta o no se ha actualizado el firmware del controlador , de modo que si consultamos la consola serie veremos que las medidas no son correctas ( el IDE de Arduino las pinta como nan). Ver la imagen de abajo donde se aprecia este error.
    • En caso de que no se pueda programar el controlador ESP8266 desde el IDE de Arduino un truco consiste en desconectar la línea de 3.3V hacia la salida RS425 antes de compilar el código.
    • A veces es necesario reiniciar tanto el PZEM004 como el ESP8266 si no hay resultados correctos .
    • Si no tenemos la consola serie para saber si está sacando datos correctos ( es decir que no saca los valores nan) una buena referencia son los dos leds (tX y RX) del PZEM004 qeu deben lucir a la vez a intervalos regulares ( según el delay definido en el bucle principal)
    • Debemos programar el controlador antes de conectar la salida RS425 del PZEM004 para evitar problemas
    • Se ha usado un ESP8266 ( aunque se puede usar cualquiera similar que pertenezca a esta familia) para que no de problemas el api de Cayenne . Para usar un ESP32 se debe seleccionar en el interfaz el Esp826 pues funciona también con la familia del ESP32 , si bien la llibreria es CayenneMQTTESP32.h

    Más información en

    Más información en https://cayenne.mydevices.com/