Convierta su calentador eléctrico en inteligente


Todo el mundo quiere  ahorrar en su  factura eléctrica  no solo por reducir la cuantía económica  de su importe: también porque  cada KW/H  que consigamos ahorrar  representa un pequeño gesto para el planeta  en términos básicamente de emisiones de co2 emitidas  en la atmósfera , dada la procedencia de la energía  que en términos generales procede de centrales térmicas)

En este sentido para disminuir nuestro consumo eléctrico se nos ocurren  diferentes estrategias:

  • Ajustar la  temperatura del aire acondicionado en invierno  (bajando la temp)   y/o en verano subiendo esta
  • Sustituir todas  las luminarias por luces led
  • Adquirir o cambiar nuestros  electrodomésticos  por aquellos con la etiqueta  A+ o mejor A+++
  • Invertir  en aislamiento térmico de la vivienda  por ejemplo en ventanas con doble  cristal
  • Bajar la temperatura del calentador 
  • Tender la ropa en el exterior en lugar de  usar secadora
  • Evitar planchar la ropa 
  • Descongelar los alimentos dentro de la  nevera
  • Regular mejor el frigorífico en función de la temperatura
  • Utilizar interruptores de corte en la mayo ria de equipos electrónicos para eliminar el consumo de los equipos que  están en stand-bye ( el famoso consumo fantástico)
  • etc

Bien , y si cumplimos todas la directrices anteriores   dado que las tarifas eléctricas han alcanzado sus máximos históricos   ¿cree  que se puede ahorrar mas ? Pues  en efecto siempre se puede y se debería intentar , por ejemplo centrándonos en  un  electrodoméstico que esta siempre conectado y por lo tanto  susceptible de optimizar  : el calentador eléctrico,

Como sabemos los calentadores eléctricos convencionales mas usados son los del tipo acumulador, lo cual obliga a estar conectados  por medio de un termostato en serie que acciona el elemento calefactor. Cuando por  disminución del caudal  de agua caliente  o simplemente por perdidas en el aislamiento (muchos afirman que las  pérdidas en 24 horas puede  llegar a  ser  1,39 KWh al día, lo cual al año  serian  1,39 x 30 x12 = 500,4 KWh ) , baja la temperatura en el interior de la cuba   se  activa automáticamente la resistencia hasta recuperar la temperatura al valor  preestablecido. Este mecanismo tan simple ha demostrado ser eficaz durante muchos años tanto es así que su diseño no ha variado sustancialmente  hasta llegar a nuestros tiempos, pues  se debería poder mejorar  mediante la función “Smart”,

En efecto los  nuevos termos con función  Smart  estos adecuan automáticamente  su activación   en función de los hábitos de utilización del usuario, consiguiendo una temperatura precisa en función de la demanda de agua caliente real de cada usuario  “aprendiendo” por tanto de los hábitos de sus  usuarios  convirtiendo esto  en un patrón que  luego se recrea de forma repetitiva en ciclos de una semana.

Por ejemplo imaginemos una familia compuesta por 2 adultos con 3 hijos cuyos hábitos de consumo de agua caliente son los siguientes:

  • Los  niños se bañan a las 8 de la tarde de lunes a jueves  y luego el domingo.
  • Los 2 adultos se duchan por la noche a las 10  todos los días 
  • Por la tardes se utiliza el agua caliente de forma ocasional.

En este casi  vemos  que  si  el termo aprende ese  patrón de hábitos   puede prever cuándo va a necesitar agua caliente sanitaria y, por tanto, adecuar la activación de la resistencia con tiempo  de forma precisa según  las necesidades de la familia en cuestión ( en el ejemplo  activando la resistencia en los horarios en los que más se necesita   por la tarde y noche  por la tardes manteniendo el agua a 45º C el resto del día por si hubiera una necesidad puntual.)   

De esta manera, se consigue el máximo confort con el mínimo consumo, logrando ahorros de hasta un 20% en el consumo eléctrico.

Para los usuarios más exigentes, que buscan la mayor eficiencia y comodidad,  también existe una solución excelente: los programadores digitales ( dimensionados al consumo del calentador)  , ya que actualmente incorporan un avanzado sistema que permite realizar precisas programaciones temporales de su funcionamiento:

  •  Programación diaria/semanal.
  •  Posibilidad de programar diariamente el funcionamiento del termo durante 3 diferentes intervalos de tiempo.
  •  Encendido automático del termo con la justa antelación para conseguir la temperatura deseada en la hora programada.

Lo normal es que un termo eléctrico tarde sobre 2 o 2,5 horas en calentar el agua. Para saberlo con exactitud lo recomendable es mirarlo en el manual de usuario del aparato. Con estos datos y los horarios de las duchas establecidos podemos programarlos encendidos del calentador el tiempo suficiente para que caliente el agua. Una vez antes de comenzar la primera ducha es aconsejable desconectarlo. Con la idea de que no siga calentando agua que no vamos a utilizar.

 

Aunque como vemos es factible  si no  dispone de un termo con la función Smart  usar un temporizador semanal  programado manualmente  a  la demanda , en los tiempos actuales es mucho mas sencillo e  igualmente  económico optar por un enchufe inteligente  , que nos hará las veces de temporizador programando cómodamente desde la app los  intervalos que necesitemos y ademas  con varios añadidos adicionales;

  • Se puede activar o desactivar a distancia (por ejemplo si esta de viaje y desea activarlo unas horas antes de llegar)
  • Se puede programar activación por días  y franjas horarias
  • Permite monitorizar en tiempo real el consumo en kw/h 
  • Registro histórico del  consumo  ,lo cual permite comprobar si las reglas definidas son correctas y nos están permitiendo ahorrar energía ( o no)
  • Permite automatización de procesos por medio de otros dispositivos inteligentes ( por ejemplo, piense en un detector de presencia conectado en el baño que desconectase automáticamente al entrar en el baño )

 

El modelo que hemos probado es  el modelo  MSS310   que puede controlar una carga  hasta 15 Amperios  desde cualquier lugar , gracias a la aplicación Meross (IOS 9 y superior, Android 4.1 y superior )  permitiendo encender y apagar dispositivos conectados a este enchufe así como establecer  horarios o temporizadores para satisfacer sus necesidades diarias.

Después del emparejamiento del modelo  MSS310    con Alexa o el Asistente de Google IFTTT, los usuarios simplemente pueden controlar los dispositivos conectados a los comandos de voz  . Las funcionalidades que podemos implementar mediante Google Home, Amazon  Alexa o IFTTT, se limitan a encender y apagar el aparato, nada más. No es posible acceder al consumo  desde los citados asistentes pero tampoco al estado de encendido o apagado del aparato lo cual si estaría bien ( de hecho otros interruptores, como los de SonOff, bastante mas caros por cierto , tampoco parece que tengan acceso directo al consumo, pero sí que permiten establecer alertas sobre el consumo, mediante límites, o saber si el interruptor está encendido o apagado al menos con IFTTT).

Asimismo es posible con el  modelo  MSS310    analizar el consumo de energía histórico desde la propia app del vendedor aunque tiene unas limitaciones pues aunque podemos ver la energía que consume la carga conectada al aparato de forma instantánea, el único historial que se guarda es el consumo medio diario, es decir, la mínima resolución de registro temporal es de 1 día 

 

App de control

Meross es un proveedor global de dispositivos y servicios sobre Wi-Fi productos   que  fue establecido por un grupo de expertos experimentados que solían trabajar para grandes nombres como Microsoft, MTK, Cisco, TP-LINK y etc. Dada su relación sólida y excelente con los proveedores de upstream en la industria, meross ha atraído varias ofertas de inversión y se está expandiendo rápidamente   y como ejemplo destaca modelo enchufe inteligente   controlado mediante la app Meross, disponible en Google Play  ( Android 4.1 y superior ) y también en Apple Stores ( IOS 9 y superior)

