Como conocer el consumo eléctrico de una forma barata


La potencia consumida , es la potencia capaz de transformar la energía eléctrica en trabajo dado que los diferentes dispositivos eléctricos existentes convierten la energía eléctrica en otras formas de energía(mecánica, lumínica, térmica, química, etc) .Esta potencia se designa con la letra P y se mide en vatios —watt— (W) o kilovatios —kilowatt— (kW). De acuerdo con su expresión, la ley de Ohm y el triángulo de impedancias:

{\displaystyle P=I_{e}\cdot V_{e}\cdot \cos \phi =I_{e}\cdot Z\cdot I_{e}\cos \phi =I_{e}^{2}\cdot Z\cdot \cos \phi =I_{e}^{2}\cdot R\,\!}

Debido a la gran importancia de la potencia eléctrica sobre las características del suministro eléctrico , hay algunos casos en los que puede ser conveniente cambiar la potencia contratada pues en la practica nos limitara o permitirá usar un determinado numero de dispositivos  eléctricos  simultáneamente

En este sentido, deberíamos estudiar  si necesitamos  un aumento o una reducción de la potencia contratada pues según la potencia que tengamos contratada con nuestra compañía suministradora     pagaremos  mas o menos  en nuestra factura mensual en concepto de potencia contratada  ademas de los kw/h que consumamos.

Precisamente para controlar este termino surge.el  Interruptor Controlador de Potencia o llamado también ICP  que corta el suministro  cuando detecta que la instalación eléctrica de la vivienda está haciendo uso de más cantidad de energía de la que tiene contratada obligando a  desconectar  aparatos y volver a subir el interruptor. Tradicionalmente estos dispositivos se instalaban  la derecha del cuadro de distribución de ca sellándose el  acceso a este en un compartimiento aparte, pero actualmente van integrados en los llamados contadores inteligentes , los cuales incluso pueden ser programados para aumentar o reducir la potencia contratada sin tener que cambiar físicamente el dispositivo

 

Si el limitador sea del modelo que sea  salta continuamente significa que hay menos potencia de la necesaria por lo que habrá que solicitar un aumento  (  y tendremos que pagar un poco mas en concepto de potencia contratada )  pero, si no es así ,y  se quiere ahorrar en las facturas de luz se puede  solicitar una reducción de la potencia contratada , !pero ojo si realmente se ha comprobado que hay más potencia contratada de la que se necesita ! ( por ejemplo instalando en casa  un watimtro como vamos a ver)  

 

Precisamente para concienciarnos  de lo que consumimos en nuestra vivienda en tiempo real  para poder tomar medidas correctoras  o para contratar mayor o menor potencia , existen unos sencillos  comprobadores multifuncionales , que nos pueden aportar esa información instantáneamente  de un modo bastante sencillo y económico , pues el  modelo que vamos a ver KKmoon AC 80-260 V 100A es muy económico  ofreciéndonos en tiempo real la siguiente información: 

  • Tensión de entrada de ca de la red de ca en voltios
  • Intensidad  de entrada expresada en amperios
  • Potencia activa expresada en watios
  • Potencia acumulada en Watios/Hora
  • Alarma en caso de sobrepasar un determinado umbral de potencia activa programada previamente

 

Este modelo con gran pantalla retroiluminada   y persistente (almacena los datos cuando cesa el suministro ) , como vemos se aleja de los anticuados instrumentos de aguja  no solo ofreciendo mas información integrada en un único aparato,pues  también incluye al función de alarma de sobrecarga pudiéndose programar  la  potencia a partir de la cual  dará un aviso visual cuando se superan el valor por defecto.

Este instrumento se controla con un solo pulsador  que esta a la izquierda de la pantalla  permitiendo    controlar la pantalla, energía, límite de alarma activada por defecto de energía de la nueva colocación.

