Guia paso a paso de despliegue con Fiware


FIWARE

 La plataforma FIWARE surgió en el año 2014 aproximadamente a partir de las propuestas del Horizonte 2020 de la Unión Europea. Se trata de un intento de estandarizar una nube que permita conectar el IoT estando ya finalizado, aunque su desarrollo continúa siendo dirigido por la propia comunidad de FIWARE. Si estudiamos el interés en esta plataforma, encontramos que su inicio fue explosivo, debido a la gran aglomeración de empresas y noticias que generaron contenido y búsquedas en su planteamiento, desarrollo y lanzamiento, que después se vio reducido. Sin embargo, podemos empezar a observar un leve repunte en el interés por esta plataforma, ya que algunas empresas como Telefónica buscan convertirlo en el estándar de facto mediante su uso, que comenzó a impulsarse en 2015

Para lograr esta conectividad de elementos y a su vez permitir la adición de otras funcionalidades, el elemento principal de la nube de FIWARE es el llamado ORION Context Broker, un intermediario que permite la conectividad a todo tipo de elementos, bien mediante su API NGSI que emplea REST, o bien mediante agentes. Estos agentes no son más que módulos intermediarios que pueden traducir otros formatos o protocolos de comunicación a NGSI, de manera que se posibilita de esta forma la conectividad con otros dispositivos que no puedan establecer comunicaciones mediante REST.

Por otro lado, aplicaciones externas de desarrolladores pueden comunicarse con Orion a través de la API REST mencionada.

Todos los componentes de FIWARE son, según su propia nomenclatura, denominados Generic Enablers (GEs), dado que proveen nuevas características al sistema que otros componentes no pueden ofrecer: persistencia de los datos, comunicación, autenticación segura, etc. 2.2.1 Cosmos Uno de los GE disponibles en FIWARE es Cosmos destinado a permitir el análisis Big Data una vez que los datos han sido almacenados de manera persistente.

Cosmos permite el análisis de los datos mediante aplicaciones del tipo map&reduce, o mediante Apache Hive. 2.3 Docker Docker es un sistema de contenedores de software, que empaqueta el software en estos contenedores, de manera que contienen todo lo necesario para funcionar. Esto facilita el despliegue y mantenimiento de las aplicaciones, ya que para que la propia aplicación funcione evitamos requerir unas dependencias previas a la máquina host, provee de una capa a la vez de seguridad y de abstracción al aislar los contenedores del resto de dicha máquina, y evita la sobrecarga de necesitar ejecutar un sistema operativo completo sobre el host.

 FIWARE sobre Docker

 De los múltiples componentes que existen en la arquitectura de FIWARE, la siguiente imagen refleja cuales son aquellos que existen como contenedores en Docker, con un color oscuro los propios de FIWARE, y en un color más claro aquellos relacionados y que también existen y por tanto es viable emplearlos en un despliegue.

Como podemos comprobar, Orion está disponible, y a su vez sería necesario emplear un contenedor de MongoDB para poder desplegar Orion y tenerlo en funcionamiento.

En este proyecto emplearemos FIWARE como intermediario para conectar nuestro escenario IoT. La razón de uso de esta plataforma se encuentra en dos motivos principales:

  • Permitir conectar un escenario IoT completo, sean cuales sean los componentes que lo conforman. Si bien nuestro escenario puede ser suficientemente pequeño como para no requerir el uso de esta plataforma, es útil de cara a la conceptualización del trabajo, su uso en un escenario de mayor tamaño y para el propio aprendizaje.
  •  La no existencia de plataformas similares que no sean privadas, por tanto, la única alternativa abierta a su uso para todo el mundo.
  • En tercer lugar, emplearemos Docker como sistema de contenedores para desplegar los componentes de FIWARE que necesitemos emplear. De esta manera, conseguiremos:
    •  Ahorrar tiempo y dificultades en el despliegue y configuración de los GE de FIWARE.
    •  Facilitar la actualización o reemplazo de componentes desplegados en contenedores.

Finalmente, hemos podido observar como el análisis de datos está a la orden del día, aplicándose estas técnicas 12 Análisis de datos de un escenario FIWARE basado en Docker 12 a ámbitos cada vez más diversos

  Instalación

En primer lugar, instalaremos Docker

https://hub.docker.com/r/fiware/orion

Docker Compose le permite vincular un contenedor Orion Context Broker a un contenedor MongoDB en unos minutos. Este método requiere que instale Docker Compose.

Considere este método si desea probar Orion Context Broker y no quiere preocuparse por las bases de datos o no le importa perder datos.

Seguimos estos pasos:

  • Creamos un directorio en su sistema en el que trabajar (por ejemplo, c: / fiware).
  • Creamos un nuevo archivo llamado docker-compose.yml dentro del directorio con el siguiente contenido:
mongo:
   image: mongo:3.6
   command: --nojournal
 orion:
   image: fiware/orion
   links:
     - mongo
   ports:
     - "1026:1026"
   command: -dbhost mongo
  • Usando la línea de comandos y dentro del directorio que creamos, escribiremos:

C:\fiware>docker-compose up

NOTA IMPORTANTE: Dado que   puede dar problemas en la ejecución  de la imagen de docker especialmente al lanzar la imagen de fiware_orion_1 , es mejor desde el directorio de despliegue lanzar el siguiente comando:

$ docker-compose up –force-recreate orion

Con respecto a –nojournal, no se recomienda para producción, pero acelera el inicio del contenedor mongo y evita algunos problemas de condiciones de carrera si el contenedor Orion es más rápido y no encuentra la base de datos lista y lista.

Lo que he hecho con este método es descargar imágenes para Orion Context Broker y MongoDB desde el repositorio público de imágenes llamado Docker Hub: es entonces cuando ha creado dos contenedores basados en ambas imágenes.

  • Después de unos segundos, debería tener su Context Broker ejecutándose y escuchando en el puerto 1026 lo cual podemos comprobar si nos vamos a la url: http// localhost: 1026/version

También desde el interfaz gráfico de dockers debe aparecer corriendo el contenedor de fiware ejecutándose:

Si desea detener el escenario, debe presionar Control + C en el terminal donde se está ejecutando docker-compose, pero se perderían todos los datos que se estaban utilizando en Orion con este método.

Pruebas iniciales

Creemos ahora una entidad tipo práctica del tipo Medida al que el vamos asociar la temperatura y humedad de una habitación.

Debemos extremar las cabeceras (headers) cuando enviamos datos a Orión Content Bróker, pues el Key Host que viene por defecto en Postman no nos sirve, para lo cual deberemos crear otra key asociándola a “application/json”. Asimismo, de igual manera lo haremos con el atributo “Content-Type”.