Como se puede imaginar el lector , Meross se centra principalmente en aparatos de automatización del hogar pues son conscientes del potencial  en el mercado asi que los clientes pueden conectar sus dispositivos electrónicos en dichos dispositivos  y luego utilizar el Meross aplicación para administrar fácilmente por debajo de características.

Como  hemos adelantado esta app una vez sincronizada en el móvil con la wifi ,permite  las siguientes acciones:

1. Encender o apagar los dispositivos electrónicos  desde cualquier lugar .
2. Crear horarios de encendido / apagado  asi como  normas de apagado automático para trabajar automáticamente.
3. Comprobar  los dispositivos conectados estan encendidos  o  apagados desde cualquier lugar para su tranquilidad  contratando ademas en tiempo real su consumo.

 

Los  pasos a seguir para usar el enchufe inteligente

  1. Descargar la app Meross, disponible en Google Play 
  2. Abrir la aplicación
  3. En primer lugar necesitamos registrarnos en la aplicación para lo cual solo nos pedirá una cuenta de correo electrónico   y una password  “fuerte” ( debe contener letras y números)                                                                                                                                                                                                                                                                            
  4. Enseguida nos pedirá autorización para habilitar los servicios de ubicación para  poder usar estos  en los automatismos, lo cual por el momento con solo enchufe inteligente  NO  nos va ser necesario                                                                                                                                                                                                                                                       
  5. Ahora toca seleccionar el dispositivo con el que nos conectaremos , que en nuestro caso ,  precisamente es el primero : Smart Plug                                           
  6. Lo siguiente  es proporcionar la clave wifi al dispositivo para que se pueda ser accesible desde la aplicación y que este tenga conectividad independientemente del smartphone                                                                                                                                                                                                                                                                                                 
  7. Ahora  ya si podemos enchufar el enchufe inteligente   cerca del router wifi   del hogar para que notenga problemas de cobertura a la hora de la primera configuración                                                                                                                                                                                                                                                                                                               
  8.  Nos toca ahora esperar el emparejamiento con nuestra red wifi  momento en el que  el led del propio enchufe pasara a lucir verde ,    Es de destacar que en esta primera configuración ambos enchufe inteligente   y smartphone deben estar en la  misma red , por lo que si el smatphone no esta conectado pedirá habilitar la red wifi y la clave en caso de no estar informadas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  9.  Una vez ya sincronizado por wifi nos pedirá un nombre para identificar al enchufe inteligente   así como un icono dentro de un abanico de imágenes que nos presenta.                                                                                                                                                                                                                                                                                                                                       
  10.  Ahora ya solo queda configurar el dispositivo , por ejemplo si queremos encender el led del enchufe inteligente  , asignar una ubicación , etc.

 

Es  muy interesante que el aparato va registrando en un gráfico de forma diaria el valor acumulado del consumo diario, de modo que si tenemos un contador inteligente instalado por el suministrador ,  podemos saber el consumo global del resto de dispositivos eliminando el calentador   , restando ambas cantidades mejorando con esto el conocimiento del consumo diario del resto de dispositivos del hogar  por si tal vez tenemos que añadir mas  enchufe inteligente  ( por ejemplo vitroceramica,horno , etc)

 

En resumen,  es muy interesante poder ahorrar con estos aparatos inteligente , pues solo tenemos que modificar nuestros hábitos y costumbres diarias.Con el ahorro obtenido en menos de tres años, podemos  llegar a  amortizar por ejemplo  la compra del termo eléctrico   !y eso solo con no tener el termo eléctrico enchufado todo el día!.

 

Anuncios

Un paso más hacia el coche autónomo


Telefónica ha presentado esta semana en Talavera de la Reina(Toledo )  el primer caso de uso de 5G con un minibús eléctrico EZ10 de conducción autónoma, lo que supone el hito inicial del proyecto Ciudades Tecnológicas 5G .

En efecto gracias  a la cobertura 5G de una unidad móvil de Telefónica ,donde se ha desplegado una antena 5G de Ericsson  que usa  la banda 3,5 GHz,  se ha podido  demostrar  eel funcionamiento de     un vehículo eléctrico autónomo  sin conductor  de la compañía EasyMile en el que se ha instalado un terminal 5G de Ericsson

easymile

EasyMile EZ10  es un autobús eléctrico autónomo alimentadado  por una batería de 8 kWh Litio LiFePO4 en 48V de tensión  continua que le ofrece unas 14 horas de autonomia .

Este vehículo es bastante pequeño pues tiene unas medidas de 4mt de longitud por 2 metros de ancho  y unos 2.75mt de alto  con 2.8mt de distancia entre ejes pero aun asi tiene capacidad para hasta ocho personas y permite que otros siete pasajeros viajen de pie o puedan acomodar una silla de ruedas, con el objetivo de ayudar a recorrer el primer trayecto a de un viaje como por ejemplo de conexión entre la linea de metro y una terminal de aviación .

Este modelo EZ10  ya se ha desplegado en más de 100 ciudades y 29 países.

El  vehículo eléctrico de EasyMile cuenta con la tecnología más avanzada en conducción autónoma, integrando numerosos sensores :

  • LIDAR
  • GPS
  • Videocámaras
  • Sensores de poroximidad
  • etc

Todos estos , permiten analizar el entorno y crear un mapa tridimensional del mismo.

Este  vehículo autónomo, al estar permanentemente conectado, puede gestionarse remotamente gracias a la tecnología 5G permitiendo el acceso en tiempo real a sus datos de telemetría internos (sensores, localización extremadamente precisa, velocidad, rango de giro, etc)  de modo que se puede actuar sobre él en cualquier instante.Para que nos hagamos una idea del volumen de datos de la información recogida por los sensores puede llegar hasta 4TB de información diaria por lo que se requiere de un gran ancho de banda para transferir estos datos en tiempo real al borde de la red y de una latencia extremadamente baja. Todo ello de cara a procesar conjuntamente los datos recibidos por los vehículos de una determinada área y proceder a la toma de decisiones, aumentado de este modo la seguridad en entornos  donde cobiven  vehiculos y peatoness.

Con esta demostración, dislumbramos  lo que puede ser al futuro mostrando cómo las capacidades del 5G pueden beneficiar a la conducción autónoma, un ejemplo del gran abanico de nuevas posibilidades del 5G, permitiendo a Ericsson y Telefónica posicionarse como líderes en la transformación de España hacia 5G.

Estimaciones indican que en 2022 existirán unos 10 millones de vehículos autónomos, muchos de ellos recogiendo pasajeros 24 horas al día  asi que etste vehiculo es un buen puento de partdia

Lanzadera de EZ10

EasyMile es pues una empresa pionera en tecnología de vehículos autónomos y soluciones inteligentes de movilidad que desarrolla software para automatizar las plataformas de transporte sin necesidad de infraestructura dedicada .Fundada en junio de 2014, EasyMile SAS desarrolla y comercializa vehículos autónomos.

Fue formalmente una empresa conjunta formada por Ligier y Robosoft Technology PTE Ltd (Francia).

EZ10 se desarrolló con la ayuda del proyecto CityMobil2 cofinanciado por el Séptimo Programa Marco de la Unión Europea para investigación y desarrollo tecnológico

En enero de 2017, se anunció que Alstom había invertido € 14 millones en Easymile y las dos compañías habían firmado un acuerdo de asociación comercial.

En julio de 2017, Continental también anunció una inversión en EasyMile.
EasyMile es una de las empresas líderes que se especializa en tecnología de vehículos autónomos y tiene un alcance global con oficinas centrales en Toulouse (Francia) y oficinas regionales en Denver (EE. UU.), Berlín (Alemania), Melbourne (Australia) y Singapur.