Estos son los tres modos de operación actuando  sobre ese pulsador:

  • RETROILUMINACION:Mediante   una pulsación corta se activa o desactiva la retroiluminación  estando  por defecto encendida. En caso de programar alarma de umbral  solo se enciende  unos instantes
  • RESET;Mediante una pulsación larga de 5 segundos hasta que el numero en el display empiece a parpadear entonces liberar ,pulsar otra vez  y entonces el valor de la energía se borrara y dejara de parpadear ( sino quiere esto vuelva a pulsar por 5 segundos  hasta que el numero deje de parpadear lo que significara que el el valor de energía no se ha borrado  y saldrá del estado de reset
  • PROGRAMACIÓN DEL UMBRAL:Pulsando hasta que aparezca SET CLr  y después liberando  entramos en modo programación del umbral de la alarma. En la pantalla  se visualizara el valor de la alarma y el ultimo dígito parpadeando, entonces si pulsa cambiara el valor ,pero si no se pulsa en tres segundos cambiara al siguiente dígito automáticamente y así sucesivamente. Se finaliza la programación si pulsamos mas de 5 segundos  lo cual automáticamente salvara el umbral  y quedara configurado ese valor.

 

 

Instalación

Realmente es bastante sencillo de instalar  ese  dispositivo  kkmon  pues funciona de manera parecida a una pinza amperimetrica y solo necesita que pase por el interior de l a bobina que suministran  SOLO  uno de los cables que alimenta la vivienda  para poder dar las medidas.

En  primer lugar habrá que decidir el lugar   donde ubicarlo , siendo lo mas aconsejable que este cerca del cuadro de distribución de ca pues necesitamos atravesar uno de los cables  de la distribución de  ca  (no importa que sea la fase o el neutro)  por la bobina del instrumento

En el esquema de mas abajo de una instalación típica de una vivienda  podemos ver   algunos de los puntos donde podríamos intercalar la bobina ( solo debe pasar  un cable  por la bobina de medición)

Recordamos  que  como hay que soltar el cable en los puntos mencionados ,hacer pasar por el cable la bobina  y volverlo a colocar en su lugar el citado cable , debe extremar las medidas de seguridad  para evitar exposición a la c.a. asi que si no tiene experiencia, rogamos solicite la ayuda de un profesional.

En todo caso ,antes de desconectar algunos de los cables propuestos   en alguno de estos puntos, desconecte el interruptor general  ( en el dibujo es el magnetotérmico  que esta mas a la izquierda)y compruebe con un buscapolos o un multimetro que efectivamente no hay tensión en el cable a desconectar . Hecho este desconecte , intercale la bobina entre el cable  , vuelva a conectar en el original  y ya puede volver a conectar la ca

 

instalacion

Una vez decido el punto donde intercalar la bobina, soltaremos ,pasaremos el cable  y volveremos a conectar   y luego si estaba protegido con cinta volveremos a cubrir la conexión con este

IMG_20180914_191355[1]IMG_20180912_124923[1].jpg

En el montaje hemos decidido instalar en la vieja caja ict , ya que al contar con contador inteligente el ict esta integrado en este, así que practicaremos un agujero de d 89,6 x 49,6 aprox.   en el frontal de dicha caja

 

IMG_20180914_191058[1]

Opcionalmente se puede colocar otros elementos  como por ejemplo un cargador usb  para alimentar en un futuro algún dispositivo que envié las mediciones  para  poder ser consultadas remotamente.

 

IMG_20180914_191050[1]

Ahora ya insertaremos el medidor en el frontal de la caja ict

IMG_20180912_124844[1].jpg

La iluminación de la pantalla es genial y permite ver en todo momento con claridad.

IMG_20180914_191623[1]

Nos  queda conectar  también el  aparato de medición a la ca , bien a una toma de ca con un enchufe , o bien , ya que estamos en el cuadro de distribución de ca,  a la salida de alguno de los magnetotérmicos de salida  de los circuitos  de la vivienda.

RECODAMOS TENGA MUCHA PRECAUCIÓN A LA HORA DE MANIPULAR LOS CABLES DE CA

IMG_20180914_191708[1]

Probaremos como va antes de atornillar la   tapa a la caja

IMG_20180914_192512[1]

!Trabajo  finalizado!  Con esto concluimo la instalacion del dispositivo

IMG_20180914_192105[1]

Ajustes  finales

Mediante   una pulsación corta  de 5  segundos del pulsador de la izquierda del instrumento se activa o desactiva la retroiluminación  estando  por defecto encendida. En caso de programar alarma de umbral  solo se enciende  unos instantes

Mediante una pulsación larga de 5 segundos del mismo pulsador hasta que el numero en el display empiece a parpadear entonces liberar ,pulsar otra vez  y entonces el valor de la energía se borrara y dejara de parpadear ( sino quiere esto vuelva a pulsar por 5 segundos  hasta que el numero deje de parpadear lo que significara que el el valor de energía no se ha borrado  y saldrá del estado de reset

Pulsando hasta que aparezca SET CLr  y después liberando  entramos en modo programación del umbral de la alarma. En la pantalla  se visualizara el valor de la alarma y el ultimo dígito parpadeando, entonces si pulsa cambiara el valor ,pero si no se pulsa en tres segundos cambiara al siguiente dígito automáticamente y así sucesivamente. Se finaliza la programación si pulsamos mas de 5 segundos  lo cual automáticamente salvara el umbral  y quedara configurado ese valor.

 

 

Por cierto, si le interesa este instrumento , se puede comprar en Amzon  por menos de 14€

Anuncios

Interactuar con Netduino via twitter


ThingSpeak™ es un servicio web gratuito muy veterano  y del que hemos  hablado en este blog en numerosas ocasiones   que  permite recopilar y almacenar datos de sensores  conectados a Rasberry Pi, Arduino ,Netduino  entre otros  para enviarlos  hacia  un servicio de datalogger  en la nube.

Asimismo  también sirve para  desarrollar aplicaciones de Internet de las cosas como por ejemplo desencadenar ciertas acciones  ante determinados cambios en las medidas  , tal y como vamos a ver en este caso desencadenando envíos de tweets con  el motivo de la alerta.

 

 

bandwidth close up computer connection

Photo by panumas nikhomkhai on Pexels.com

 

El servicio de web de ThingSpeak es uno de los servicios mas veteranos  en la red proporcionando  aplicaciones que le permiten analizar y visualizar los datos en MATLAB®y luego actuar sobre los cambios en esos  datos desencadenando acciones.

Los datos de los sensores pueden enviarse a ThingSpeak desde  un  Arduino®, Raspberry Pi™, BeagleBone Black  asi como  desde Netduino+  entre otras  plataformas

 

En este post vamos a intentar  ver  cómo se puede enviar un tweet cuando los datos de punto de rocío superan un umbral  usando dos  aplicaciones  como son ThingTweet y React :

  •  ThingTweet  sirve  para vincular una cuenta Twitter® a su cuenta ThingSpeak. Sus dispositivos pueden enviar alertas a través de Twitter utilizando la API de TweetContol. Por ejemplo, puede hacer que un dispositivo tuitee cuando la temperatura de su invernadero disminuya o cuando las baterías de un dispositivo se estén agotando. Los pasos son sencillos : entraremos c en Link Twitter Account para vincular una cuenta de Twitter a su cuenta ThingSpeak y cuando se le pida que autorice a ThingTweet a usar su cuenta ingresaremos el nombre de usuario y contraseña de Twitter marcando la casilla Recordarme para guardar en caché las credenciales de Twitter en su pc  y por supuesto haciendo clic en Autorizar aplicación
  • React funciona con las aplicaciones ThingHTTP, ThingTweet y MATLAB Analysis para realizar acciones cuando los datos del canal cumplen una determinada condición. Por ejemplo se  puede hacer que una aplicación móvil informe su latitud y longitud a un canal ThingSpeak, de modo que cuando su posición esté dentro de una cierta distancia de su casa,  ThingHTTP encienda las luces de su sala.

Como pasos previos para poder usar ambos servicios  se requiere que ya han realizado estos pasos:

  • Crear una cuenta de  Twitter® .
  • Iniciar sesión a su cuenta de MathWorks®   o la cuenta de ThingSpeak™ , o crear una nueva cuenta de MathWorks .
  • Crear un canal como el canal calculados del   punto de rocío.
  • Leer los datos de estación meteorológica( por ejemplo desde una placa Netduino)  en su canal y calcular el punto de rocío como vimos en el post anterior

Nota : En este  ejemplo vamos a  utilizar una medida   intermedia que es calculada en función de la humedad  y temperatura  , pero lógicamente  los desencadenantes se pueden  lanzar desde medidas sencillas   que no requieran un calculo intermedio .

Vincular  la cuenta de Twitter  a ThingSpeak

Para empezar  tenemos que vincular una cuenta de twitter a  nuestra cuenta de thingspeak . Para ello  puede seguir lo siguintes  pasos:

  1. Validese en su cuenta de ThinSpeak
  2. Ir a aplicaciones(Apps) > ThingTweet.
  3. En la página ThingTweet, haga clic en (enlace de cuenta de Twitter (Link Twitter Account ) para vincular su cuenta de Twitter a tu cuenta de ThingSpeak.
  4. Tiene que autorizar el acceso a su cuenta de twitter desde ThingSpeak
  5. Introduzca su nombre de usuario de Twitter y contraseña y haga clic en Autorizar la aplicación.

  6. En la página de autorización , haga clic en volver a ThingTweet(back to ThingSpeak).   Nos avisara de que su cuenta de Twitter está relacionada con ThingSpeak  devolviendonos  el valor del APIKEY   , el cual por cierto podemos fiorzar a cambiar  gracis  al boton  Regenerate API Key.
  7. Si queremos  deshacer este cambio simplemente pulsaremos sobre el botón  desenlazar cuenta  (“Unlink Account”)

Reaccionar al cambio en el punto de rocío

Una vez vinculada   su cuenta de twitter a thingspeak    ya podemos indicar a React que  envie un tweet cada vez que el nivel de punto de rocío supere  un valor va sobre 15ªC , testeando el  canal cada 10 minutos.

Estos son los pasos para hacerlo:

  1. Ir a aplicaciones > react  hacera clic en Reaccionar de nuevo.
  2. Nombre este react por ejemplo como  “Tweet de punto de rocío.”
  3. Defina el tipo numérico.
  4. Ajuste la Frecuencia de la prueba a cada 10 minutos.
  5. Establecer la condición cuando el valor de la humedad en su canal alcanza o supera los 60:
    • Si canal: seleccione el canal de medición de punto de rocío.
    • campo: seleccione 3 (punto de rocío).
    • Para el tipo de condición, seleccione es mayor o igual a.
    • El valor de condición, entre 60 (se refiere a grados Fahrenheit)

    • Ajuste acción en ThingTweet.
    • Entrar en esta cadena en tweet a continuación:
      Turn off that humidifier! It's above 60F
    • Seleccione su cuenta de Twitter con la cuenta de Twitter.
    • En Opciones, elija Ejecutar acción cada vez que la condición se cumple.

    Click Save React.

El tweet se envíara cada vez que el nivel de humedad supere los 15,5ºC o 60 ° F.

Es evidente que esta facilidad de ThingSpeak   ,que sinsisteimo es soportado por un amplio abanico de hardware (como Raspberrry, Arduino o el propio Netduino), tiene una utilidad indudable para infinidad de condiciones  que nos pueden facilitar la vida como por ejemplo  apertura de puertas o ventanas,  temperaturas anómalas , caídas de tensión ,  y un largo etcétera.

Análisis de datos con MathWorks y Netduino


Este ejemplo muestra cómo leer datos de temperatura y humedad de ThingSpeak  ( del canal 12397)  , que recoge datos meteorológicos de un  dispositivo de  Iot que perfectamente  puede ser una placa  Arduino , Raspbery Pi o incluso  un Netduino.
La idea es enviar a los datos de temperatura y humedad en el canal de medición de punto de rocío, y calcular con arreglo a estos  datos el punto de rocío  utilizando ThingSpeak™ para visualizar los resultados en su canal.
El punto de rocío o temperatura de rocío es la más alta temperatura a la que se condensa el vapor de agua contenido en el aire, produciendo rocío, neblina, cualquier tipo de nube o, en caso de que la temperatura sea lo suficientemente baja, escarcha.

Este ejemplo  requiere que ya han realizado estos pasos:

  • Iniciar sesión a su cuenta de MathWorks®  o en la cuenta de ThingSpeak  o crear una nueva cuenta de MathWorks .
  • Crear un canal como el canal de medición de punto de rocío.

Leer datos de un canal

Leer la temperatura y humedad en el canal público de WeatherStation campos 3 y 4 y escribir los datos en campos 2 y 1, respectivamente, de su canal de medición de punto de rocío. Punto de rocío es calculado y escrito a campo 3.

Para usar el análisis de   MATLAB®  para leer, calcular y escribir los datos siga los siguientes pasos:

  1. Ir a la pestaña de aplicaciones y haga clic en Análisis de MATLAB.
  2. Haga clic en nuevo. Seleccione la plantilla personalizada y haga clic en crear.
  3. En el campo nombre , escriba.Dew Point Calculation
  4. En el campo de código MATLAB, introduzca las siguientes líneas de código.
    1. Guardar la estación pública canal ID y tu ID de canal de medición de punto de rocío a las variables.
      readChId = 12397;
      writeChId = 677;  % replace with your channel number
    2. Guardar su clave de API de escribir en una variable.
      writeKey = 'F6CSCVKX42WFZN9Y'; % Replace with your channel write key

      Para encontrar su canal ID y Write API Key, consulte información del canal en la pestaña de Mis canales .

    3. Leer los últimos 20 puntos de datos de temperatura con las marcas de tiempo y la humedad en el canal público de la estación meteorológica en las variables.
      [temp,time] = thingSpeakRead(readChId,'Fields',4,'NumPoints',20);
      humidity = thingSpeakRead(readChId,'Fields',3,'NumPoints',20);

Calcular el punto de rocío

Agregue el siguiente código MATLAB para calcular el punto de rocío con las lecturas de temperatura y humedad:

  1. Convertir la temperatura de Fahrenheit a Celsius.
    tempC = (5/9)*(temp-32);
  2. Especificar las constantes de vapor de agua () y (presión barométrica). bc
    b = 17.62;
    c = 243.5;
  3. Calcular el punto de rocío en grados Celsius.
    gamma = log(humidity/100) + b*tempC./(c+tempC);
    dewPoint = c*gamma./(b-gamma)
  4. Convertir el resultado a Fahrenheit.
    dewPointF = (dewPoint*1.8) + 32;
  5. Escribir datos en el canal de medición de punto de rocío. Este código entradas todos los datos en una operación e incluye las marcas de hora correcta.
    thingSpeakWrite(writeChId,[temp,humidity,dewPointF],'Fields',[1,2,3],...
    'TimeStamps',time,'Writekey',writeKey);

    El bloque completo de código aparece ahora como:

    % Enter your MATLAB Code below
    readChId = 12397;
    writeChId = ZZZZZ;              % Replace with your channel number
    writeKey = 'XXXXXXXXXXXXXXXX';  % Replace with your channel write key
    [temp,time] = thingSpeakRead(readChId,'Fields',4,'NumPoints',20);
    humidity = thingSpeakRead(readChId,'Fields',3,'NumPoints',20);
    tempC = (5/9)*(temp-32); 
    b = 17.62;
    c = 243.5;
    gamma = log(humidity/100) + b*tempC./(c+tempC);
    dewPoint = c*gamma./(b-gamma)
    dewPointF = (dewPoint*1.8) + 32;
    thingSpeakWrite(writeChId,[temp,humidity,dewPointF],'Fields',[1,2,3],...
    'TimeStamps',time,'Writekey',writeKey);
  6. Haga clic en Guardar y ejecutar para validar y procesar el código.Cualquier error en el código se indica en el campo de salida .
  7. A ver si el código funcionó con éxito, haga clic en su enlace de canal de Medición de punto de rocío en el panel de Información del canal .

El canal de medición de punto de rocío ahora muestra gráficos con datos de un canal de cada campo.

Código del calendario

Utilizaremos  la aplicación TimeControl para programar el cálculo del punto de rocío en el código de analisis MATLAB programando este  para leer los datos de la estación cada 30 minutos y calcular el punto de rocío

Estos son los pasos a seguir:

  1. Desplácese hasta la parte inferior de la página de MATLAB análisis cálculo de punto de rocío. Haga clic en TimeControl para abrir la aplicación MATLAB análisis pre-seleccion en el campo de acciones y el cálculo del punto de rocío como la ejecución de código.
  2. Nombre de su nuevo TimeControl Dew Point TC
  3. Elegir recurrentes en el campo de frecuencia .
  4. Elegir el minuto en el campo de la repetición .
  5. Seleccione 30 en el cada — minutos campo.
  6. Mantener el Tiempo de inicio en el valor predeterminado.
  7. Verificar que la acción es, y el código a ejecutar es el.MATLAB AnalysisDew Point Calculation
  8. Haga clic en Guardar TimeControl

Nota:Configurar un TimeControl para escribir datos en el canal utiliza mensajes disponibles en su cuenta de ThingSpeak. Esta acción puede agotar eventualmente mensajes disponibles, que se traduce en rechazo del canal de alimentación de actualizaciones. Asegúrese de que los datos que escribes a un canal de no se superponen en el dominio del tiempo como hace uso innecesario de los mensajes.

Visualizar medida de punto de rocío

Se puede utilizar la aplicación visualizaciones de MATLAB para visualizar los datos de punto de rocío medido, la temperatura y la humedad de tu canal de medición de punto de rocío. Este ejemplo utiliza la función Mostrar todos los puntos de tres datos en una única visualización.thingSpeakPlot

Ir a aplicaciones > MATLAB visualizacionesy haga clic en nueva para crear una visualización.

Alternativamente, usted puede hacer clic en Visualización de MATLAB en su punto de vista del canal de medición de punto de rocío.

Seleccione la plantilla personalizada y haga clic en crear.

  1. Nombre de la visualización “Punto de rocío.”
  2. Crear variables para su ID de canal de medición de punto de rocío y su clave de API de lectura. Sustituya los valores en el código con tu canal ID y la clave de API de lectura.
    readChId = 677
    readKey = '36LPYCQ19U37ANLE'
  3. Leer datos de los campos de canal y obtener los últimos 100 puntos de datos para:
    • Temperatura: De campo 1
    • Humedad: Del campo 2
    • Punto de Rocío: de campo 3
      [dewPointData,timeStamps] = thingSpeakRead(readChId,'fields',[1,2,3],...
          'NumPoints',100,'ReadKey',readKey);
  4. Parcela los datos x y y las etiquetas, un título y una leyenda.
    thingSpeakPlot(timeStamps,dewPointData,'xlabel','TimeStamps',...
        'ylabel','Measured Values','title','Dew Point Measurement',...
        'Legend',{'Temperature','Humidity','Dew Point'},'grid','on');

    El código se verá similar a este código:

    % Enter your MATLAB code below
    readChId = ZZZZZ              % Your Channel ID                 
    readKey = 'XXXXXXXXXXXXXXXX' %Your Read API Key
    [dewPointData,timeStamps] = thingSpeakRead(readChId,'fields',[1,2,3],...
        'NumPoints',100,'ReadKey',readKey);
        thingSpeakPlot(timeStamps,dewPointData,'xlabel','TimeStamps',...
        'ylabel','Measured Values','title','Dew Point Measurement',...
        'Legend',{'Temperature','Humidity','Dew Point'},'grid','on');
  5. Haga clic en Guardar y ejecutar. Si su código MATLAB no tiene errores, la salida de trama es similar a la trama que se muestra a continuación:

 

Fácil monitorización de temperatura con Cayenne


Gracias  a la plataforma de Cayenne , de la que hemos hablado en este blog en numerosas  ocasiones es bastante sencillo monitorizar cualquier variable física  de un modo realmente sencillo  simplemente  haciendo drug &drop desde el panel de control de Cayenne

En este ejemplo  vamos a  ver lo facil que es crear monitor temperatura con Cayenne  , el  cual  utilizando internet sin tener conocimientos  de programación conseguir controlar o monitorizar lo que quiera  en tan solo unos minutos

En efecto   gracias  a un  framework  genérico desarrollado por  myDevices IO Project Builder llamado Cayenne , los desarrolladores , fabricantes y  también aficionados  pueden  construir rápidamente prototipos y proyectos que requieran controlar o monitorizar   cualquier cosa conectada a  una placa  con conectividad  , permitiendo con una sóla cuenta gratuita de Cayenne, crear un número ilimitado de proyectos  mediante una solución  muy sencilla  basada en arrastrar y soltar 

Obviamente el punto fuerte de cayenne  son las  capacidades de  IO  para que pueda controlar de forma remota sensores, motores, actuadores, incluidas los puertos  de GPIO con almacenamiento ilimitado de datos recogidos por los componentes de hardware,   triggers y alertas,  que proporcionan las herramientas necesarias para la automatización y la capacidad de configurar alertas. Ademas también puede crear cuadros de mando personalizados para mostrar su proyecto con arrastrar y soltar widgets que también son totalmente personalizables.

Resumidamente algunas  características clave de esta novedosa  plataforma son las siguientes:

  • Una aplicación móvil para configurar, el monitor y los dispositivos de control y sensores desde cualquier lugar.
  • Fácil instalación que conecta rápidamente los dispositivos, sensores, actuadores, y las extensiones en cuestión de minutos.
  • Motor de reglas para desencadenar acciones a través de dispositivos.
  • Panel personalizable con widgets de visualización de arrastrar y soltar.
  • Programación de las luces, motores y actuadores
  • Control de puertos que se pueden configurar desde una aplicación móvil o  desde un navegador
  • Acceso remoto instantáneo desde su smartphone o con un ordenador
  • Para construir un proyecto de la IO a partir de cero se ha logrado el objetivo de proporcionar  un Proyecto Generador de IO que reduce el tiempo de desarrollo de horas en lugar de meses.

Como veremos , hablamos de un constructor de sitio web fácil de usar, pero para proyectos de IOT, así que veamos  los pasos para crear un proyecto de IoT con esta potente herramienta usando  en esta ocasión un clon de Arduino con wifi : el ESP8266

Hardware y Software

Picture of Hardware and Software  Picture of Hardware and SoftwarePicture of Hardware and Software

El hardware  y software a que necesitaremos es el que siguiente:

 

Sensor DHTXX

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 ademas 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 o ESP8266.

Ambos son similares ( DHT11 presenta una carcasa azul  , 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 Vcc y el Pin Output.

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 ESP82366  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:

arduino-dht11-dht22-esquema

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.Por ejemplo podemos usar la librería de Adafruit disponible en este enlace.

Conexión de DHT22 a  ESP12E

El  ESP12E    esta basado en Arduino  pero cuenta   también conectividad wifi integrando la propia antena en la placa de circuito impreso en unas  dimensiones de  25.6mm x 34.2mm .  Además, por motivos de reducción de espacio esta placa no integra conexión usb  , para lo cual necesitaremos un USB FTDI   para programarlo o un  controlador Setup CH340g.

Esta placa cuenta con 11 pines digitales de entrada / salida, todos los pines tienen interruptor / pwm / I2C / 1-wire    siendo su chip principal el  ESP8266 CH340G

Una gran diferencia con una placa Arduino es que solo cuenta  con 1 entrada analógica (entrada máxima de 3,3 V)

 

Como  vemos el circuito para conectar al  ESP12E      un sensor de temperatura  no puede ser más sencillo, pues     simplemente alimentaremos con 3.3v DC tanto el DHT22 como el  ESP12E        en sus  pines correspondiente     sin olvidar  que la salida de datos del DH22(pin datos )    tenemos que conectarla al  pin 5 del GPIO

 

 

 Programar el  ESP12E

Para  probar Cayenne  con el  ESP12E       necesitamos  programar su ESP-12E para conectarse a su punto de acceso wifi   . El código fuente a subir  se puede descargar desde https://codebender.cc/embed/sketch:398516

Básicamente  el código a subir al    ESP12E     usa 5 librerías:  tres de Cayenne donde  tendremos que definir el SSID y la pwd de la red wifi asi como las credenciales de Cayenne    , una cuarta de temporización para enviar muestras a intervalos prefijados ( que obviamente podemos cambiar ) y por último la mencionada para la gestión del DTHXX

Es de destacar  la creación  de  dos puertos virtuales  para capturar  los valores  en tiempo real de la temperatura  y la humedad tomadas ambas  del DHTXX  , lo cual nos van a permitir comunicarnos con el API de Cayenne

 

#include "CayenneDefines.h"
#include "CayenneWiFi.h"
#include "CayenneWiFiClient.h"
#include <SimpleTimer.h>
#include "DHT.h"

#define CAYANNE_DEBUG
#define CAYANNE_PRINT Serial
#define DHTPIN 5
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
// Change the value of token, ssid, and pwd to yours
char token[] = "xxxxxx";
char ssid[] = "xxxxxx";
char pwd[] = "xxxxx";
DHT dht(DHTPIN, DHTTYPE);

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Cayenne.begin(token, ssid, pwd);
dht.begin();
}

CAYENNE_OUT(V0)
{
float t = dht.readTemperature();
Cayenne.virtualWrite(V0, t); //virtual pin
}

CAYENNE_OUT(V1)
{
float h = dht.readHumidity();
Cayenne.virtualWrite(V1, h); //virtual pin
}

void loop() {
Cayenne.run();
}

Importante:  Necesitaremos actualizar  en el código anterior cambiando el valor de ssid, contraseña  configurandola para la red wifi de su hogar y  también no olvidar   registrar  el  token de Cayenne que previamente habrá solicitado  desde la propia web de cayenne.

Configuración Cayenne Dashboard

Hemos hablado en  muchas ocasiones de Cayenne  pues en realidad está concebido para  que su manejo sea realmente sencillo   de configurar

Nos iremos a  su   url :   https://cayenne.mydevices.com/  

Tras registrarnos nos iremos  al panel de control   ,clicamos en  Add new   y seleccionamos generic ESP8266

A continuación nos ofrece  la API key que deberemos añadir al sw del   ESP12E      y tras reiniciarlo  ya debería poderse  comunicar con el node de Cayenne

 

Si la placa  pues   está configurada con el MQTT  ( username /pwd)     asi como con conectividad  wifi ,  ya   debería  de  poder conectarse al framework de Cayenne   y podemos seguir hacia adelante añadiendo sensores que deberan estar de acuerdo con el sw instalado en el ESP12E

En este caso como hemos definido  dos puertos virtuales para temperatura y humedad el firmware del ESP12E  , necesitamos añadir dos widgets  asociados a esos dos canales:

Para la temperatura  no olvidar que habíamos asignado el primer puerto virtual, el cual ue debemos asignar al widget:
Para la humedad   no olvidar que habíamos asignado el segundo puerto virtual, el cual ue debemos asignar al widget:
Finalmente al asignar los dos widgets  , si esta la placa conectada , debería mostrar un panel similar al siguiente  en el que se jha añadido un widget nuevo asociado al puerto analogico

Configuración de su primer  trigger

Los triggers  o disparadores en Cayenne son una forma de hacer que su placa  reaccione a un cambio  de un sensor conectado a él. Esto podría ser algo tan simple como un valor de temperatura superior a un cierto valor o incluso sólo si el ESP12E pierde la conexión, lo cual como se podría imaginar puede ser muy potente en la creación de dispositivos inteligentes que reaccionan a los alrededores ( como por ejemplo, si la habitación se pone demasiado fría, encienda un  calefactor, etc ).

El proceso de agregar un disparador es muy sencillo como vamos a ver a continuacion:

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar un trigger desde el cuadro de abajo.
  3. El nombre de su trigger, voy a llamar a la mía “demasiado caliente”.
  4. Ahora arrastrar y soltar su  ESP12E  desde la esquina izquierda en el caso de la caja.
  5. Por debajo de esto seleccionar el sensor de temperatura y tienen casilla junto a “por encima de la temperatura” seleccionado. (Si las opciones del dispositivo no se muestran simplemente actualizar la página)
  6. Ahora en el cuadro de selección a continuación, notificación y agregar una dirección de correo electrónico o número de teléfono de un mensaje de texto (puede agregar ambos).Asegúrese de marcar las casillas de verificación también.Dispara demasiado caliente
  7. Ahora haga clic en “Save trigger”.
  8. Ahora se debe guardar y le enviará una alerta cada vez que el sensor de temperatura es más de 40 grados Celsius.
  9. También puede arrastrar el ESP12E en el cuadro a continuación, y tienen que hacer muchas cosas, incluyendo el control de los dispositivos de salida. Por ejemplo, puede  añadir un LED que se activará cuando la temperatura supere los 40 grados Celsius.
  10. Para hacer clic en el gatillo de disparo LED de nueva situada en la parte superior de la página. Nombre esta activar el gatillo LED.
  11. Ahora arrastrar el Pi en el caso de la caja y luego seleccione el sensor de temperatura de nuevo con 40 grados centígrados por encima.
  12. Ahora arrastrar el ESP12E  en cuadro a continuación. Seleccione nuestra salida digital y marque la casilla de verificación activada.
  13. Ahora haga clic en Save trigger.
  14. Ahora, cada vez que nuestro sensor de temperatura conectado al Pi informe una temperatura superior a 40 grados Celsius, enviará un correo electrónico y encenderá el LED.También necesitará agregar otro disparador para apagar el LED cuando caiga por debajo de los 40 

Mydevices cayennem Disparadores

 

 

 

Sin duda hay infinitas posibilidades como el lector   puede imaginar

 

Innovador termostato inteligente para climatizacion


Tadoº es una empresa, acelerada por los fondos Amérigo, que ha desarrollado un original  termostato de climatización inteligente  así como un termostato inteligente ,que a gran diferencia de  otros equipos  que requieren intercalar electrónica en el sistema de calefacción o climatización , con este nuevo sistema  simplemente se  envían las órdenes por infrarrojos  correspondientes al equipo climatizador que se tenga  en el caso del sistema de climatización inteligente o bien se coloca directamente sobre las válvulas de los radiadores en el caso de los termostatos inteligentes.

En el caso  de climatización , el  dispositivo  funciona con casi todos los aires acondicionados  pues es compatible con aquellos que se controlen  con un mando a distancia por infrarrojos  que muestre los ajustes actuales del aire acondicionado :por ejemplo, el modo, la temperatura de consigna y la velocidad del ventilador,  puesto que la instalación se hace con el mando a distancia de modo   muy fácil.

Con el modo de aprendizaje, tado° puede aprender los comandos desde su viejo mando a distancia y a partir de ahí   ya se podría  controlar desde el mando del dispositivo  o desde la app   dado que el dispositivo  se conecta a internet a través de Wi-Fi.

 

tado.PNG

Este equipo a diferencia de los convencionales, los cuales se limitan a programar unas horas y temperaturas, tiene en cuenta la ubicación de sus usuarios para determinar si es necesario adelantar el encendido de la calefacción o el sistema de climatización  o si puede demorarlo para no gastar dinero innecesariamente.

Gracias a la ubicación de una App en el teléfono del usuario, tado° ajusta el aire acondicionado de manera automática, es decir, pre-enfría antes de llegar a casa y apaga el aire al estar ausente, lo que permite ahorrar hasta un 40% en los costes de la factura de energía sin sacrificar el bienestar y el confort

 

Los dispositivos pueden ser controlados de forma remota a través de una unidad de control central. Por ejemplo, un teléfono móvil puede establecer la conexión a través de internet en cualquier momento y en cualquier lugar. Con la app móvil de tadoº, es posible controlar y regular el sistema de aire acondicionado de forma flexible informando desde la app  de la temperatura actual de tu hogar, los ahorros que esto supone y  permitiendo controlar su aparato de aire acondicionado  de forma remota desde cualquier lugar.

 

Utiliza control por geolocalización: para maximizar el ahorro, tado° usa la ubicación de los residentes para asegurarse de que el aire acondicionado se apaga automáticamente cuando la última persona salga de casa, y empezará a enfriar de nuevo cuando detecte a la primera persona volver  permitiendo ahorrar de este modo  hasta un 40% en gastos de energía.

 

Gracias al internet de las cosas, las familias y las empresas pueden reducir los costes de energía de manera significativa por ejemplo según sus creadores afirman con el control inteligente  es posible ahorrar hasta un 31% en los costes de energía.

Además de ahorrar en los costes, el IoT garantiza la reducción del consumo de energía y el uso de recursos eficientemente puesto  que el sistema  apaga la climatización de forma automática cuando el último residente sale del edificio y la vuelve a encender justo cuando detecta a la primera persona volver.

La conexión de los dispositivos, ofrece un incremento de calidad de vida y más confort,pues estos  sistemas  regulan su sistema de calefacción o aire acondicionado automáticamente sin tener que realizar ninguna modificación adiciona simplificando la  vida de las personas que lo usan.

Por ultimo en el el caso de Tado este sistema de Climatización Inteligente ofrece distintas posibilidades de integración, como Google Home, Amazon Echo para controlar tu calefacción con  comandos de voz o  crear Applets con IFTTT para conectar con otras aplicaciones y dispositivos inteligentes.

 

 

Mas información en  https://www.tado.com/es/

Google Cloud IoT Core


En post anteriores hemos visto la potencia de Microsft Azure en torno al Universo del Edge Iot Computing  mostrando de una forma clara como es posible con una Raspeberry Pi 3 o un ESP8266   empezar a utilizar con muy buenos resultados dicha plataforma, pues bien como no podía ser de otra forma Google también ha desarrollado su propia plataforma denominada Google Cloud Iot Core

 

Cloud IoT Core es un servicio completamente administrado que le permite conectar, administrar e ingerir datos de manera fácil y segura desde millones de dispositivos dispersos a nivel mundial. Cloud IoT Core, en combinación con otros servicios en la plataforma Google Cloud IoT, proporciona una solución completa para recopilar, procesar, analizar y visualizar datos de IoT en tiempo real para admitir una mejor eficiencia operativa.

loud IoT Core, que utiliza Cloud Pub / Sub debajo, puede agregar datos de dispositivos dispersos en un solo sistema global que se integra perfectamente con los servicios de análisis de datos de Google Cloud. Por ejemplo puede usarse el  flujo de datos de IoT para análisis avanzados, visualizaciones, aprendizaje automático y más para ayudarlo a mejorar la eficiencia operativa, anticipar problemas y crear modelos completos que describan y optimicen mejor su negocio.

Cloud IoT Core es compatible con los protocolos estándar MQTT y HTTP, por lo que se pueden usar dispositivos existentes con mínimos cambios de firmware.Asimismo Google Cloud IoT Core se ejecuta en la infraestructura sin servidores de Google, que se amplía automáticamente en respuesta a los cambios en tiempo real y se adhiere a los estrictos protocolos de seguridad estándar de la industria que protegen los datos de su empresa

 

En este post  veremos  Google Cloud Platform Console para crear un registro de dispositivos Cloud IoT Core y registrar un dispositivo. También veremos  cómo conectar un dispositivo y publicar eventos de telemetría del dispositivo.

Como siempre antes de empezar se requiere cumplir ciertos requisitos:

  • Inicie sesión en su cuenta de Google. (si aún no tiene uno, regístrese para obtener una cuenta nueva) .
  • En la consola de GCP, vaya a la página Administrar recursos y seleccione o cree un nuevo proyecto.Vaya a la página Administrar recursos
  • Asegúrese de que la facturación esté habilitada para su proyecto.Desde aqui se puede  habilitar la facturación
  • Habilite las API Cloud IoT Core y Cloud Pub / Sub.Habilita las API

Configure Google Cloud SDK y gcloud

  1. Instale Google Cloud SDK . Cloud IoT Core requiere la versión 173.0.0 o superior del SDK.
  2. Ejecute el siguiente comando para actualizar la CLI de gcloud que se incluye en el SDK:
    gcloud components update
    

    Si está utilizando una máquina virtual de Compute Engine con la instalación predeterminada de gcloud, no podrá actualizar los componentes. Para habilitar Cloud IoT Core en una máquina virtual de Compute Engine, reinstale gcloud ejecutando los siguientes comandos:

    sudo apt-get remove google-cloud-sdk
        curl https://sdk.cloud.google.com | bash
        exec -l $SHELL
        gcloud init
    

Para obtener más detalles, consulte la documentación de referencia de los comandos de gcloud iot .

Introducción al Cloud IoT Core

Registro del dispositivo

Para que un dispositivo se conecte, primero debe registrarse con Cloud IoT Core. El registro consiste en agregar un dispositivo a una colección (el registro) y definir algunas propiedades esenciales. Puede registrar un dispositivo con Cloud Platform Console, comandos gcloud o la API REST-style.  En conjunto, las funciones que le permiten registrar, monitorear y configurar dispositivos se llaman administrador de dispositivos.

Protocolos (MQTT y HTTP)

Cloud IoT Core admite dos protocolos para la conexión y comunicación del dispositivo: MQTT y HTTP. Los dispositivos se comunican con Cloud IoT Core a través de un “puente”, ya sea el puente MQTT o el puente HTTP. Cuando crea un registro de dispositivo, selecciona protocolos para habilitar: MQTT, HTTP o ambos.

MQTT es un protocolo de publicación / suscripción estándar que los dispositivos integrados usan y soportan con frecuencia, y también es común en las interacciones máquina a máquina.

HTTP es un protocolo “sin conexión”: con el puente HTTP, los dispositivos no mantienen una conexión con el Núcleo Cloud IoT. En cambio, envían solicitudes y reciben respuestas.

Autenticación de dispositivo

Cloud IoT Core utiliza autenticación de clave pública (o asimétrica):

  • El dispositivo usa una clave privada para firmar un JSON Web Token (JWT) . El token se pasa al Cloud IoT Core como prueba de la identidad del dispositivo.
  • El servicio utiliza la clave pública del dispositivo (cargada antes de que se envíe el JWT) para verificar la identidad del dispositivo.

Control del dispositivo desde la nube

Con Cloud IoT Core, puede controlar un dispositivo modificando su configuración. Una configuración de dispositivo es una acumulación arbitraria de datos definidos por el usuario que pueden estructurarse o no. Si sus dispositivos usan MQTT, las configuraciones se propagan automáticamente a ellos. Si sus dispositivos se conectan a través de HTTP, deben solicitar configuraciones explícitamente.

Configurando dispositivos

Con Cloud IoT Core, puede controlar un dispositivo modificando su configuración. La configuración de un dispositivo es una burbuja de datos arbitraria y definida por el usuario. Después de que se haya aplicado una configuración a un dispositivo, el dispositivo puede informar su estado a Cloud IoT Core.

La configuración del dispositivo funciona de manera diferente en los puentes MQTT y HTTP. Ver abajo para más detalles.

Límites

Las actualizaciones de configuración están limitadas a 1 actualización por segundo, por dispositivo. Sin embargo, para obtener los mejores resultados, la configuración del dispositivo debe actualizarse con mucha menos frecuencia, como máximo, una vez cada 10 segundos.

La tasa de actualización se calcula como el tiempo entre el acuse de recibo más reciente del servidor y la próxima solicitud de actualización.

Diferencias de protocolo

MQTT

Los dispositivos que usan MQTT pueden suscribirse a un tema especial de MQTT para actualizaciones de configuración:

 / devices / {device-id} / config

Cuando un dispositivo se suscribe al tema de configuración, el puente MQTT responde con un mensaje SUBACK MQTT, que contiene la QoS concedida para el tema de configuración (0 o 1) o 128 si se produce un error.

Después de suscribirse inicialmente, el dispositivo recibe la configuración más reciente en la carga útil de un mensaje y recibirá actualizaciones de configuración adicionales a medida que se envíen a Cloud IoT Core.

Las siguientes muestras ilustran cómo recuperar las actualizaciones de configuración en un dispositivo a través de MQTT usando Python:

def get_client(
project_id
, cloud_region, registry_id, device_id, private_key_file,
algorithm
, ca_certs, mqtt_bridge_hostname, mqtt_bridge_port):
“””Create our MQTT client. The client_id is a unique string that identifies
this device. For Google Cloud IoT Core, it must be in the format below.”””

client
= mqtt.Client(
client_id
=(‘projects/{}/locations/{}/registries/{}/devices/{}’
.format(
project_id
,
cloud_region
,
registry_id
,
device_id
)))

# With Google Cloud IoT Core, the username field is ignored, and the
# password field is used to transmit a JWT to authorize the device.
client
.username_pw_set(
username
=‘unused’,
password
=create_jwt(
project_id
, private_key_file, algorithm))

# Enable SSL/TLS support.
client
.tls_set(ca_certs=ca_certs, tls_version=ssl.PROTOCOL_TLSv1_2)

# Register message callbacks. https://eclipse.org/paho/clients/python/docs/
# describes additional callbacks that Paho supports. In this example, the
# callbacks just print to standard out.
client
.on_connect = on_connect
client
.on_publish = on_publish
client
.on_disconnect = on_disconnect
client
.on_message = on_message

# Connect to the Google MQTT bridge.
client
.connect(mqtt_bridge_hostname, mqtt_bridge_port)

    # This is the topic that the device will receive configuration updates on.
    mqtt_config_topic = ‘/devices/{}/config’.format(device_id)

    # Subscribe to the config topic.
    client.subscribe(mqtt_config_topic, qos=1)

return client

HTTP

Si está utilizando el puente HTTP , los dispositivos deben solicitar explícitamente nuevas configuraciones .

El  siguiente ejemplo en python ilustran cómo recuperar las actualizaciones de configuración en un dispositivo a través de HTTP:

def get_config(
version
, message_type, base_url, project_id, cloud_region, registry_id,
device_id
, jwt_token):
headers
= {
‘authorization’: ‘Bearer {}’.format(jwt_token),
‘content-type’: ‘application/json’,
‘cache-control’: ‘no-cache’
}

basepath = ‘{}/projects/{}/locations/{}/registries/{}/devices/{}/’
template
= basepath + ‘config?local_version={}’
config_url
= template.format(
base_url
, project_id, cloud_region, registry_id, device_id, version)

resp = requests.get(config_url, headers=headers)

if (resp.status_code != 200):
print(‘Error getting config: {}, retrying’.format(resp.status_code))
raise AssertionError(‘Not OK response: {}’.format(resp.status_code))

return resp

Actualización de la configuración del dispositivo

Puede actualizar la configuración del dispositivo utilizando Cloud Platform Console, Cloud IoT Core API o gcloud.

Por Consola

  1. Vaya a la página Registros del dispositivo en la Consola GCP.
  2. Haga clic en el ID del registro que contiene el dispositivo.
  3. En la página de detalles del registro , haga clic en el ID del dispositivo cuya configuración desea actualizar.
  4. En la parte superior de la página, haz clic en Actualizar config.
  5. Seleccione un formato para la configuración y pegue los datos en el cuadro Configuración .
  6. Haga clic en Enviar al dispositivo .

Usando gcloud

Para actualizar la configuración de un dispositivo, ejecute el gcloud iot devices configs update :

 gcloud iot dispositivos configs update \
   (--config-data = CONFIG_DATA | --config-file = CONFIG_FILE ) \
   --device = DEVICE_ID \
   --registry = REGISY_ID \
   --region = REGION \
   [--version-to-update = VERSION_TO_UPDATE ]

Los dispositivos se actualizarán de acuerdo con el protocolo que usan .

Usando Cloud iot Core API

Para actualizar la configuración del dispositivo a través de la API, use el método Device modifyCloudToDeviceConfig , especificando la nueva configuración en el campo config . También puede especificar una configuración al crear un dispositivo y luego usar modifyCloudToDeviceConfig para cambiarla más tarde.

El siguiente ejemplo en Pythoon  ilustran cómo actualizar la configuración de un dispositivo:

def set_config(
service_account_json
, project_id, cloud_region, registry_id, device_id,
version
, config):
print(‘Set device configuration’)
client
= get_client(service_account_json)
device_path
= ‘projects/{}/locations/{}/registries/{}/devices/{}’.format(
project_id
, cloud_region, registry_id, device_id)

config_body = {
‘versionToUpdate’: version,
‘binaryData’: base64.urlsafe_b64encode(
config
.encode(‘utf-8’)).decode(‘ascii’)
}

return client.projects(
).locations().registries(
).devices().modifyCloudToDeviceConfig(
name
=device_path, body=config_body).execute()

Revisando la configuración del dispositivo

Por ultimo  tambien uede revisar las últimas 10 versiones de la configuración de un dispositivo mediante Cloud Platform Console, la API o gcloud.

Consola

  1. Vaya a la página Registros del dispositivo en la Consola GCP.
  2. Haga clic en el ID del registro que contiene el dispositivo cuya configuración desea actualizar.
  3. En la página de detalles del registro , haga clic en el ID del dispositivo cuya configuración desea actualizar.
  4. Haga clic en Configuración e historial de estado.

Utilice las casillas de verificación para controlar si se muestra el historial de configuración o el historial de estado, o ambos. Haga clic en Comparar para ver si la configuración y el estado coinciden como espera.

gcloud

Para obtener configuraciones recientes, ejecute la gcloud iot devices configs list y describe comandos:

 Configuración de dispositivos de gcloud iot list DEVICE_ID \
   --registry = REGISY_ID \
   --region = REGION \
   [--filter = EXPRESIÓN ]
   [--limit = LIMIT ]
   [--sort-by = [ CAMPO , ...]]
 Las configuraciones de dispositivos gcloud iot describen DEVICE_ID \
   --registry = REGISY_ID \
   --region = REGION

Fuentes:   https://cloud.google.com/iot/docs/how-tos/getting-startedhttps://cloud.google.com/iot/docs/how-tos/config/configuring-devices

Monitorizacion remota de IoT con notificaciones desde Azure en conexión de su hub de IoT


Azure Logic Apps proporciona una forma de automatizar procesos como una serie de pasos. Una aplicación lógica se puede conectar a través de varios servicios y protocolos. Comienza con un activador como ‘Cuando se agrega una cuenta’, y luego una combinación de acciones, una como ‘enviar una notificación de inserción’. Esta característica hace que Logic Apps sea una solución de IoT perfecta para la monitorización de dispositivos IoT, como por ejemplo para alerta ante anomalías, entre otros escenarios de uso.  

 

Resumidamente   estas son las cosas  que necesitaremos  hacer par lograr nuestro objetivo:

  • Crear un espacio de nombres del autobús de servicio y añadir una cola a él.
  • Añadir un punto final y una regla de enrutamiento a su hub de IoT.
  • Crear, configurar y probar una aplicación de la lógica.

Necesitaremos para ello como siempre tener configurado  un dispositivo de Iot enviando mensajes a la nube de Azure de Iot Hub.

 

Crear espacio de nombres de Servicio del Bus y añadirle una cola

Crear un espacio de nombres del bus de servicio

  1. En el portal de Azure, haga clic en crear un recurso >Enterprise Integration(Integración empresarial )> Service Bus.
  2. Proporcione la siguiente información:Nombre: el nombre del bus de servicios.Pricing tier  déjelo en Standard .
  3. En suscripción dejelo  en Evaluación gratuitaGrupo de recursos: utilizar el mismo grupo de recursos que utiliza el hub de IoT.

    Ubicación: utilizar la misma ubicación que utiliza el hub de IoT.

  4. Pinchar Anclar al panel
  5. Haga clic en crear.

Añadir una cola de autobús de servicio

  1. Abrir el espacio de nombres del Bus de servicio y haga clic en + Quue(cola.)
  2. Introduzca un nombre para la cola y haga clic en crear.
  3. Abrir la cola del Bus de servicio(entities-Queues-el nombre del la nueva cola )   y haga clic en CONFIGURACION  –Shared access policies (directivas de acceso compartido) > + añadir.
  4. Introduzca un nombre para la política de controlar administrar y haga clic en create (crear).

Añadir un punto final y una regla de enrutamiento a su hub de IoT

Añadir un punto final

  • Abrir su centro de IoT, haga clic en MensajeriaPuntos de conexión > + Añadir.
  • Introduzca la siguiente información:                                                                                 Nombre: el nombre del extremo.Tipo de punto final: seleccione Cola de autobús servicio.Espacio de nombres del servicio de bús: seleccionar el espacio de nombres que creó.

    Cola de Service Bus: seleccione la cola creada.

  • Haga clic en Aceptar.

Add an endpoint to your IoT hub in the Azure portal

Agregar una regla de enrutamiento

  1. En su centro de Internet, haga clic en  MENSAJERIA  – rutas > + añadir.
  2. Introduzca la siguiente información:Nombre: el nombre de la regla de enrutamiento.Fuente de datos: seleccionar DeviceMessages.Punto final: seleccione el punto final de ha creado.

    Cadena de consulta: entrar.temperatureAlert = "true"

  3. Haga clic en Guardar.

Add a routing rule in the Azure portal

Crear y configurar una aplicación de lógica

Crear una aplicación de lógica

  1. En el portal de Azure, haga clic en crear un recurso >Enterprise Integration( Integración empresarial )> Lógic app.
  2. Introduzca la siguiente información:Nombre: el nombre de la aplicación de la lógica.Grupo de recursos: utilizar el mismo grupo de recursos que utiliza el hub de IoT.Ubicación: utilizar la misma ubicación que utiliza el hub de IoT.
  3. Haga clic en crear.

Configurar la aplicación de la lógica

  1. Abra la lógica de la aplicación que se abre en el diseñador de aplicaciones de la lógica.
  2. En el diseñador de aplicaciones de lógica, haga clic en BlanK Logic App
  3. Haga clic en Service Bus.
  4. Haga clic en el Servicio de Bus cuando uno o varios mensajes en una cola (Autocompletar).
  5. Crear una conexión de bus de servicio.
    1. Introduzca un nombre de conexión.
    2. Haga clic en el espacio de nombres de servicio bus > la política de autobús servicio > crear.
    3. Haga clic en continuar después de la conexión de bus de servicio.
    4. Seleccione la cola que creó e introduzca para recuento de mensajes máximo175
    5. Haga clic en “Guardar” el botón para guardar los cambios.
  6. Crear una conexión de servicio de SMTP.
    1. Haga clic en nuevo paso > Agregar una acción.
    2. Tipo, haga clic en el servicio SMTP en el resultado de la búsqueda y haga clic en SMTP – envíe correo electrónico.SMTP
    3. Introduzca la información de SMTP del buzón y haga clic en crear.Obtenga la información de SMTP para Hotmail/Outlook.com, Gmaily Yahoo Mail. ( Nota :Su proveedor de servicios de correo electrónico necesitará verificar la identidad de remitente para asegurarse de que eres tú quien envía el correo electrónico9.
    4. Introduzca su dirección de correo electrónico para de y ay para asunto y el cuerpo.High temperature detected
    5. Haga clic en Guardar.

 

La aplicación de la lógica estará   en orden de funcionamiento en cuanto se guarde así que ya podemos probar su funcionalidad  así que :

  1. Inicie la aplicación cliente que implementa en el dispositivo en ESP8266 conectar a Azure IoT.
  2. Aumentar la temperatura del ambiente alrededor del Sensor por encima de 30 C.(por ejemplo, encendiendo una vela cerca del sensor ).
  3. Usted debe recibir una notificación por correo electrónico enviada por la aplicación .

     

Hemos visto lo relativamente sencillo que es  crear  una aplicación lógica que conecta el hub de IoT y buzón para monitorizar  temperatura y enviar notificaciones.

Fuente https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-monitoring-notifications-with-azure-logic-apps