Y este el código para crearlo en formato Json:

{

        “id”: “Practica”,

        “type”: “Medida”,

        “Temperatura”: {

            “type”: “Integer”,

            “value”: 25,

            “metadata”: {}

        },

        “Humedad”: {

            “type”: “Float”,

            “value”: 50,

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            }

        }

    }

Si queremos cambiar un valor se hará a través de la url http:// localhost:1026/v2/entities/Practica/attrs/    y cambiaremos el cuerpo y la cabecera

Es decir, en el código Json simplemente hemos eliminado el id y el tipo de la entidad y mantenido el resto:

    {       

        “Temperatura”: {

            “type”: “Integer”,

            “value”: 35,

            “metadata”: {}

        },

        “Humedad”: {

            “type”: “Float”,

            “value”: 51,

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            }

        }

    }

También podemos recuperar el valor directamente desde sin usr postman llamando directamente a http://localhost:1026/v2/entities/

Asimismo, podemos cambiar no solo el valor de un atributo, sino también el tipo de dato usando PUT:

Es precisamente este el formato que podríamos usar para enviar las muestras al Content-bróker de Fiware  desde el endpoint http://192.168.1.66:1026/v2/entities/

{       

        “Temperatura”: {

            “type”: “Float”,

            “value”: 26,

            “metadata”: {}

        },

        “Humedad”: {

            “type”: “Float”,

            “value”: 54,

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            }

        }

    }

RESUMEN DE PRUEBAS FINALES

Para probar el funcionamiento del sistema:

-Iniciamos Orion Content Broker

-Iniciamos el agente Postman

-Desde Postman  configuramos la url a http://192.168.1.66:1026/v2/entities/Practica/attrs/  , usaremos el método PUT y añadiremos  a headers las keys Accept y Content-type al valor application/json

Como posibles valores de prueba podemos usar los siguientes:

{       

        “Temperatura”: {

            “type”: “Integer”,

            “value”: 35,

            “metadata”: {}

        },

        “Humedad”: {

            “type”: “Float”,

            “value”: 51,

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            }

        }

    }

Podemos cambiar solo la temperatura:

{       

        “Temperatura”: {

            “type”: “Integer”,

            “value”: 99,

            “metadata”: {}

        }

    }

O también cambiar el valor de la humedad:

{   “Humedad”: {

            “type”: “Float”,

            “value”: 51,

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            }

        }

    }

-Desde un navegador Chrome con las extensiones json y refresh nos iremos a http://192.168.1.66:1026/v2/entities/   podemos comprobar que se ha actualizado

Solución final

Dado que   puede dar problemas en la ejecución de la imagen de docker especialmente al lanzar la imagen de fiware_orion_1 , es mejor desde el directorio de despliegue lanzar el siguiente comando:

$ docker-compose up –force-recreate orion

Una vez iniciados los dos servicios comprobaremos mediante el interfaz de docker que ya podemos empezar a trabajar

Lo siguiente es crear las entidades finales usando el siguiente código en Json:

{"id": "Practica",

        "type": "Medida",

        "Temperatura": {

            "type": "Float",

            "value": 25,

            "metadata": {}

        },

        "Wifi": {

            "type": "Float",

            "value": 50,

            "metadata": {}

        },

        "Temperaturaint": {

            "type": "Float",

            "value": 28,

            "metadata": {}

        },

        "Humedad": {

            "type": "Float",

            "value": 50,

            "metadata": {

                "accuracy": {

                    "type": "Float",

                    "value": 9

                }

            }

        }

    }

Como end-point desde  postman establecemos a http://localhost:1026/v2/entities/        

Para el body no debemos olvidar insertar el código RAW en formato JSON.

Es importante configurar el token Accept como aplication/json:

Una vez creado podemos comprobar el resultado si nos vamos a http://localhost:1026/v2/entities/

En caso de problemas de conectividad deberemos cerrar el cortafuegos o configurarlo para que acepte tráfico desde fuera de la red externa.

También desde Postman podemos recuperar las últimas medidas enviadas a Orion Content Bróker.

Y una vez definidas la entidades con el método PUT vamos a ir actualizando los datos  usando la url http://192.168.1.66:1026/v2/entities/Practica/attrs/

¡No debemos olvidarnos de los headers!!

Como hemos comentado, una vez tengamos el contenido del body actualizado le daremos al botón “Put”;

Podemos comprobar mediante la consola de Orión Content Bróker las entidades, así como diferentes datos almacenados en la BBD:

sh-4.2$ ls

anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

sh-4.2$ curl localhost:1026/v2/entities -s -S -H ‘Accept: application/json’ | python -mjson.tool

[

    {

        “Humedad”: {

            “metadata”: {

                “accuracy”: {

                    “type”: “Float”,

                    “value”: 9

                }

            },

            “type”: “Float”,

            “value”: 46

        },

        “Temperatura”: {

            “metadata”: {},

            “type”: “Float”,

            “value”: 26

        },

        “Temperaturaint”: {

            “metadata”: {},

            “type”: “Float”,

            “value”: 53.33

        },

        “Wifi”: {

            “metadata”: {},

            “type”: “Float”,

            “value”: -67

        },

        “id”: “Practica”,

        “type”: “Medida”

    }

]

sh-4.2$ curl localhost:1026/v2/types -s -S -H ‘Accept: application/json’ | python -mjson.tool

[

    {

        “attrs”: {

            “Humedad”: {

                “types”: [

                    “Float”

                ]

            },

            “Temperatura”: {

                “types”: [

                    “Float”

                ]

            },

            “Temperaturaint”: {

                “types”: [

                    “Float”

                ]

            },

            “Wifi”: {

                “types”: [

                    “Float”

                ]

            }

        },

        “count”: 1,

        “type”: “Medida”

    }

]

sh-4.2$ curl localhost:1026/v2/types?options=values -s -S -H ‘Accept: application/json’ | python -mjson.tool

[

    “Medida”

]

sh-4.2$ curl localhost:1026/v2/types/Room -s -S -H ‘Accept: application/json’ | python -mjson.tool

{

    “description”: “Entity type not found”,

    “error”: “NotFound”

}

sh-4.2$

   Sensor DHTXX

Para que esta práctica tenga sentido vamos a implementar un caso práctico de un sensor real basado en DHTX conectado a un ESP32 que será el que envié las medidas a ORION Content Broker que consistirán en las siguientes:

  • Temperatura exterior
  • Humedad exterior
  • Temperatura interior
  • Nivel señal wifi
  • Sensor Hall(opcional)