Con más de 100 empleados altamente capacitados y apasionados con experiencia en robótica, visión artificial y dinámica de vehículos, EasyMile suministra soluciones de movilidad inteligente y tecnologías autónomas para vehículos sin conductor: desarrollo de software que permite la automatización de diversas plataformas de transporte, una poderosa gestión interna de flotas solución para vehículos autónomos, y suministro de soluciones de movilidad inteligentes para transportar pasajeros o logística en sitios privados, urbanos, suburbanos o rurales en diversos entornos.

La lanzadera sin conductor EZ10 ya se ha desplegado en 20 países de Asia-Pací fi co, Medio Oriente, América del Norte y Europa. Además de los fundadores, Alstom y Continental también son accionistas de EasyMile.

Por su parte, CarMedia Solutions es una startup española creada con la visión de que el coche conectado y autónomo revolucionará la movilidad y se convertirá en esta Quinta Pantalla.

Un resumen estas son algunas de las características del vehiculos:

  •  100% vehículo eléctrico driverless
  •  Viaja hasta 45 km/H
  •  LLeva hasta 15 pasajeros
  •  Rampa de acceso incorporada para pasajeros con movilidad reducida
  • Opera en rutas fijas o bajo demanda
  •  Supervisado por el software de gestión de flotas EASYMILE
  •  Opera en carreteras existentes sin necesidad de infraestructura adicional

El caso de uso en Talavera de la Reina se enmarca en el proyecto Ciudades Tecnológicas 5G, puesto en marcha por Telefónica el pasado mes de enero, para convertir Talavera de la Reina y Segovia en laboratorios vivos 5G donde realizar en paralelo tanto el despliegue tecnológico como los casos de uso que permitan poner en valor las capacidades del 5G.

Fuente https://www.telefonica.com/es/web/sala-de-prensa/-/telefonica-presenta-el-primer-caso-de-uso-5g-con-conduccion-autonoma-y-consumo-de-contenidos

Cómo visualizar datos de sensores en tiempo real desde su hub de IoT Azure


Vimos  en  un post anterior  cómo es  posible usar Power BI de Azure  para visualizar datos de los sensores en tiempo real desde Azure IoT, pues bien,  existe otra posibilidad para  visualizar datos de los sensores en tiempo real que el hub de IoT recibe , que es  ejecutando una aplicación web que está alojada en la nube de Azure .

Para  cumplir con nuestro propósito de ver los datos de telemetría de nuestro dispositivo de Iot conectado a la nube de Iot Azure Edge ,    veremos como crear una aplicación web en el portal de  Azure preparando su hub de IoT para acceso a datos mediante la adición de un grupo de consumidores. Hecho esto configuraremos una aplicación web para leer datos del sensor de su hub de IoT y subiremos  esta aplicación web  a la nube de Azure ,la cual  nos permitirá  ver desde un navegador los datos de telemetría enviados  desde su hub de IoT ¿le interesa el tema? pues si es así empezemos.

Antes de empezar   deberíamos   tener configurado  un dispositivo Iot de Azure como por ejemplo  algunos que hemos visto como puede ser una Raspberry Pi 3  , un ESP8266  o incluso un dispositivo simulado.  Como hemos comentado en otros  posts todos esos  dispositivos de Azure IoT  hub  deben implementar una aplicación de ejemplo la cual  enviará  datos que  los sensores recogen del mundo físico ( humedad , temperatura, presencia, etc  ) a su hub de IoT.

Asimismo  teniendo dispositivos IoT enviando mensajes  de telemetría a la nube de Azure Iot Edge, para lograr persistencia en la nube de Azure  necesitamos una cuenta de Azure storage  así como  una aplicación Azure  para poder almacenar los mensajes de hub de IoT en el almacenamiento blob  como hemos visto en otros posts