DHT11 y DHT22 son dos modelos de una misma familia de sensores, que permiten realizar la medición simultánea de temperatura y humedad usando además un único hilo para comunicar los datos vía serie, para lo cual ambos disponen de un procesador interno que realiza el proceso de medición, proporcionando la medición mediante una señal digital, por lo que resulta muy sencillo obtener la medición desde un microprocesador como Arduino, ESP8266 o el node MCU que usaremos.

Ambos son similares pero el DHT11 presenta una carcasa azul (es el que usaremos en la práctica), mientras que el sensor DHT22 es blanco, compartiendo además los mismos pines disponiendo de 4 patillas, de las cuales usaremos sólo 3: Vcc, Output y GND.  Como peculiaridad, la salida la conectaremos a una entrada digital, pero necesitaremos poner una resistencia de 10K entre Vic y el Pin Output, pero existen unos módulos que integran esta junto con los pines VCC, OUT y GND.

El DHT11 puede medir temperaturas entre 0 a 50, con una precisión de 2ºC, humedad entre 20 a 80%, con precisión del 5% y con una a frecuencia de muestreo de 1 muestras por segundo (1 Hz)

En clara superioridad con el dHT11, el modelo DHT22 tiene unas características mucho más profesionales.

  • Medición de temperatura entre -40 a 125, con una precisión de 0.5ºC
  • Medición de humedad entre 0 a 100%, con precisión del 2-5%.
  • Frecuencia de muestreo de 2 muestras por segundo (2 Hz)

Destacar que este tipo de sensores de temperatura (y, aún más, los sensores de humedad), son sensores con elevada inercia y tiempos de respuesta elevados. Es decir, al “lentos” para reflejar los cambios en la medición.

Conectar el DHT11   o el DHT22 a un Arduino o al Node MCU es sencillo, simplemente alimentamos desde Arduino al sensor a través de los pines GND y Vcc del mismo. Por otro lado, conectamos la salida Output a una entrada digital de Arduino. Necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El esquema eléctrico queda como la siguiente imagen:

Los sensores DHT11 y DHT22 usan su propio sistema de comunicación bidireccional mediante un único hilo, empleando señales temporizadas por lo que en general, lo normal es que empleemos una librería existente para simplificar el proceso.

Conexión de DHT22 a Node MCU-32S

 Como vemos el circuito para conectar al Node MCU   el sensor de temperatura y humedad DHT11 no puede ser más sencillo, pues simplemente alimentaremos con 3.3v DC tanto el DHT11 como el Node MCU   en sus pines correspondiente     sin olvidar que la salida de datos del DH11pin datos) tenemos que conectarla al pin 5 del GPIO.

Respecto a la placa de desarrollo usada es la NodeMCU-32S basada en ESP32, placa que cuenta con conectividad WiFi + Bluetooth, CP2102 a bordo y llaves. Además, todos los pines de E / S del módulo ESP-WROOM-32 son accesibles a través de los encabezados de extensión. Gracias a los ricos recursos de código abierto, admite el desarrollo de varias formas, como los comandos Lua / AT / MicroPython / Arduino / IOT, etc., lo que le ayuda a crear prototipos rápidos de aplicaciones de IoT.

Algunas características de esta placa:

  • Módulo ESP-WROOM-32 integrado
  • CP2102 integrado, convertidor de USB a UART
  • Puerto USB para entrada de energía, programación de firmware o depuración UART
  • Cabezales de extensión de 2×19 pines, rompen todos los pines de E / S del módulo
  • 2x teclas, utilizadas como reinicio o definidas por el usuario
  • Especificaciones
  • Módulo WIFI: ESP-WROOM-32
  • Procesador: ESP32-D0WDQ6
  • Flash incorporado: 32 Mbit
  • Antena: antena PCB integrada
  • Interfaz periférica: UART / GPIO / ADC / DAC / SDIO / PWM / I2C / I2S
  • Protocolo WiFi: IEEE 802.11 b / g / n
  • Bluetooth: Bluetooth 4.2
  • Rango de frecuencia: 2.4G ~ 2.5G (2400M ~ 2483.5M)
  • Modo WIFI: Estación / SoftAP / SoftAP + Station
  • Fuente de alimentación: 5 V
  • Nivel lógico: 3,3 V
  • Dimensiones: 48,26 mm x 25,4 mm

En la siguiente imagen podemos ver el montaje realizado:

 Programar el  Node MCU-32S

Para instalar el firmware en el node MCU32S   lo primero es descargar e instalar el IDE de Arduino (Arduino IDE.).

Para instalar el paquete de la placa en Archivo -> Preferencias, agregue http://arduino.esp8266.com/stable/package_esp8266com_index.json al campo URL del Administrador de tableros adicionales.

Después instalaremos la plataforma esp8266 desde Tools -> Board -> Boards Manager.

(En caso de que la placa fuese un ESP32, habría que instalar manualmente el paquete de la placa siguiendo las instrucciones aquí: https://github.com/espressif/arduino-esp32/blob/master/README.md#installation-instructions).

Lo siguiente es descargue esta biblioteca como un archivo zip  aquí.

Instalamos la biblioteca zip descargada desde Sketch -> Incluir biblioteca -> Agregar biblioteca .ZIP.

Ahora ya podemos conectar el módulo ESP a su pc a usando un USB y seleccionado su puerto (y el un módulo ESP) en el menú Herramientas.

Es interesante destaca de que puede según los casos, tengamos que añadir una regla al Cortafuegos de Windows 10 para permitir el acceso desde el ESP32 al Content Server Bróker.

Por ultimo cargaremos el siguiente código en nuestro ESP32 personalizándolo con las características de nuestra red wifi y los datos que vayamos a enviar al Content Bróker:

IMPLEMENTACION EN ESP32

#include <ArduinoJson.h>

#include <WiFi.h>

#include <HTTPClient.h>

#include <SimpleTimer.h>

#include “DHT.h”

#define DHTTYPE DHT11   // DHT 11

const int DHTPin = 5;     // what digital pin we’re connected to

DHT dht(DHTPin, DHTTYPE);

const char* ssid = “MI_RED_WIFI”;

const char* password =”CLAVE_WIFI”;

const char* servidor2=”http://192.168.1.66:1026/v2/entities/Practica2/attrs/&#8221;;

const char* servidor=”http://192.168.1.66:1026/v2/entities/&#8221;;

float dato_temp = 0.0;

float dato_rssi = 0.0;

int dato_conor = 0;

float dato_hall = 0.0;

// the following variables are unsigned longs because the time, measured in

// milliseconds, will quickly become a bigger number than can be stored in an int.

unsigned long lastTime = 0;

// Timer set to 10 minutes (600000)

//unsigned long timerDelay = 600000;

// Set timer to 5 seconds (5000)

unsigned long timerDelay = 5000;

// ledPin refers to ESP32 GPIO 23

const int ledPin = 2;

#define LED 2

#ifdef __cplusplus

extern “C” {

#endif

uint8_t temprature_sens_read();

#ifdef __cplusplus

}

#endif

uint8_t temprature_sens_read();

void setup() {

 Serial.begin(115200);

  delay(4000); // Esperar para que se configure la consola.

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) { // Comprobar la conexión.

    delay(1000);

    Serial.println(“Conectando a la red WiFi…”);

  }

  Serial.print(“Conectado a la red WiFi: “);

  Serial.println(ssid);

  Serial.println(“DHT11 test!”);

  dht.begin();

 Serial.println(“DHT11 test OK !”);

}