Crear una aplicación web

  1. En el portal de Azure, haga clic en Crear un recurso > Web y móvilAplicación Web > Aplicación web
  2. Escriba un nombre único para la aplicacion  y anotar pues nos sera util para acceder a esta
  3. Verificar la suscripción  que para este ejmeplo pude ser “Evaluacion gratuita” si no dispone de otro recurso de este tipo
  4. Especifique un grupo de recursos  pinchando en Usar existente y  pinchando en el disponible
  5. Finalmente  seleccione Anclar al  panel y a continuación, haga clic en Crear.hestiaweb.PNG
  6. Este proceso puede tardar varios minutos dada la complejidad de  su realización ( localizar una máquina virtual disponible , obtener permisos , crear la instancia web ,etc)
  7. En este momento  , copie vaya nuevamente al servidor web –>introducción y copie el valor del campo URL ( sera del tipo   https://xxxx.azurewebsites.net/)    de modo que como debería estar  corriendo  su web se obtendrá una respuesta  parecida  la siguiente si copiamos dicha url en un navegador:azureweb.PNG

 

Añadir un grupo de consumidores a su hub de IoT

Los grupos de consumidores son utilizados por las aplicaciones para extraer datos desde Azure IoT, por ello necesitamos crear un grupo de consumidores para ser utilizado por un servicio de Azure para  leer los  datos de su centro de IoT.

Para agregar un grupo de consumidores a su hub de IoT, siga estos pasos:

  1. En el portal de Azure, abra su hub de IoT.
  2. En el panel izquierdo  casi en la parte más inferior en el apartado Mensajería , seleccione Puntos de conexión y  haga clic en este.
  3. Seleccione en el panel central  events  , introduzca un nombre en grupos de consumidores en el panel derecho y haga clic en Guardar.stream.PNG

Configurar la aplicación web para leer datos de su centro de IoT

  1. Abra en Azure la aplicación web que ha aprovisionado.
  2. Haga clic en el marco izquierdo casi  al final en CONFIGURACION->Configuración de la aplicación, y luego en configuración de la aplicación, agregue los siguientes pares clave/valor:
    Clave Valor
    Azure.IoT.IoTHub.ConnectionString Obtenidos desde el explorador de iothub  en  Azure IOT HUB >xx – Explorador de dispositivos–>OD del Dispositivo xxx –>cadena de conexion clave principal
    Azure.IoT.IoTHub.ConsumerGroup El nombre del grupo de consumidores que se agrega a su hub de IoT cumplimentado en el  apartado anterior

    hestiaweb_configuracion.PNG

  3. Haga clic en configuración de la aplicación, debajo de configuración General, activar la opción de  Web  Sockets  ( esta desactivado por defecto ) y a continuación, haga clic en Guardar.

Subir una aplicación web

En GitHub, Microsoft ha puesto a nuestra disposición muchas aplicaciones web de ejemplo para desplegar en Azure . Nos interesa  el código en node.js  de una aplicación  web completa que puede mostrar los  datos de telemetría  en tiempo real desde su hub de IoT .

Todo lo que se  necesita hacer es configurar la aplicación web para trabajar con un repositorio Git, descargar la aplicación web de GitHub y luego subir a Azure de la aplicación web al host.

El repositorio web-apps-node-iot-hub-data-visualization contiene el código en node para desplegar una aplicación web en la nube de Azure, que puede leer los datos de temperatura y humedad del IoT hub y mostrar los datos en tiempo real en un gráfico de líneas en una página web.

Los navegadores compatibles son

Navegador La menor versión
Internet Explorer 10
Borde 14
Firefox 50
Cromo 49
Safari 10
Ópera 43
iOS Safari 9.3
mini Opera TODAS
Navegador de Android 4.3
Chrome para Android 56

Los pasos  a seguir para desplegar esta aplicación son los siguientes:

  1. En la aplicación web, haga clic en IMPLEMENTACION ->Opciones de implementación > Elegir origen > Repositorio de Git Local y haga clic en Aceptar.Configure your web app deployment to use the local Git repository
  2. Tenga en cuenta que para modificar o eliminar  el origen de implementación  que acaba de crear is fuera el caso , primero necesitara desconectar este origen   por lo si lo hace tendrá  que volver a  ir a  IMPLEMENTACION ->Opciones de implementación   y volver a empezar con el proceso
  3. Haga clic en Credenciales de implementación, crear un nombre de usuario y contraseña para conectarse con el repositorio de Git en Azure y a continuación, haga clic en Guardar.
  4. Haga clic en Introducción y anote el valor de Git clone url (a la izquierda justo debajo de Git/nombre de usuario de implementación).Get the Git clone URL of your web app
  5. Abra una ventana de terminal en el equipo local o un comando.
  6. Descargar la aplicación web de GitHub y subirlo a Azure de la aplicación web al host. Para ello, ejecute los siguientes comandos:

giti clone.PNG

  • cd web-apps-node-iot-hub-data-visualization
  • git remote add webapp uri  (uri es la url del repositorio Git obtenida  en la página de Resumen de la aplicación web que se obtiene al pulsar Introducción).
  • git push webapp master:master  (se pedirán las credenciales  de Git que introdujo en en el apartado anterior en  la página de Overview , tenga en cuenta la Git clone url .)gitmanager
  • En resumen  estos son todos los comandos desde el interfaz  delñinea de comandos (cmd)    lanzados asi como la salida de esta:
C:\Users\Carlos>git clone https://github.com/Azure-Samples/web-apps-node-iot-hub-data-visualization.git
Cloning into ‘web-apps-node-iot-hub-data-visualization’…
remote: Counting objects: 35, done.
remote: Total 35 (delta 0), reused 0 (delta 0), pack-reused 35
Unpacking objects: 100% (35/35), done.
C:\Users\Carlos>cd web-apps-node-iot-hub-data-visualization
C:\Users\Carlos\web-apps-node-iot-hub-data-visualization>git remote add webapp https://[email protected]:443/Webestia.git
C:\Users\Carlos\web-apps-node-iot-hub-data-visualization>git push webapp master:master
Counting objects: 35, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (30/30), done.
Writing objects: 100% (35/35), 77.64 KiB | 3.23 MiB/s, done.
Total 35 (delta 6), reused 0 (delta 0)
remote: Updating branch ‘master’.
remote: Updating submodules.
remote: Preparing deployment for commit id ‘4b9c09be9b’.
remote: Generating deployment script.
remote: Generating deployment script for node.js Web Site
remote: Generated deployment script files
remote: Running deployment command…
remote: Handling node.js deployment.
remote: KuduSync.NET from: ‘D:\home\site\repository’ to: ‘D:\home\site\wwwroot’
remote: Deleting file: ‘hostingstart.html’
remote: Copying file: ‘.eslintignore’
remote: Copying file: ‘.eslintrc’
remote: Copying file: ‘.gitignore’
remote: Copying file: ‘.travis.yml’
remote: Copying file: ‘LICENSE’
remote: Copying file: ‘package.json’
remote: Copying file: ‘README.md’
remote: Copying file: ‘server.js’
remote: Copying file: ‘IoThub\iot-hub.js’
remote: Copying file: ‘public\index.html’
remote: Copying file: ‘public\javascripts\Chart.min.js’
remote: Copying file: ‘public\javascripts\index.js’
remote: Copying file: ‘public\javascripts\jquery-2.1.4.min.js’
remote: Copying file: ‘public\stylesheets\style.css’
remote: Using start-up script server.js from package.json.
remote: Generated web.config.
remote: The package.json file does not specify node.js engine version constraints.
remote: The node.js application will run with the default node.js version 6.9.1.
remote: Selected npm version 3.10.8
remote: ….
remote: npm WARN deprecated [email protected]: This package is no longer supported. It’s now a built-in Node module. If you’ve depended on crypto, you should switch to the one that’s built-in.
remote: …………………………………………..
remote: [email protected] D:\home\site\wwwroot
remote: +– [email protected]
remote: | +– [email protected]
remote: | | +– [email protected]
remote: | | | +– [email protected]
remote: | | | | +– [email protected]
remote: | | | | +– [email protected]
remote: | | | | +– [email protected]
remote: | | | | +– [email protected]
remote: | | | | `– [email protected]
remote: | | | `– [email protected]
remote: | | +– [email protected]
remote: | | +– [email protected].6.9
remote: | | | `– [email protected]
remote: | | +– [email protected]
remote: | | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | `– [email protected]
remote: +– [email protected]
remote: | +– [email protected]
remote: | | +– [email protected]
remote: | | | `– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | +– [email protected]
remote: | | | `– [email protected]
remote: | | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | +– [email protected]
remote: | | | `– [email protected]
remote: | | +– [email protected]
remote: | | +– [email protected]
remote: | | | +– [email protected]
remote: | | | `– [email protected]
remote: | | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | +– [email protected]
remote: | | `– [email protected]
remote: | +– [email protected]
remote: | `– [email protected]
remote: +– [email protected]
remote: `– [email protected]
remote: +– [email protected]
remote: `– [email protected]
remote:
remote: Finished successfully.
remote: Running post deployment command(s)…
remote: Deployment successful.
To https://webestia.scm.azurewebsites.net:443/Webestia.git
* [new branch] master -> master
C:\Users\Carlos\web-apps-node-iot-hub-data-visualization>
  • Ahora  ya puede abrir la aplicación web para ver los datos de temperatura y humedad en tiempo real desde su hub de IoT. En este momento  ,  vaya nuevamente al servidor web –>introducción y copie el valor del campo URL ( sera del tipo   https://xxxx.azurewebsites.net/)    de modo que como debería estar  corriendo  su web se obtendrá una respuesta  parecida  la siguiente si copiamos dicha url en un navegador:

 

En la página de su aplicación web, haga clic en la URL para abrir la aplicación web.

Get the URL of your web app

Debería ver los datos de temperatura y humedad en tiempo real desde su hub de IoT.

Web app page showing real-time temperature and humidity

Metodo alternativo sin usar los servicios web de Azure

Se necesita tener el  servidor node.js instalado.

  • Necesitara  dos  valores: valor1 y valor2:
    • El valor1 para  Azure.IoT.IoTHub.ConnectionString  se  obtiene  desde el explorador de iothub  en  Azure IOT HUB >CONFIGURACION -Directivas  de acceso compartido  –>cadena de conexión clave principal
    • El valor2 para  Azure.IoT.IoTHub.ConsumerGroup  se obtiene de del nombre del grupo de consumidores que se agrega a su hub de IoT cumplimentado en el  apartado anterior
  • Vaya al interfaz de comandos  , situase en el directorio donde descargo el ejemplo  y ejecute los siguintes comandos:
    • set Azure.IoT.IoTHub.ConnectionString=  valor1
    • set Azure.IoT.IoTHub.ConsumerGroup= valor 2
    • npm install
    • npm start​nodejsiothub
  • En este momento  ,simplemente acceda al fichero html y ejecútelos  de modo que como debería estar  corriendo el servidor node,js  se obtendrá  respuesta en un navegador similar a la anterior

 

 

.

 

Fuente :  https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-live-data-visualization-in-web-apps

Como desactivar temporalmente un terminal conectado por wifi


En efecto si es cliente de  Movistar de fibra o  cobre gracias a la  aplicación Movistar Smart WiFi,  disponible en Google Play  (versiones 4.4 y 7.0) y App Store(entre las versiones 7 y 10.3.1)       se puede  desactivar temporalmente cualquier equipo o terminal que esté conectado a la red wifi de su hogar si cuenta con algunos de los siguientes routers :
  • Router Smart WiFi Fibra (HGU Askey RTF3505VW).
  • Router Smart WiFi Fibra (HGU Askey RTF3507VW HPNA).
  • Router Smart WiFi Fibra (HGU Mitrastar GPT2541GNAC).
  • Router Smart WiFi Cobre (XDSL Mitrastar DSL2401HNT1C).
  • Router Smart WiFi Cobre (XDSL Askey RTV9015VW).
  • Router Smart WiFi Cobre (XDSL Light Plus Mitrastar DSL2401HNAT1C

Por el momento, las funcionalidades de la aplicación Movistar Smart WiFi están disponibles solo para el Router Smart WiFi Fibra y el Router Smart WiFi Cobre, pero en caso de ser cliente de  Movistar y no posea un router compatible, se  puede cambiar el actual  por otro  compatible    (es decir alguno  de los anteriores)

Esta app  ademas también permite  otras funcionalidades mas , como por ejemplo;.

  • Cambiar el nombre y la clave de su WiFi.
  • Activar un WiFi exclusivo para sus invitados, sin compartir tu clave.
  • Organizar la conexión de sus hijos o eliminar a intrusos conectados.
  • Bloquear y desbloquear la conexión a WiFi de cualquier dispositivo
  • Optimizar la velocidad de tu conexión con un solo click
Los  pasos para  desconectar o  conectar un equipo o terminal a  su red  en realidad son muy sencillos:

1-Descargue la app

Compruebe que el sistema operativo de su terminal sea compatible con la aplicación  Smart  Wifi, que para Android son las versiones 4.4 y 7.0 y para IOS entre las versiones 7 y 10.3.1.

En función  de que el terminal sea Android o IOs descargue  e instale la aplicación Movistar Smart  Wifi  desde Google Play o desde  la App Store

App Movistar Base Google Play  App Movistar Base App Store

2- Asocie la aplicación Movistar Smart WiFi con el Router Smart WiFi

Asegúrese de que su terminal se encuentra conectado al WiFi del router desde el cual intentamos activar o desactivar el acceso .

Ahora solo tiene que buscar la clave de acceso al router  , la cual  es diferente de la clave de Wifi.

Para Routers Smart WiFi Fibra (es decir el HGU) la clave de 8 dígitos  aparece en el sticker pegado en la parte inferior del router. Para Routers Smart WiFi Cobre (ADSL/VDSL)la clave que viene por defecto en el manual del router“admin” ,pero si la ha cambiado y no la recuerda basta pinchar con un alfiler el agujerito de reset para que vuelva a tomar la pwd por defecto

 Screenshot_2018-04-03-16-19-37-458_com.movistar.base[1]

Ejecute la aplicación  e introduzca    la contraseña del router y empezara la app a recolectar datos de router

Screenshot_2018-04-03-16-21-29-474_com.movistar.base[1]

Una vez concluido el proceso de inicializacion primera , nos dará la bienvenida a la la app:

Screenshot_2018-04-03-16-21-43-317_com.movistar.base[1]

Lo primero que nos sugiere es cambiar la clave de la WIFI , paso que podemos saltar o inlcluso retomar en otra ocasion:

Screenshot_2018-04-03-16-21-55-322_com.movistar.base[1].png

 

Ahora puede pulsar “Sigamos adelante”

3-Bloqueo de un dispositivo:

Una vez ya dentro de la aplicación  Smart WiFi   vera el mapa de dispositivos coenctado a su red  ( también puede  pulsar  la pestaña inferior “Dispositivos” para verlo en forma de lista)

 

Screenshot_2018-04-03-16-22-11-127_com.movistar.base[1].png

Observe que aparecen los equipos  clasificados por tecnologia y tipologia

Si deseamos bloquear un terminal móvil pinche en el icono del movil

Screenshot_2018-04-03-16-22-40-527_com.movistar.base[1]

Seleccione ahora  de la lista presentada el dispositivo que quiere bloquear y presione el botón “Bloquear Dispositivo”

 

Screenshot_2018-04-03-22-18-20-902_com.movistar.base[1]

Al pulsar el botón de bloquear dispositivo se informara en verde de que se ha realizado la operación correctamente:

Screenshot_2018-04-03-22-18-31-962_com.movistar.base[1]

Como es obvio enseguida el terminal  sera desconectado apareciendo en la lista de dispositivos bloqueados.
Screenshot_2018-04-03-22-36-35-199_com.movistar.base[1].png

Puede bloquear y desbloquear cualquier  dispositivo en cualquier momento. Cuando un dispositivo esté bloqueado, no podrá acceder a la WiFi hasta que sea desbloqueado.

Para desbloquearlo ir nuevamente al dispositivo sobre el , pulsar el botón de desbloqueo y enseguida tendrá acceso nuevamente a la red

 

Screenshot_2018-04-03-22-36-39-613_com.movistar.base[1]

4- Otras funcionalidades interesantes

Ademas de desactivar una coenxion , se pueden hacer cosas muy interesantes como desactivar el wifi de inviatdos , compartir la clave o hace un dianostico:

Activar o desactivar el WiFi de invitados

En la app Smart WiFi  pinche el ícono “+” en la pantalla de inicio. Seleccione WiFi Invitados y elijae una clave que no le importe compartir. Una vez habilitada la red de invitados, permanecerá activa hasta que decida desactivarla. Los dispositivos que accedan a esta red, solo accederán a internet, pero no tendrán acceso a su red interna 

Compartir la clave de mi WiFi

En la app  Smart WiFi  pinche el ícono de router “M” (Mi Red). En la sección “Gestiona tu red” elija la red que quiere compartir. Toque la contraseña para copiar el texto o utilize el ícono “compartir” para enviarla por Whatsapp, Correo Electrónico, SMS, Bluetooth, etc.).

Diagnóstico de la conectividad de mi red:

Acceda desde el ícono del router “M” (Mi Red) en su aplicación Smart WiFi ,seleccione “Movistar Base” y pinche el ícono de una herramienta. Una vez seleccionada esta opción, se ejecutará el diagnóstico. Si encontrara alguna incidencia, podrá resolverla apretando el botón “optimizar” o revisando los tips de ayuda.

Cambiar el nombre o la foto asociada a un dispositivo.

Se puede cambiar la imagen que aparece junto al dispositivo,para ello desde la pantalla de inicio de su aplicación  Smart WiFi,seleccione la pestaña “Dispositivos”,elija el dispositivo que quiere personalizar,elija una fotografía para asociarla al dispositivo (puede tomarse  con la cámara  o bien elegir una imagen de la galería de fotos) .También en el campo “Tipo de dispositivo”, puede elegir la categoría a la cual quieres asociar ese dispositivo (Smartphone, Tablet, Smart TV, etc.).

 

Cambiar el nombre y/o la clave de su WiFi

Desde la app pinche el ícono de router. En la sección “Gestiona tu red” elija la red que quiera modificar, tocando su nombre.Puede personalizar el nombre y contraseña de cada red WiFi (WiFi, WiFi Plus o WiFi Invitados) en cualquier momento.

Si cambia el nombre o la clave de la red, los dispositivos que tuviese conectados perderán la conexión automáticamente y tendrá que volver a conectarlos con los nuevos parámetros.

Envío de datos a la nube de Azure desde ESP8266 usando DHT11 o DHT22


 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.

Una vez  descargada e instalada  la librería  por ejemplo podemos capturar la información de un sensor DHT11  con este código :

#include “DHT.h”
#define DHTTYPE DHT11   // DHT 11
const int DHTPin = 5;     // conexion del pin digital
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println(“DHTxx test!”);
 
   dht.begin();
}
 
void loop() {
   //esperar unos 2000ms
   delay(2000);
 
   // Leyendo temperatura  o humedad  toma  sobre unos 250 ms
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println(“Fallo al leer el sensor DHT “);
      return;
   }
  
   Serial.print(“Humedad: “);
   Serial.print(h);
   Serial.print(” %\t”);
   Serial.print(“Temperatura: “);
   Serial.print(t);
   Serial.print(” *C “);
}

 

 

Conexión de un DHTXX a un  ESP8266 

Para resultados mas profesionales puede usar un DHT22 ( es el usado en el ejemplo ) , pero  como hemos comentado el DHT11  para fines experimentales  es también aceptable .

Las  simples conexiones  la puede utilizar  una  placa de pruebas, y  cables de puente o directamente con cablecillos  para realizar las conexiones de la siguiente manera:

referencia de conexiones

 

Para los pines  del sensor, usaremos el siguiente cableado:

Start (Sensor) Fin (Junta) Color del cable
VDD (Pin 27F) 3V (Pin 8A) cable rojo
DATOS (Pin 28F) GPIO 2 (Pin 9A) Cable blanco
GND (Pin 30F) GND (Pin 7J) Cable negro

 

 

Por  ultimo utilice un cable USB Micro USB a Tipo A para conectar Sparkfun ESP8266 Thing Dev a su ordenador 

Crear un centro de IoT

  1. Inicie sesión en el portal de Azure .
  2. Seleccione Crear un recurso > Internet de las cosas > IoT Hub .Captura de pantalla de la navegación del portal Azure al centro de IoT
  3. En el panel de hub de IoT , ingrese la siguiente información para su hub de IoT:
    • Nombre : crea un nombre para tu hub de IoT. Si el nombre que ingresa es válido, aparece una marca de verificación verde.

     

    • Nivel de precios y escala : para este tutorial, seleccione el nivel F1 – Gratuito .
    • Grupo de recursos : cree un grupo de recursos para alojar el concentrador de IoT o use uno existente.
    • Ubicación : Seleccione la ubicación más cercana para usted.
    • Fijar al tablero : marque esta opción para acceder fácilmente a su hub de IoT desde el tablero.Ventana del concentrador IoT
  4. Haga clic en Crear . Su hub de IoT puede tardar unos minutos en crearse. Puede controlar el progreso en el panel de notificaciones .