void loop() {

delay(2000);

 // Reading temperature or humidity takes about 250 milliseconds!

   float h = dht.readHumidity();

   float t = dht.readTemperature();

 if (isnan(h) || isnan(t)) {

     Serial.println(“!Fallo al leer sensor  DHT !”);

      //return;

    }

   else

   {

  Serial.print(“Temperatura exterior: “);

    Serial.println(t);

      Serial.print(“Humedad exterior:”);

        Serial.println(h);

   }

  //tomar valor de la temperatura interior

  // Convierte de F a ºC

  dato_temp=(temprature_sens_read()-32)/1.8;

   Serial.print(“Temperatura interior :”);

  Serial.println(dato_temp);

// medir nivel señal wifi

 dato_rssi = 0;

 for (int i=0;i < 10;i++){

 dato_rssi += WiFi.RSSI();

 delay(20);

 }

 dato_rssi = dato_rssi/10;

Serial.print(“Nivel WIFI :”);

Serial.println(dato_rssi);

 //sensor Hall

 dato_hall=hallRead();

String quote = “\””;

String mensaje=”{” +quote +”Humedad” +quote +”:{” +quote +”type” +quote +”:” +quote +”*” +quote +”,” +quote +”value” +quote +”:”;

mensaje +=h;

mensaje  +=”,” +quote +”metadata” +quote +”:{” +quote +”accuracy” +quote +”:{” +quote +”type” +quote +”:” +quote +”*” +quote +”,” +quote +”value” +quote +”:9}}},” +quote +”Temperatura” +quote +”:{” +quote +”type” +quote +”:” +quote +”*” +quote +”,” +quote +”value” +quote +”:”;

mensaje +=  t;

mensaje += “,” +quote +”metadata” +quote +”:{}},” +quote +”Temperaturaint” +quote +”:{” +quote +”type” +quote +”:” +quote +”*” +quote +”,” +quote +”value” +quote +”:”;

mensaje += dato_temp;

mensaje +=”,” +quote +”metadata” +quote +”:{}},” +quote +”Wifi” +quote +”:{” +quote +”type” +quote +”:” +quote +”*” +quote +”,” +quote +”value” +quote +”:”;

mensaje += dato_rssi;

mensaje += “,” +quote +”metadata” +quote +”:{}}}”;

//calculo longitud del mensaje

int  mm= mensaje.length()+38;

String longitud= (String) mm;

 //Send an HTTP POST request every 10 minutes

if ((millis() – lastTime) > timerDelay) {

    //Check WiFi connection status

    if(WiFi.status()== WL_CONNECTED){

     // Mostrar mensaje de exito y dirección IP asignada

     Serial.println();

     Serial.print(“Conectado a:\t”);

     Serial.println(WiFi.SSID());

     Serial.print(“IP address:\t”);

     Serial.println(WiFi.localIP());

     Serial.println();

     Serial.print(“**PRUEBA DE ENVIO DE GET:\t”);

     Serial.println(“”);

    //prueba de GET

    HTTPClient http;

    // Your Domain name with URL path or IP address with path

    http.begin(servidor);

    int httpResponseCode = http.GET(); //POST(salidajson);

     String payload = http.getString();

    Serial.println(“respuesta devuelta al comando HTTP.getString( Payload): “);

    Serial.println(payload);

    Serial.print(“HTTP Response code: “);

    Serial.println(httpResponseCode);

    Serial.println();

     http.end();

    delay(10000);

 Serial.print(“**PRUEBA DE ENVIO DE POST:\t”);

 Serial.println(“”);

   digitalWrite(ledPin, HIGH);

   // you’re connected now, so print out the data

   Serial.println();

   Serial.println(“Starting connection to server…”);

   http.begin(servidor2);

  Serial.print(“Enviando mensaje JSON: “);

  // Specify content-type header

  http.addHeader(“Accept”, “application/json”);

  http.addHeader(“Content-Type”, “application/json”);

  http.addHeader(“Content-Length”,longitud);

 Serial.print(“Longitud del mensaje=”);

 Serial.println(longitud );

 Serial.println(“Contenido del mensaje=”);

 Serial.println(mensaje );

int  httpResponseCode2 = http.POST(mensaje);

  Serial.print(“HTTP Response code: “);

  Serial.println(httpResponseCode2);

  String payload2 = http.getString();

  Serial.println(payload2);

  Serial.println();

  http.end();

  salidajson=””;

 digitalWrite(ledPin, LOW);

 delay(10000);

    }

    else {

      Serial.println(“WiFi Disconnected”);

    }

    lastTime = millis();

  }

}

A continuación, mostramos un ejemplo de salida por consola del programa anterior funcionando:

Freeboard

Una vez que ya tenemos datos en la plataforma Fiware, necesitamos no solo que haga de conexión entre diferentes dispositivos, sino que buscamos ver y entender que nos están diciendo nuestros equipos. Hacer esto, hoy por hoy, requiere al menos un cierto manejo de lenguajes de programación como podría ser por ejemplo node-js. Sin embargo, hay quienes están trabajando porque esto no sea así como es el caso de Freeboard, un producto de Bug Labs, una Startup de Nueva York. “A damn-sexy, open source real-time dashboard builder/viewer for IOT and other web mashups”.

Freeboard seguramente no sea la plataforma de aplicaciones más sofisticada técnicamente que existe para el Internet de las Cosas pues estamos ante un panel web que podríamos decir “sencillo” y que muestra la información de los diferentes dispositivos que tengamos conectados en tiempo real.

Destacar también que es una plataforma Open Source, cuyo código fuente está disponible en GitHub donde allí tenemos el código fuente de la parte cliente.

Según sus fundadores, “Freeboard.io trata de convertir el Internet de las Cosas en un entorno mucho más sencillo, simple y accesible para todo el mundo”.