Ahora que ha creado un concentrador de IoT, ubique la información importante que usa para conectar dispositivos y aplicaciones a su hub de IoT.

  1. Después de crear su concentrador de IoT, haga clic en él en el tablero. Tome nota del nombre de host y luego haga clic en Directivas de acceso compartido .Obtenga el nombre de host de su centro de IoT
  2. En el panel Políticas de acceso compartido , haga clic en la política iothubowner , y luego copie y anote la cadena de conexión de su centro IoT.

Obtenga su cadena de conexión del hub de IoT

Registre un dispositivo en el hub de IoT para su dispositivo

  1. En el portal de Azure , abra su concentrador de IoT.
  2. Haga clic en Explorador de dispositivos  .
  3. En el panel Explorador de dispositivos, haga clic en Agregar para agregar un dispositivo a su centro de IdC. 
  4. Luego ingrese la ID del nuevo dispositivo en:ID del dispositivo ( Debe saber que los  ID de dispositivo son sensibles a mayúsculas y minúsculas)
  5. Tipo de autenticación : Seleccione la clave simétrica 
  6. Generar claves automáticamente : seleccione esta casilla de verificación.
  7. Conecte el dispositivo al Hub de IoT : haga clic en Habilitar .Agregue un dispositivo en el Explorador de dispositivos de su centro de IoT
  8. Haga clic en Guardar .
  9. Después de que se crea el dispositivo, abra el dispositivo en el panel Explorador de dispositivos .
  10. Tome nota de la clave principal de la cadena de conexión.Obtener la cadena de conexión del dispositivo

 

Reúna los datos del sensor y envíelos a su centro de IoT

En el ejemplo  se  implementa y ejecuta una aplicación de muestra en Sparkfun ESP8266 Thing Dev. La aplicación parpadea el LED en Sparkfun ESP8266 Thing Dev y envía los datos de temperatura y humedad recopilados del sensor DHT22 a su hub de IoT.

Obtenga la aplicación de muestra de GitHub

La aplicación de ejemplo está alojada en GitHub. Clone el repositorio de muestras que contiene la aplicación de muestra de GitHub. Para clonar el repositorio de muestras, siga estos pasos:

  1. Descargue e instale el programa Git ,por ejemplo desde https://gitforwindows.org/git
  2. Abra un símbolo del sistema o una ventana de terminal.
  3. Vaya a una carpeta donde desea que se almacene la aplicación de muestra.
  4. Ejecute el  Git
  5. Ahora desde el interfaz del Git en modo comando ejecute

 

Instale ahora el paquete para  el ESP8266 en Arduino IDE:

  1. Abra la carpeta donde se almacena la aplicación de muestra que descargo desde el comando git clone.
  2. Abra el archivo app.ino en la carpeta de la aplicación en Arduino IDE.
  3. En el IDE de Arduino, haga clic en Archivo > Preferencias .
  4. En el cuadro de diálogo Preferencias , haga clic en el icono que se encuentra junto al cuadro de texto Direcciones URL del administrador de tarjetas adicionales .
  5. En la ventana emergente, ingrese la siguiente URL http://arduino.esp8266.com/stable/package_esp8266com_index.json                                    señalar a un paquete url en arduino ide
  6. Haga  luego haga clic en Aceptar .
  7. En el cuadro de diálogo Preferencias , haga clic en Aceptar .
  8. Haga clic en Herramientas > Placa > Administrador de placas , y luego busque esp8266. Se debe instalar ESP8266 con una versión de 2.2.0 o posterior.En caso del ESP12E DEVKIT V2, seleccione NodeMCU 1.0(ESP-12E Module)

Instalación de  las bibliotecas necesarias

  1. En el IDE de Arduino, haga clic en Programa > Incluir libreria> Gestionar librerias .
  2. Busque los siguientes nombres de biblioteca una por una:
    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_MQTT
    • ArduinoJson
    • DHT sensor library 
    • Adafruit Unified Sensor
  3. Para cada una de las bibliotecas que encuentre, haga clic en Instalar .

Implementar la aplicación de muestra  para ESP8266 

  1. En el IDE de Arduino, haga clic en Herramienta > Puerto , y luego haga clic en el puerto serie que le presente el interfaz de Arduino  para el  ESP8266(por ejemplo “COM3” )
  2. Haga clic en Programa > Subir para crear e implementar la aplicación de muestra en  ESP8266 .

Ingrese sus credenciales

Después de que la carga se complete con éxito, siga los pasos para ingresar sus credenciales:

  1. En el IDE de Arduino, haga clic en Herramientas > Monitor en serie .
  2. En la ventana del monitor de serie, observe las dos listas desplegables en la esquina inferior derecha.
  3. Seleccione Sin final de línea para la lista desplegable de la izquierda.
  4. Seleccione 115200 baudios para la lista desplegable de la derecha.
  5. En el cuadro de entrada ubicado en la parte superior de la ventana del monitor serie, ingrese la siguiente información si se le solicita que los proporcione y luego haga clic en Enviar .
    • Wi-Fi SSID
    • Contraseña de wifi
    • Cadena de conexión del dispositivo

 Nota:La información de credenciales se almacena en la EEPROM del ESP8266 Si hace clic en el botón de reinicio en la placa ESP8266 , la aplicación de muestra le pregunta si desea borrar la información. Ingrese Y para borrar la información y se le pedirá que proporcione la información nuevamente.

Verifique que la aplicación de muestra se esté ejecutando correctamente

Si ve la siguiente salida de la ventana del monitor serie y el LED parpadeante en  la placa ESP8266  la aplicación de muestra se está ejecutando correctamente.

com33.png

 

 