No necesitamos nada más para hacer funcionar tus dispositivos, aunque se podría potenciar mucho el sistema mediante la conexión por ejemplo con dweet.io o IFTTT.com, creando de una forma rápida y sencilla una robusta aplicación IoT. También podemos mezclar plataformas y dispositivos, levantando un excelente entorno desde donde controlar nuestros equipos.

Trabajar con ella es muy sencillo: Freeboard puede ejecutarse bien en un entorno cloud ( freeboard.io)   con  un plan gratuito con 30 días de duración. Una vez registrados podemos crear paneles indicadores configurados a nuestro gusto para visualizar la información, aunque primero habrá que añadir como fuente de datos(datasource) y sobre estos datos montar nuestro propio dashboard.

Otra forma de trabajar podría ser descargando o clonando el repositorio de Github, pero, aunque podría parecer trivial no se trata de abrir “index.html” simplemente en su navegador favorito pues tendremos que tener una servidor web (por ejemplo, Apache web server), tener node-js instalado y por supuesto tener Freeboard correctamente configurado especialmente todo lo relacionado con los CORS( Access-Control-Allow-Origin) donde por cierto la extensión de Chrome  “Allow Cors”  podría ser muy útil.

Como esta instalación podría ser problemática, lo más sencillo es cargar una imagen de docker con Freeboard pues así tendremos todo bien configurado y no tendremos ningún problema a la hora de ejecutar este entorno

No debemos por cierto antes de ejecutar dicha imagen de Freeboard de Docker instalar node-js, necesario para que todos los componentes funcionen correctamente.