Nota:Si está utilizando otras placas ESP8266, puede seguir estos pasos para conectarlo a su hub de IoT. Según la placa ESP8266 que esté utilizando, es posible que necesite reconfigurar el LED_PIN . Por ejemplo, si está usando ESP8266 de AI-Thinker, puede cambiarlo de 0 a 2 .

 

 

 

Fuente  https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-sparkfun-esp8266-thing-dev-get-started

Nuevo movimiento para Xively


Xively fue fundada en 2003 y ofrece una plataforma para la conectividad de dispositivos IoT.

En  este blog hemos  hablado en otras ocasiones de la compañía  y su   gran trayectoria  primero con  el popular servicio de iot de  Pachube.com , despues  con la adquisicion por parte de  cosm.com  y  finalmente despues comprada por logmeIn     reubatizando el servicio como  Xively.com

Podría parecer  que las adquisiciones  habían ya  finalizado por el  momento ,  pero Google ya ha anunciado la  intención de adquirir la plataforma IoT Xively de LogMeIn por USD50 millones el 15 de febrero de 2018.

xively

Este nuevo movimiento alinea a Google con otros proveedores de la nube,  en especial  con  Amzon con su popular  AWS (Amazon Web Services ), que también han expandido sus propuestas IoT a través de adquisiciones, pero sin embargo, el momento y la naturaleza del acuerdo sugieren que puede estar impulsado por las ambiciones de Google en los productos electrónicos de consumo y el hogar inteligente, más que por la necesidad de agregar funciones genéricas a Google Cloud , pues  Google ya  lanzó su Cloud IoT Core para ofrecer servicios de alojamiento IoT basados ​​en su infraestructura en la nube en septiembre de 2017.

Con la adición de la plataforma Xively, Google aprovecharía su solución con un elemento de conectividad del dispositivo, ofreciendo una solución llave en mano para integrar dispositivos en la nube  así que la adquisición saca  a relucir  los intentos de Google de aumentar su participación en la cadena de valor de IoT. 

La movida de Google es similar  a otras empresas , pero es la mas tardía  que las realizadas por  sus rivales directos:

  • AWS compró 2lemetry en 2015.Las herramientas de IoT que AWS tiene, o está planificando, incluyen: IoT Core, Greengrass, IoT Device Management, IoT Device Defender, IoT analytics, FreeRTOS, IoT 1 clic y otros. AWS está tratando de proporcionar un conjunto completo de opciones para los desarrolladores de IoT en muchos mercados verticales y, al hacerlo, está dando menos espacio para que compitan los proveedores de nicho.
  • Microsoft Azure adquirió Solair en 2016.

 

Tanto  AWS como  Azure utilizaron inicialmente su infraestructura en la nube para soportar los requisitos de hospedaje de datos para IoT y luego usaron la plataforma adquirida para avanzar a lo largo de la cadena de valor y simplificar el desarrollo de soluciones para los clientes.

 

Xively y otros desarrollos sugieren que Google apunta a fortalecer su rol en el negocio de la casa inteligente

A pesar de las similitudes con AWS y la compra de Azure de una plataforma IoT, Google puede estar intentando algo diferente con su adquisición de Xively pues si las capacidades de la plataforma IoT fueran tan importantes, podría haber comprado una plataforma anteriormente, o incluso haber creado una internamente. Además, para competir con AWS u otros proveedores de plataforma como PTC ThingWorx, será necesario darle seguimiento con otras adquisiciones o desarrollos internos.

Xively puede ser parte de la estrategia de Google para desarrollar capacidades para productos electrónicos de consumo y dispositivos domésticos inteligentes, en lugar de una plataforma horizontal para todos los verticales.

Una semana antes del anuncio de Xively, la empresa matriz de Google, Alphabet, dijo que estaba incorporando Nest en Google para coordinar mejor estos productos inteligentes para el hogar con otros esfuerzos, como Pixel, Google Home y Chromecast. Con la adición de una plataforma, Google, no solo consolida sus productos de consumo de hardware y software, sino que también establece un ecosistema que conecta a las diferentes partes interesadas que operan en este mercado. El reciente alquiler de IoT de Google y las actividades de Xively sugieren que la adquisición de Xively podría respaldar el enfoque revisado de Google para el mercado de consumo inteligente y hogar inteligente.

 

edge

Xively, como muchas otras plataformas IoT, se posiciona como una plataforma horizontal,pero sin embargo, la mayoría de los casos de uso de Xively son para aplicaciones domésticas inteligentes y relacionadas con el consumidor, como calentadores de agua conectados, rastreadores de mascotas, termostatos y soluciones de iluminación. Los antecedentes de usuarios y dispositivos de Xively combinados con el hardware y las aplicaciones de Google pueden ser parte de un esfuerzo para construir una plataforma de hogar inteligente más completa  asi que la venta de Xively puede representar una revisión del mercado de las plataformas de IoT

La venta de Xively tiene implicaciones más allá de Google pues si bien LogMeIn compró Xively por USD12 millones en 2014 y la venta a Google  se  ha fijado en USD50 millones  ,  también marca la salida de LogMeIn del negocio de la plataforma IoT (de hecho Xively no logró una tracción significativa ya que  reportó ingresos anuales de solo USD3 millones en 2017)

 

n un mercado abarrotado, esperamos que otras plataformas de IoT se consoliden o se cierren silenciosamente ya que el mercado se deja solo a un puñado de jugadores. Esto también tiene implicaciones para los operadores de telecomunicaciones: el desempeño de Xively muestra lo difícil que es desarrollar una plataforma IoT horizontal, pero la reducción en el número de plataformas debería dejar a un número menor de proveedores viables como socios potenciales, lo que probablemente tendrá un impacto positivo en el desarrollo del mercado de IoT.

 

 

 

 

Fuente:   analysysmason.com

Control de GPIO de Raspberry Pi sobre MQTT usando ThingsBoard


ThingsBoard es una plataforma de servidor de código abierto que le permite monitorear y controlar dispositivos IoT. Es gratuita tanto para uso personal como comercial y puede implementarlo en cualquier lugar.

ThingsBoard es pues  una plataforma de IoT de código abierto que permite el desarrollo rápido, la gestión y la ampliación de los proyectos de IoT  de modo  que  puede:

  • Crear dispositivos de provisión y control.
  • Recopilar y visualizad datos de dispositivos.
  • Analizea datos del dispositivo y disparae alarmas.
  • Entregar datos del dispositivo a otros sistemas.
  • Habilitar las funciones específicas de casos de uso usando reglas y complementos personalizables.
  • Proporcionar la nube IoT lista para usar o ser la solución en las instalaciones que habilitará la infraestructura del lado del servidor para sus aplicaciones de IoT.

ThingsBoard es escalable pues es una plataforma escalable horizontalmente y compilación utilizando tecnologías líderes de código abierto, tolerante a errores  pues  no hay punto único de fallo ya que  cada nodo en el clúster es idéntico,es personalizable pues permite agregar nueva funcionalidad es fácil con widgets personalizables, motor de reglas y sistema de complementos, es s duradero  y es robusto y eficiente  pues  el nodo de servidor único puede manejar decenas o incluso cientos de miles de dispositivos según el caso de uso (un cluster ThingsBoard puede manejar millones de dispositivos). Asimismo también puede conectar dispositivos existentes a la plataforma usando ThingsBoard Gateway .

 

ThingsBoard le permite enviar llamadas de procedimiento remoto (RPC) desde aplicaciones del servidor a dispositivos y viceversa. Básicamente, esta característica le permite enviar comandos a dispositivos y recibir resultados de ejecución de comandos. Similarmente, puede ejecutar la solicitud desde el dispositivo, aplicar algunos cálculos u otra lógica del lado del servidor en el back-end y enviar la respuesta de regreso al dispositivo. Esta guía cubre las capacidades de ThingsBoard RPC. Después de leer esta guía, se familiarizará con los siguientes temas:

  • Tipos de llamadas RPC
  • Casos de uso de RPC básicos
  • Las API RPC del lado del cliente y del lado del servidor
  • Widgets RPC

Tipos de llamadas RPC

La característica de RPC de Thinsboard se puede dividir en dos tipos según el originador: llamadas RPC originadas en el dispositivo y originadas en el servidor. Para utilizar nombres más conocidos, denominaremos llamadas RPC originadas en el dispositivo como llamadas RPC del lado del cliente y llamadas RPC originadas en el servidor como llamadas RPC del lado del servidor .

imagen

Las llamadas RPC del lado del servidor se pueden dividir en un solo sentido y bidireccional:

  • La solicitud RPC unidireccional se envía al dispositivo sin confirmación de entrega y, obviamente, no proporciona ninguna respuesta del dispositivo. La llamada RPC puede fallar solo si no hay una conexión activa con el dispositivo objetivo dentro de un período de tiempo de espera configurable.imagen
  • La solicitud de RPC bidireccional se envía al dispositivo y espera recibir una respuesta del dispositivo dentro del tiempo de espera determinado. La solicitud del lado del servidor está bloqueada hasta que el dispositivo de destino responda a la solicitud.imagen

Vamos  a  ver una  aplicación de ejemplo    que  permitirá controlar GPIO de su dispositivo Raspberry Pi utilizando la interfaz de usuario web de ThingsBoard y observaremos el control de GPIO utilizando  un Led conectado a uno de los pines. El propósito de esta aplicación es demostrar las capacidades de ThingsBoard RPC .

Dispositivo RPC API

ThingsBoard está diseñado para ejecutarse y utilizarse en la mayoría del hardware, desde Raspberry PI local hasta potentes servidores en la nube. Las formas de configurar un cluster de ThingsBoard soporta los  siguientes sistemas operativos:

  • Windows : instale el clúster Thingboard en cualquier máquina preexistente que ejecute Windows.
  • Linux (Ubuntu y CentOS) : instala el clúster Thingboard en cualquier máquina preexistente que ejecute Linux.
  • Raspberry Pi 3 Modelo B (Raspbian Jessie) : instala el servidor Cassandra y Thingboard en una Raspberry Pi 3 modelo B.
  • Docker (Linux o Mac OS) : instala un clúster ThingsBoard de un nodo en tu máquina Linux o Mac OS para su desarrollo y prueba.
  • Docker (Windows) : instala un clúster ThingsBoard de un nodo en tu máquina con Windows para su desarrollo y prueba.
  • Instalación de AWC EC2 utilizando AMI : instale un clúster ThingsBoard de nodo único con AWI AMI público.

Asimismo , sin instalar nada ,también si esta es su primera experiencia con la plataforma, puede usar una demostración en vivo para ahorrar tiempo en la instalación (vea la página de documentación de demostración en vivo para más detalles).Ejempl

 

Ejemplo  control de un  led

En  este ejemplo  “hello world”   orientado a controlar un led usaremos  una   Raspberry Pi con una aplicación simple escrita en Python , que se conectará al servidor ThingsBoard a través de MQTT y escuchará los comandos RPC.

El estado GPIO actual y el widget de control GPIO se visualizaran utilizando el panel de control incorporado personalizable.

Por tanto tendrá que tener el servidor ThingsBoard en funcionamiento. Use Live Demo o la Guía de instalación para instalar ThingsBoard.

Lista de hardware y pinouts

  • Raspberry Pi : utilizaremos Raspberry Pi 3 Model B pero puede usar cualquier otro modelo.
  • Led y resistencia correspondiente
  • 2 cables de puente hembra a macho

Dado que nuestra aplicación permitirá controlar el estado de todos los pines GPIO disponibles, recomendamos conectar algunos LED a esos pines para mayor visibilidad. Puede usar culquier  instrucción básica u otra para cablear algunos LED.

Instalación de la biblioteca MQTT

El siguiente comando instalará la biblioteca MQTT Python:

sudo pip install paho-mqtt

La aplicación consiste en un único script python que está bien documentado. Tendrá que modificar la constante THINGSBOARD_HOST para que coincida con su dirección IP de instalación del servidor ThingsBoard o nombre de host. Utilice “demo.thingsboard.io” si está utilizando el servidor de demostración en vivo .

El valor de la constante ACCESS_TOKEN corresponde al dispositivo Raspberry Pi de muestra en datos de demostración preaprovisionados . Si está utilizando un servidor de demostración en vivo , obtenga el token de acceso para el “Dispositivo de demostración Raspberry Pi preaprovisionado”.

 

resources/gpio.py 
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import json

THINGSBOARD_HOST = 'YOUR_THINGSBOARD_IP_OR_HOSTNAME'
ACCESS_TOKEN = 'RASPBERRY_PI_DEMO_TOKEN'

# We assume that all GPIOs are LOW
gpio_state = {7: False, 11: False, 12: False, 13: False, 15: False, 16: False, 18: False, 22: False, 29: False,
              31: False, 32: False, 33: False, 35: False, 36: False, 37: False, 38: False, 40: False}


# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, rc, *extra_params):
    print('Connected with result code ' + str(rc))
    # Subscribing to receive RPC requests
    client.subscribe('v1/devices/me/rpc/request/+')
    # Sending current GPIO status
    client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    print 'Topic: ' + msg.topic + '\nMessage: ' + str(msg.payload)
    # Decode JSON request
    data = json.loads(msg.payload)
    # Check request method
    if data['method'] == 'getGpioStatus':
        # Reply with GPIO status
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
    elif data['method'] == 'setGpioStatus':
        # Update GPIO status and reply
        set_gpio_status(data['params']['pin'], data['params']['enabled'])
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
        client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


def get_gpio_status():
    # Encode GPIOs state to json
    return json.dumps(gpio_state)


def set_gpio_status(pin, status):
    # Output GPIOs state
    GPIO.output(pin, GPIO.HIGH if status else GPIO.LOW)
    # Update GPIOs state
    gpio_state[pin] = status


# Using board GPIO layout
GPIO.setmode(GPIO.BOARD)
for pin in gpio_state:
    # Set output mode for all GPIO pins
    GPIO.setup(pin, GPIO.OUT)

client = mqtt.Client()
# Register connect callback
client.on_connect = on_connect
# Registed publish message callback
client.on_message = on_message
# Set access token
client.username_pw_set(ACCESS_TOKEN)
# Connect to ThingsBoard using default MQTT port and 60 seconds keepalive interval
client.connect(THINGSBOARD_HOST, 1883, 60)

try:
    client.loop_forever()
except KeyboardInterrupt:
    GPIO.cleanup()

Este simple comando lanzará la aplicación:   python gpio.py

Visualización de datos

Para simplificar esta guía, en  “Raspberry PI GPIO Demo Dashboard” vemos los datos de demostración que están disponibles en cada instalación Thingboard. Aún puede modificar este panel: sintonizar, agregar, eliminar widgets, etc. Puede acceder a este panel iniciando sesión como administrador de inquilinos.

Utilizar en caso de instalación local de ThingsBoard.

 

Una vez que haya iniciado sesión, abra la página Dashboards-> Raspberry PI GPIO Demo Dashboard . Debe observar el tablero de demostración con el panel de control y estado de GPIO para su dispositivo. Ahora puede cambiar el estado de los GPIO usando el panel de control. Como resultado, verá que el estado de los LED cambia en el dispositivo y en el panel de estado.

A continuación se muestra la captura de pantalla del “Tablero Demo de Raspberry PI GPIO”.

imagen

 

 

El vídeo a continuación  resume  todo el proceso  citado llegando  hasta el resultado final :.