Los pasos a seguir para hacer funcionar localmente Freeboad localmente:

  • Instalar node-js (si aún no lo tiene instalado)
  • Instalar Docker en la maquina
  • Crear  y ejecutar el contenedor de Freeboard(https://github.com/h6w/freeboard-docker  ) donde ejecutaremos el resto de contenedores Dockers, para lo cual simplemente desde el directorio desde line de comandos ejecutaremos:docker run --name myfreeboard -p 8080:80 -d tudorh/freeboard (este comando expondrá una instalación de Freeboard en  http://localhost:8080 )
  • Ahora nos iremos a Docker para comprobar que está corriendo en el puerto 8080 el servidor de Freeboard.
  • Ahora nos iremos a la dirección expuesta : http://localhost:8080/
  • Lo más importante es configurar antes de nada el Datasource que es de desde donde se obtendrá toda la información que se mostrará en el dashboard.
    • En Type seleccionaremos JSON
    • En Name elegiremos el nombre que deseemos
    • End headers añadiremos Accept: application/json
  • Una vez hecho esto pulsaremos en el símbolo de refresh en la parte superior y ya debería verse reflejado la hora de esa actualización.

Ahora pulsaremos en “ADD PANE” para crear el entorno donde mostraremos gráficamente las diferentes variables que queremos mostrar en nuestro panel:

  • Temperatura exterior
    • Humedad exterior
    • Temperatura interior
    • Nivel señal wifi
  • Temperatura exterior:

Lo ideal es usar un controlador tipo gauge definiendo el origen de datos, los valores mínimos –máximo así la unidad y el descriptivo.

Asimismo, Freeboard permite añadir un histórico usando el tipo Sparkline.

Por ejemplo, así se mostraría en tiempo real como fluctúa la temperatura exterior:

  • Temperatura interior:Lo ideal, igual que con la temperatura exterior es usar un controlador tipo gauge definiendo el origen de datos, los valores mínimos –máximo así la unidad y el descriptivo.
  • Señal wifi:Lo ideal, es usar un controlador tipo gauge definiendo el origen de datos, los valores mínimos –máximo así la unidad y el descriptivo.
  • Humedad:Lo ideal, es usar un controlador tipo gauge definiendo el origen de datos, los valores mínimos –máximo así la unidad y el descriptivo.

También podemos mostrar la misma información en modo texto:

Es interesante además de mostrar un histórico, de modo que al igual que se ha hecho con la temperatura exterior lo haremos con la humedad exterior usando el control Sparkline:

Para terminar, usaremos un Pointer para mostrar un valor de la humedad mas visible.

Con todos estos cambios pulsaremos en “SAVE FREEBORAD” para almacenar en un fichero Json en local todos los cambios realizados

El aspecto de como queda el panel es el siguiente:

Podemos comprobar que la información es actualizada con la fuente de datos, usando el monitor serie de Arduino:

Extensiones de Chrome

Sin tener instalado Freeboard, aparte de la herramienta Postman (fundamental para depurar los formatos de envió), hay dos herramientas muy interesantes para monitorizar las variables almacenadas en Fiware alimentado por los datos  que nos está enviando nuestra placa ESP32 y el sensor DHT11.

Las dos extensiones de Google Chrome que han resultado muy útiles son las siguientes:

Json Handle

Esta extensión es no solo un browser sino también un editor documentos JSON permitiendo ver de una sola vez de una manera muy visualmente atractiva los datos en nuestro caso de los diferentes sensores.

Easy Auto Refresh

Esta extensión permite recargar la página a intervalos definidos para refrescar los datos y poder mostrar los cambios, lo cual es muy útil para no tener que estar constantemente refrescando la  página desde obtenemos la información del Content bróker ( en nuestro caso http://192.168.1.66:1026/v2/entities/ )

  Información útil

Como cambiar el disco duro de su portatil y no morir en el intento


Tal vez  se le haya pasado por la cabeza cambiar el disco duro de su portatil   pensando simplemente en ampliar la capacidad de  este,tal vez porque esté dando  fallos en algún sector  o quizás   por una razón más importante : para mejorar  el rendimiento  de este  sustituyendo  el disco convencional por uno SSD, pues si es así es una tarea que recomendamos desde blog, y en este post vamos a intentar aclarar como hacerlo.

Las siglas SSD significan solid-state drive y en español se le denomina dispositivo o unidad de estado sólido.  Básicamente, un SSD hace lo mismo que un HDD (hard drive disk o disco duro)que  es la forma de almacenamiento de datos estándar desde hace muchos años ,pero la tecnologia es radicalmente distinta, pues en un disco solido actual no hay partes móviles ( utiliza hay chips de memoria NAND Flash ) reduciendo así el riesgo significativo  de averías ,eliminando  el ruido  y disminuyendo el consumo de energía  significativo siendo actualmente  la manera más eficiente de  actualizar un viejo ordenador.

De  hecho un disco SSD , puede acelerar el funcionamiento de un ordenador de varias maneras:

  1. El tiempo de inicio o de arranque del sistema operativo se reducirá significativamente.
  2. Ya no tendrá que esperar varios  minutos para que Fussion360 o su  programa de diseño abra; con un SSD solo deberá pestañear aproximadamente dos veces.
  3. Cuando guarde y abra documentos no habrá lag.
  4. Copiar y duplicar archivos será una tarea menos tediosa y con una espera reducida.
  5. Son  más fiables y duraderos que un disco duro.
  6. Al incorporar  una memoria Flash no incluye piezas móviles, por lo cual las probabilidades de avería son menores que los de una unidad mecánica.
  7. La ausencia de estas piezas permite un funcionamiento más silencioso sin acumulación de temperatura.
  8. Su resistencia a sacudones y vibraciones las hace adecuadas para portátiles y otros dispositivos informáticos móviles.
  9. En general, el sistema será más rápido.

Por supuesto  no están exentos de puntos menos positivos donde destacaría  la durabilidad de sus células de memoria y  sobre todo  el precio/GB  que es ligeramente superior al de los discos convencionales ,pero esta cuestión economica se ve claramente  superada con su rendimiento:

  • Si bien los discos duros pueden alcanzar velocidades de transferencia secuencial de datos cercanas a los 200 MB/s. Los SSD hace ya bastante tiempo que dejaron atrás estas tasas. El hecho es que, algunos dispositivos sólidos son capaces de alcanzar actualmente más de 4 GB/s de tasa de transferencia de archivos.
  • Otra importante diferencia entre un SSD y un HDD está en las operaciones aleatorias o IOPS. Si bien las unidades mecánicas pueden llegar hasta los 100 o 200 IOPS, las unidades sólidas pueden alcanzar las 80.000 o 90.000 IOPS con facilidad.
  • Gracias a los modernos  controladores  les permiten alcanzar velocidades de lectura y escritura de hasta 500 MB/s y 450 MB/s,  es diez veces más rápido que un disco duro convencional, lo cual le permite ofrecer un mayor rendimiento, potenciar la multitarea y agilizar el funcionamiento del sistema.

Los discos de estado sólido pues  mejoran drásticamente la capacidad de respuesta de su actual sistema con velocidades de arranque, carga y transferencia óptimas en comparación con las de los discos duros mecánicos. 

 Pero..¿  si es tan ventajoso porque no cambiamos directamente el disco actual por uno SSD? , pues la mayoría de las veces los usuarios no solemos cambiar por el engorro de tener que instalar todo el so,aplicaciones , datos etc  en el nuevo disco…pero  hay una facil  opción  para evitar  ese trabajo  y que consumirá solo  unos minutos  y es ni más ni menos que CLONAR el disco viejo en el nuevo.Veamos  ahora  los tres simples  pasos  a seguir;

 

 

Primer paso: adquirir un disco nuevo SSD

 Los discos SSD se presentan con múltiples dimensiones y capacidades, desde 120 GB 1,92 TB, para ofrecernos todo el espacio que necesitamos para aplicaciones, vídeos, fotos y otros archivos importantes. Además, podrá sustituir su disco duro o un SSD más pequeño por una unidad lo suficientemente grande como para que quepan todos sus archivos. Estos SSD  se  diseñan para las cargas de trabajo típicas de los ordenadores portátiles y de sobremesa. 

Es importante  para clonar un disco  es que el disco original   debería tener una capacidad  menor o igual  al  nuevo  que vamos a cambiar ,porque  en caso contrario no podremos clonarlo por falta de espacio.

Es cierto que hay determinados programas de clonación que permiten que aunque el disco original  sea mayor  que el nuevo , si este está ocupado en una capacidad  inferior  a la del nuevo disco   , permita hacer la copia , pero por regla general deberíamos adquirir un disco SSD de igual o superior capacidad al original ( nunca menor)

Y ahora una obviedad :además de la capacidad  no debemos olvidar el fabricante del SSD  siendo la marca Kingston una clara referencia de discos de buena relación calidad /precio que sin duda nos proporcionará mayor fiabilidad y durabilidad que otras marcas con productos ligeramente mas económicos.

 

Segundo paso:Preparación del disco nuevo SSD

Para clonar el disco lo mas rapido  y facil es conectar  un  adaptador sata a usb   conectado el disco nuevo.

Aunque en la foto  usamos un adaptador Conceptronic IDE/SATA con alimentador externo lo cierto es que hay adaptadores SATA /USB muy económicos.

Conectaremos el disco nuevo al adaptador , conectaremos la alimentación externa ( si es que lo tiene)    y finalmente conectaremos mediante un cable usb a nuestro ordenador. 

 

En este paso, es fácil que una vez conectado el disco nuevo al pc ,  en caso de ser  un disco nuevo no nos reconozca windows  la partición, para lo cual por si el  sw de clonación   no lo permite es interesante creala ( aunque luego eliminará esta  creando normalmente en windows )

En efecto  , podemos  facilitar el reconocimiento de esta nueva unidad   creando una simple partición  desde el propio windows  accediendo al administrador de discos de windows  , donde sí nos  aparece la unidad , simplemente pinchamos  con el  ratón  con el botón derecho sobre el disco vacío ( aparecerá sombreado o en gris )   y  desde ahí podremos crear  una nueva partición y asignarle un nombre de letra a la unidad.

 

Tercer  paso :Clonación del disco

Macrium Reflect Free Edition se presenta como una de las utilidades de clonación de discos más rápidas disponibles. Esta solución de clonación sólo es compatible con los sistemas de archivos de Windows, pero lo hace bastante bien y tiene una interfaz de usuario muy amigable. Tambien Macrium Reflect 7,pone a nuestra disposición una versión gratuita enfocada en el proceso de clonación, pero aparte permite también programar copias de seguridad, entre otras funciones.

Por supuesto, la versión premium cuenta con muchas otras funciones que pueden resultarnos de gran utilidad, pero si nuestro cometido es únicamente realizar una copia de nuestro disco duro podemos hacerlo sin ningún problema desde la versión gratuita.

En realidad el uso de este programa muy sencillo, pues una vez instalado  uan vez nos aparezcan las dos unidades ( arriba la que vamos a copiar ) y abajo el nuevo disco, simplemente pulsaremos  en texto  “Clones  this Disk” que aparece abajo del disco  origen.

 

En este momento nos aparecerá una nueva ventana  donde deberemos seleccionar  todas las particiones  si es un sistema Windows , para que el disco nuevo arranque sin problemas al cambiar el antiguo  por el nuevo.

 

 

Una vez seleccionadas las particiones y seleccionado el disco nuevo abajo pues m daremos al botón “next”

 

 

Y con esto empezará la copia del contenido de todas las particiones seleccionadas sobre el nuevo disco.

Ultimo paso: sustituir el disco

Ahora una vez clonado el disco debemos  localizar la bahía donde se alberga el disco duro del portátil. Por regla general en la gran mayoría de ellos, se puede acceder al disco duro sin tener que «destripar» completamente el portátil, son una bahía a la que podremos acceder desde la zona inferior del equipo retirando entre uno y cuatro tornillos o incluso ninguno  según el modelo . De hecho en tapas sin tornillos  ( típicas de ordenadores HP)  simplemente  quitando la bateria y   deslizando la tapa hacia el lado de la batería  quedará accesible la bahía del disco .

Desgraciadamente , esto no pasa en todos los portátiles y, de hecho, pasa cada vez menos, puesto que ahora los fabricantes intentan integrarlo todo de manera que el polvo no entre por ningún hueco. Por ello, es posible que si no existen las cubiertas que tengamos que desmontar toda la parte inferior del portátil.

Ahora debemos realizar el proceso inverso colocando el nuevo disco duro o SSD en la carcasa metálica ala que debemos atornillar a esta Luego, insertamos con cuidado la carcasa en el portátil, haciendo coincidir los puertos SATA para que queden conectados para, acto seguido, atornillar la carcasa donde estaba.

!El trabajo  ya esta hecho !. solo queda volver a colocar la tapa,poner la bateria y probar que arranca el ordenador con el disco nuevo. Es interesante  destacar que según el sw de clonación  y la capacidad del nuevo disco ,puede que quede espacio libre sin definir por lo que más sencillo es ir al administrador de discos y crear una partición de datos sobre esa parte y así si se estropease la partición primaria  al menos los datos quedarían a salvo sobre esa particion.   

Otros programas de clonación

Sin duda,el   programa presentado puede ser una excelente opción gratuita  que   funciona realmente para realizar el proceso de clonación de disco duro, bien en un HDD o en un SSD.  pero hay otras opciones  para ayudarnos a realizar la clonación de nuestro viejo disco duro, bien porque queremos tener un respaldo en caso de un eventual fallo, porque deseamos migrar a un disco de mayor tamaño o porque queremos actualizarnos tecnológicamente usando un SSD.

Por ello a continuación le mencionaremos una serie de alternativas para que pueda hacerlo cómodamente

Mini Tool Partition Wizard-Para Particionar Disco Duro

Este software  es un clásico en la administracion de sisetmas  permitiendosno  hacer la clonación que deseemos en sistemas  Windows Con su versión gratuita podrá optar por funcionalidades variadas aparte de “clonar”, podrás crear copias de seguridad o respaldos. Cuenta con la posibilidad de crear particiones del disco y sin duda de forma segura para proteger al máximo tus archivos valiosos.

Este programa muy eficiente para clonar  y viene con más herramientas como hacer respaldos.Podrá optimizar tus archivos.

 GParted

Esta es sin duda una herramienta bastante sencilla de utilizar. Su sencilla interfaz y claridad de las opciones a disposición hacen que podamos realizar nuestro proceso sin mayor dificultad. Tan simple como copiar y pegar particiones de un disco a otro. Sencillo, ¿verdad?

 Clonezilla

Clonezilla es una de las mejores herramientas para llevar a cabo nuestro proceso de clonación de disco de manera fácil y rápida. Puede que esta aplicación no tenga la interfaz más cómoda o atractiva pero garantiza la realización del proceso de forma correcta. ¿Lo mejor? Puede ejecutarlo a través de un CD o una memoria USB sin tener que instalar el software en su ordenador.

Clonezilla  como vemos es un software súper potente con el que no solo podrás clonar un solo disco, sino que tendrás la posibilidad de clonar 40 discos en simultaneo. Además, podrás utilizarlo desde un dispositivo externo como un CD o pendrive. Sin embargo, este es para usuarios más avanzados.

 EaseUS Partition Master

Sirve para  migrar a un disco de mayor tamaño o porque quieres sustituir tu viejo disco duro mecánico por un SSD que le proporcione mayor velocidad a su ordenador. Esta herramienta es muy sencilla y resulta bastante similar a GParted, pues consiste igualmente en copiar y pegar particiones de un disco a otro.

Con este programa podrás tener un disco clonado de manera sencilla y directa. Una herramienta ideal cuando está migrando información desde su HDD a tu SSD. Su información no sufrirá daños, ni se copiará incompleta, porque el software está optimizado para hacer los mejores clones de tus datos. Además, cuenta con dos alternativas con las que podrás hacer un respaldo y la otra con la que podrás recuperar archivos perdidos por accidentes o cualquier otra eventualidad.

Con su versión gratuita podrá tener unos buenos resultados, brindándote tranquilidad al momento de proteger tus archivos.

 

 Acronis Disk Director

Este programa resulta ideal para llevar a cabo el proceso de clonación, añadido a eso también podrás gestionar el disco, creando o formateando particiones entre otras varias funciones que esta herramienta pone a nuestra disposición.

Su version gratuita cuenta con solo 30 días. Sin embargo, si lo que deseas es hacer una clonación en particular Acronis le funcionará. Reduce las funciones de tu PC para evitar ralentizar el proceso y es sencillo de utilizar. Clona y haz copias de seguridad para proteger tus datos más importantes con este programa. No sufrirá de interrupciones porque el software está totalmente optimizado para gestionar bien el procedimiento del clonado

Además, podrás configurar el programa de manera que la clonación suceda de forma automática sin tener que preocuparse por no saber qué hacer.

clonar disco duro a ssd acronis

 

DriveImage XML-Clonar Unidad De Arranque

Esta herramienta es bastante amigable para aquellas personas que no dominen bien este tipo de procedimientos. Con el programa podrás clonar tu disco de una manera exacta y, además, escoger dónde quieres ubicar los elementos copiados. Ya no tendrás que preocuparte porque se te borraron los archivos de tu ordenador porque fácilmente las podrás recuperar y el software es compatible con Windows.

Podrá comprimir sus archivos con la intención de optimizar el espacio que tienes y protegerlos para mayor control, seguridad y tranquilidad.

 

 Aoemi Backupper-Standard 5.8

Este software es de fácil manejo y con el podrás clonar sus disco duro con seguridad. Su versión gratuita ofrece un listado de posibilidades para hacer clonación, recuperación o copias automáticas. Podrá clonar no solo el disco completo, sino sus particiones y también restaurar carpetas o archivos que en algún momento se perdieron.

Recibirá notificaciones de lo que resultó en tus copias de seguridad y cuenta con la alternativa de comprimir los archivos o colocar comentarios para saber de qué son

No se preocupe si no sabe nada sobre clonación de discos duros, este programa es muy sencillo de utilizar. Podrá hacer clonaciones fáciles tan solo copiando las partes de tu disco duro y pegando. Cuenta con la posibilidad de ajustar el tamaño de los archivos sin que se presente ninguna complicación en el proceso.

Entonces, bien sea que cambies de disco o desea pasar los datos a un disco sólido no será necesario formatear y perder los datos.

De todos los programas que hemos mencionado el mejor para personas que están aprendiendo a clonar es el Aomei Backupper Standard 5.8. Un programa sencillo de usar y eficiente para pasar datos a tu nuevo SSD. Podrá gozar de una alternativa con copiado inteligente para clonar particiones del disco que se utiliza en ambiente

 HDClone-De Miray Software

Este programa creado por Miray Software permite hacer clonaciones exactas de tu disco. Bien sea porque quieres pasarlo a un formato SSD o ya tu disco se ha quedado sin espacio. Conservarás todos tus datos y tendrás la alternativa de clonar archivo por o archivo y parte por parte de tu disco para un procedimiento organizado que permita tener datos resguardados y seguros.

Sin duda una buena herramienta para tener un registro fiel de todos los datos que queramos.

clonar disco duro a ssd windows 7

 

¿Cual es un programa favorito gratuito  de clonación ?¿conoce alguno que le haya dado buen resultado? Amigo lector  desde estas líneas estaremos encantados de compartir su experiencia

 

 

Socorro no me funciona el descodificador de Movistar+


 Recientemente a muchos usuarios abonados a la famosa plataforma Movistar +  les esta ocurriendo un extraña avería que no terminan de comprender, que   como vamos a ver nada tiene que  ver con el descodificador que se haya averiado  o que tenga una falta de conectividad.

La avería  se manifiesta  con que  el descodificador Movistar+ aparentemente empieza a cargar el firmware, pero al cabo del un rato cuando  termina  de cargar  se queda sin imagen con el piloto en azul después de aparecer los cinco bolitas de carga no iniciando por tanto la famosa plataforma líder de televisión. En esta casuística , si pulsamos el botón del muñeco de ajustes entonces nos aparecen las opciones de configuración del descodificador , pero si elegimos las opción de video por hdmi, no se consigue que se vea nada por la TV.

Bien ,en este caso lo normal suponiendo que este alimentado el descodificador  y este  suscrito  al servicio , lo normal seria seguir los siguientes pasos:

  • Resetear el router introduciendo un alfiler en el agujero de reset en la parte de atrás del descodificador .
  • Comprobar la  conexión ethernet.
  •  Comprobar la conexión con el TV.

Bueno , pues si  no conseguimos  con el procedimiento anterior solucionar el problema podemos sospechar que el descodificador  o la TV se han estropeado, pero  no se desanime querido lector pues hay un motivo que lo explica: una actualización del fw de los descodificadores  que hace que el descodificador cuando esta conectado por hdmi  a la TV  solo saque salida de video compatible con TV   relativamente modernos ( es decir con resolución  FULL-HD o superiores como  la resolución 4k o 8K ) y no TV con resoluciones mas bajas como HD o   HD-READY ( aunque este conectado por hdmi).

Cuanto mayor número de píxeles se consigue una mejor definición de las imágenes. En el caso de Full HD, las pantallas cuentan con 1920 píxeles horizontales y 1080 píxeles verticales, pero en cambio las pantalla con resolución HD Ready cuentan con 1280 píxeles horizontales y 720 píxeles verticales.

El estándar HDMI (High-Definition Multimedia Interface)   ha sido mejorado sucesivamente en distintas versiones, y los dispositivos son diseñados de modo que sean compatibles con una u otra versión de HDMI , siendo por tanto  una norma de video, cifrado sin compresión apoyada por la industria para que fuese  el sustituto de las anteriores normas de video análogico (RCA ,euro-conector, jacks de 3,5″,etc )  permitiendo el uso de vídeo digital de alta definición, así como audio digital multicanal en un único cable.

Esta norma es  independiente de los varios estándares DTV como DVB (-T,-S,-C), que no son más que encapsulaciones de datos del formato MPEG. Tras ser enviados a un decodificador, se obtienen los datos de vídeo sin comprimir que  se codifican en formato TMDS para ser transmitidos digitalmente por medio de HDMI.  

La última versión de HDMI a día de hoy es la versión 2.1, pero hay otras normas anteriores:

  • HDMI 1.0: fue la primera versión lanzada en 2002 y que era básicamente como unir DVI con audio en una única conexión..
  • HDMI 1.1: añade el soporte para DVD Audio.
  • HDMI 1.2: permite el uso de resoluciones y configuraciones personalizadas  dando más flexibilidad a los fabricantes.
  • HDMI 1.3: soporta la transmisión a resolución 2560 × 1440 a 60 Hz y el uso de Dolby TrueHD y DTS-HD Master Audio. 
  • HDMI 1.4: soporta 4K a  24 Hz y la posibilidad de actuar también como un conector de red Ethernet. 
  • HDMI 2.0: es el más extendido hoy en día y añade soporte para 4K a 60Hz, hasta cuatro streams de audio, y soporte para HDR dinámico.
  • HDMI 2.1: la última versión permitiendo hasta 8K a 120 Hz.

Como puede ver amigo lector  aunque el TV tenga conexión hdmi al descodificador  esto no es sinónimo de que el TV  soporte la máxima resolución , y eso es justo lo que esta  ocurriendo con algunos TV LCD  o LED no tan modernos   con soporte hdmi 1.0, 1.1 o 1.2  pues la  nueva salida de  video  entregada por  el descodificador no lo están soportando estos TV.

¿Bien , y como podemos  ver entonces con el mismo desco sin cambiar de TV? Pues amigo lector   me  temo que tendrá que desconectar la conexión hdmi  reemplazándola por una de  AV, dado que afortunadamente todos descodificadores de Movistar +  cuentan con una salida de AV en formato de jack de 3,5.

 

Respecto a las conexiones de este jack, la masa  o GND es el de  mas arriba , el siguiente es la salida de video compuesto   y los dos últimos los dos canales de audio.

Puede   hacerse  usted  mismo el cable con jack  y tres RCA’s hembra  con cable coaxial de tres cables   o conseguir el cable  ya montado   para transmitir señales de video compuesto y audio estéreo con  tres conectores RCA , dado que es el formato de entrada que casi  todos los TV suelen tener ( también hay adaptadores de RCA  a euro- conector en caso de que su TV no disponga de conectores RCA). 

 

Por cierto el color de las  funda de los conectores   RCA  no es casual reservándose  el color  amarillo para la señal de video compuesto  , el color  blanco  para el canal izquierdo   de audio y el color rojo para el canal derecho de audio

 

 

Este cable se puede conseguir en tiendas de electronica o en Amazon