Como saber el consumo diario por horas sin ningún hw adicional


En este blog hemos hablado en numerosas ocasiones de sistemas para monitorizar el consumo energético  de una vivienda,  por ejemplo  usando un contador con salidas de pulsos  o directamente con un sencillo watimetro digital  de panel.

Desgraciadamente en ambos casos aunque el hw no es nada costoso  , según el tipo de  montaje, hay que soltar al meno uno de los  cables de la acometida  en caso del display hacer pasar por el cable la bobina y volverlo a colocar en su lugar ,  o bien conectar un watimetro de montaje din en derivación  con la salida del magenetotérmico general    

En resumen seria un esquema muy similar al siguiente tal y como hemos comentado en otros posts:

 

 

instalacion

En cualquier caso  , como podemos intuir , deberíamos extremar las medidas de seguridad  para evitar exposición a la c.a. , de modo  que si no tiene experiencia, es mejor recurrir a un profesional lo cual lamentablemente  hará aumentar nuestro  presupuesto .

Pero no se desanime , pues pensándolo mejor ¿Y si esta información ya estuviese disponible? Pues en efecto  dado que  en muchos países es ya  obligatorio el uso de contadores inteligentes , en la mayoría de los casos , aunque quizás no lo sepa ,   toda la información de consumo desglosada incluso  por horas  (o por días)  en efecto   ya esta disponible por parte de la mayoría de las distribuidoras  , teniendo únicamente que recurrir   al sitio  web del suministrador  para obtenerlo.

En este post vamos  a poner como  ejemplo la obtención de las lecturas en caso de que su  suministrador  sea  Endesa, pero en caso de que este no sea el suyo , el procedimiento esa muy similar 

Para obtener dicha información por tanto nos iremos a la web oficial de Endesa:  https://www.endesaclientes.com

Lógicamente deberíamos tener credenciales de acceso por lo que   si aun no se ha interesado  en acceder  a dicho sitio , debería  proceder antes a registrarse en la siguiente  url  para lo cual ademas de los datos personales necesitara una factura en papel  para  confirmar  que  es usted quien dice ser  

A continuación , nos validaremos con nuestras credenciales de usuario  y pwd  de Endesa 

 

area cliente

Al validarlos en este sitio nos manda directamente al apartado  “Tus  consumos”   ,  donde en caso de  tener varios contratos , tendremos que seleccionar cual de ellos  nos interesa pinchando en la flecha azul de la derecha del  contrato visualizado por defecto:

 

 

En este  primer ejemplo en el combo de vista  elegiremos  “Por día”  y a continuación seleccionaremos aquel día que nos interese investigar:

 

A continuación  nos dará pormenorizado el desglose del consumo total en kw/h  por franjas horarias para ese día

 

 

Observe que estos resultados se puede exportar a diferentes formatos como por ejemplo  una hoja excel   , precisamente  para salvar dicha información  en nuestro ordenador

 

Aun  mas interesante  que el dato anterior , puede ser seleccionar el combo de Vista por factura pues ahora nos aparecerá desglosada el consumo por día para analizar  pautas que podemos seguir en aras de intentar  disminuir  nuestro consumo eléctrico,

Asimismo  ,como vemos  mas abajo , también se pueden exportar dichos datos a una hoja excel ,    para no solo guardar estos en nuestro ordenador ,sino también para poder realizar cálculos sobre estos datos.

En este punto  también hay  una importante razón  para haber seleccionado la vista  por consumo  ( es decir la vista por días  ) , pues  si conectamos varios enchufes inteligentes,  como por ejemplo   el modelo  MSS310    al ofrecernos este el consumo diario del equipo conectado a este podemos ir restando del valor total  por día estas cantidades   para llegar al origen del mayor  consumo .

Por ejemplo  electrodomésticos destinados a  ser responsables del mayor consumo  no podemos olvidar equipos tan  gastosos como el termo eléctrico, el horno, la vitroceramica y la nevera  entre otros, por lo que quizás sea ahí donde podremos fijar nuestro enchufes inteligentes por ejemplo  modelo  MSS310  

 

Asimismo mediante la activación de diferentes skills o funcionalidades (es decir como  las apps para los samrtphones , pero en este caso para ejecutar en un altavoz inteligente ), es posible pedirle a Alexa( de Amazon )  de viva voz  ademas de que  ponga música, e lea un libro o que diga qué tiempo va a hacer mañana, gracias a  la nueva skill de Endesa,  preguntar por voz   por su  consumo de  energía asi como  tener más cerca que nunca el asesoramiento energético personalizado que le permita ahorrar en sus facturas.

Lógicamente  se necesita ser cliente de Endesa y tener alguno de los diferentes modelos de altavoces inalámbricos de  Amazon Echo

 

 

Ejemplos de coas que podemos preguntarle a Alexa:

  • ¿Estamos gastando más luz que el mes anterior?El primer paso para controlar tu consumo es descubrir cuándo te estás pasando.

  • ¿Cuánta energía hemos consumido el último mes? ¿Y el anterior?
  • ¿Está pagada mi última factura?

  • ¿Hay alguna tarifa nueva que pueda adaptarse a nuestro perfil de consumo y así ayudarnos  a ahorrar?

  • Dudas sobre  facturas y contratos Endesa

  • Etc.
Básicamente para poder usar esta funcionalidad, primero deberemos activar el skill de Endesa en nuestro Altavoz, para lo cual solo tenemos que ir a la página de skills de Alexa y activar dicho skill (necesitara tener cuenta en amazon) , aunque  dicho skill sea gratuito
Una vez activada, tenemos  que conectar el skill   a nuestro  usuario de endesaclientes (si es cliente de Endesa pero aún no tiene usuario necesitará , regístrase aquí.) , También si esta registrado pero no recuerda sus datos, puede recuperar su contraseña o incluso  recuperar su usuario.  A partir de aquí ya podrá hacer las preguntas anteriormente citadas  y todas las que se le ocurran. ! quien sabe a lo mejor nos sorprende !
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]
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

Detector de movimiento inteligente


En este ejemplo    volveremos a  usar  un economico NodeMCU ,junto con un  sensor de movimiento PIR  y la plataforma de IoT  Carriots para  construir, usando el IDE de Arduino, un  detector de movimiento inteligente para comerciales y hogar.

El tema  gira en torno a la seguridad de un edificio o casa o una zona restringida detectando cualquier movimiento dentro de un rango específico con un sensor PIR . Gracias al  IoT, además de detectar objetos en movimientos podemos hacer  muchas más cosas como por ejemplo:

  • Encender un dispositivo mediante un relé (en el ejemplo es una luz durante unos 30 segundos).
  •  Al mismo tiempo enviar un correo electrónico al usuario, utilizando la IOT – plataforma Carriots sobre WIFI.
  • El relé se puede conectar a cualquier luz del dispositivo, alarma, cámara, sistema de seguridad…
  • Incluso el disparo puede ser SMS, llamar a las autoridades, llamando a otros servicios…

Node MCU es una plataforma para el desarrollo de proyectos IoT que integra el famoso chip ESP8266, el cual se ha extendido enormemente debido a su facilidad para desarrollar proyectos open source  a los que indudablemente se une su bajisimo precio comparado con otras opciones.
De este componente destaca  integra capacidades de comunicación via WiFi , conteniendo en su interior  microprocesador que puede ser programado fácilmente usando en conocido lenguaje de programación Lua o vía Arduino IDE.

¿Se pregunta cómo controlar  su económico ESP8266 de forma remota desde cualquier lugar del mundo?

En este post repasaremos precisamente el proceso, paso a paso, de cómo escribir código en el IDE de Arduino y programar su ESP8266 permitiendo  que el código  escrito para  el ESP8266 se comunique con la plataforma  de Iot   Carrriots,  la cual  nos va  permitir monitorear  y controlar el ESP8266.

Los pasos  a seguir   para conectar un ESP8266   a  Carriots   son los siguientes:

  •  Instalación del IDE de Arduino .Si aun no lo tiene instalado ,se puede hacer  desde aqui
  • Instalación  del paquete de la placa ESP8266 en Arduino IDE  siguiendo las instrucciones del sitio : https://github.com/esp8266/Arduino

esp

  • Instalación de los controladores USB

Es necesario instalar el controlador USB requerido en su ordenador  para que pueda programar el ESP8266.  Independientemente de la opción de firmware que elijamos, primero necesitamos comunicarnos con la placa de desarrollo ESP-12E utilizando la interfaz USB de la computadora.

El módulo USB a Serial UART incluido en la placa es Silicon Labs ‘CP2012, para lo cual generalmente necesitamos instalar los controladores de puerto COM virtual (VCP) fácilmente disponibles para su sistema operativo específico.Una vez instalado, debemos verificar que el CP2102 sea reconocido por su ordenador

Una vez que el controlador está instalado, podemos conectar el cable USB al puerto USB de la computadora y la placa. Después de hacerlo, deberíamos ver el mensaje: software del controlador del dispositivo instalado correctamente.

Además, podemos verificar manualmente que todo funcione correctamente siguiendo estos pasos:

Abra el Administrador de dispositivos (disponible a través del Panel de control → Sistema y seguridad → Administrador de dispositivos en la sección Sistema)
Debajo de la entrada Puertos (COM & LPT), debe haber un puerto abierto llamado USB-SERIAL CP2102 (COM) donde hay un número típicamente mayor o igual a 3.

Carriots es una Plataforma como Servicio (PaaS en sus siglas en inglés) diseñada para proyectos del Internet de las Cosas (IoT) y de Máquina a Máquina (M2M)

carriots

Carriots es una plataforma IoT creada en España  que  permite crear potentes productos y servicios IoT  haciendo posible conectar fácilmente “sus cosas” al Internet de las Cosas.

Se  pueden construya sus apps inteligentes con Carriots en pocos pasos.

  1. Conectar Dispositivos
  2. Recopilar Datos
  3. Gestionar Dispositivos y Datos
  4. Construir APPs

Principales ventajas

  • Listo para empezar a desarrollar.
  • Minimizar tiempo de desarrollo.
  • Gestión simplificada de múltiples proyectos: Arquitectura de 7 niveles
  • Amplia variedad de APIs y potente SDK: REST API y SDK
  • Escalabilidad inmediata
  • Inicio gratuito y pago por uso.
  • Alojamiento simplificado: Oferta PaaS para escalabilidad fiable.

Hardware

Ahora preparado el entorno , necesitamos el hw  que lo permita , el cual  como vamos a ver,  es muy simple reduciendose a la placa o NodeMCUuna placa de relé, el sensor PIR  y una fuente de 5V DC

Sensor PIR

El sensor PIR usado , es del tipo HC-SR501, de bajo coste   el cual es ampliamente utilizado en diversos equipos eléctricos de detección automática, productos para el control automático especialmente a batería.Tiene alta sensibilidad, alta fiabilidad, bajo consumo de energía, el modo de operación de bajo voltaje.

Especificaciones:

  •  Dimensiones: Cerca de 3,2 x 2,4 cm (L x W).
  •  Rango de tensión: 5V-20V DC.
  •  Corriente estática: < 50uA
  •  Voltaje de salida: 3,3 V (alto) / 0V (bajo)
  •  Modo del disparador: L (no se puede gatillo repetida), H gatillo repetida (Repetición predeterminado de disparo)
  •  El Tiempo de retardo: 0,3 seg 18 seg (ajustable)
  •  Temperatura De funcionamiento: -15 C a 70

 Placa de rele

Por  precio  es mucho mas asequible optar por una placa    de  2 reles    con salida de relé máxima: DC 30V / 10A, AC 250V / 10A. Es  importanet   que el interfaz de tarjeta de relé sea de 5v . En nuestro caso es de 2 canales y cada canal necesita 15-20mA actual controlador

Este tipo de placas es de fácil instalación por el microcontrolador como Arduino, 8051, AVR, PIC, DSP, BRAZO, MSP430, PLC, lógica TTL pues solo ha que conectar la alimentacion  y dos cables de datos en caso de necesitar los dos canales 

Resumiendo , estos son los componentes  necesarias:

  • Placa de desarrollo de NodeMcu Lua WIFI Internet de las cosas basado en ESP8266 – 1 (capacidad de MCU y WIFI)
  • Sensor PIR ( hemos hablado  en este blog )
  • 1 módulo de relé con opto aislamiento de  5V1
  • Fuente de alimentación conmutada  220V/5v ( nos sirve cuaqluier cargador de movil  con salida microusb)
  • Placa Protoboard

Diagrama del circuito:

El circuito   no incluye dificultad alguna ,pues se reduce a conectar el sensor PIR a +5V  y la salida binaria al pin D2, el módulo de rele a +5v   y al pin D2    y por  supuesto la alimentación del circuito que puede ser bien a baterías  o  bien por medio del  propio micro-usb   usado para programar el  NodeMcu

Resumiendo las conexiones con las siguientes:

  • NodeMCU (ESP8266 Dev Kit) D1—> INI del relé
  • NodeMCU (ESP8266 Dev Kit) D2—> Digital sensor PIR
  • NodeMCU (ESP8266 Dev Kit) VCC—> VCC (+) de la batería
  • NodeMCU (ESP8266 Dev Kit) GND—> GND (-) de la batería
  • Relé de VCC—> VCC (+) de la batería
  • Relé de tierra—> GND (-) de la batería
  • PIR Sensor VCC—> VCC (+) de la batería
  • PIR Sensor de tierra—> GND (-) de la batería

Software

Una vez el hardware  montado nos toca escribir el código  el código utilizando el IDE de Arduino para hacer que NodeMCU trabaje con un relé, sensor de movimiento PIR y utilizar IOT plataforma carriots sobre WIFI

El autor se  encontró con  algunos puntos problemas  en el diseño del programa  para ejecutar en la placa NodeMcu;

  • Compruebe que los pines de NodeMcu  están dando la entrada o salida correcta como se están asumiendo, por ejemplo, asegurándose  que usted no está tomando el pin 4 (GPIO) como un pin de entrada asi que por defecto que este pin debe leer…
  • Utilizar un método directo de get y post HTTP en lugar de utilizar una función de visualización por BLYNK o Thinger.io.
  • Observe  que el PIR da salida permanentemenet alta durante un par de envíos pero se necesita traer retraso para evitar el envío de múltiples correos electrónicos. Con algunos servicios como BLYNK este retraso causa un problema  asi que  es mejro a llamar a esa función una vez despues  de 6 o 7 seg.
  • Una vez satisfecha la condición de if loop, llamar a una función, en lugar de escribir todo con el bucle. Esto aporta claridad del código y ayuda en la resolución de problemas.
  • Se  puede  ajustar la sensibilidad del PIR para reducir el tiempo que permanece alta.

A continuación veamos el codigo completo del sw  que habrá que subir  a la placa desde el entorno  de Arduino:

#include “ESP8266WiFi.h”

const char * ssid = “NETGXXXXX”;   //red wifi a la que se conectara

const char * clave = “XXXXXXXXX”;  //clave red wifi para coenctarse

const char * servidor = “api.carriots.com”;

const String APIKEY = XXXXXXXXXX”; //Sustituir con su apikey de Carriots

 const  String DEVICE = “[email protected]”; //Reemplazar por el id_developer del dispositivo de  carriots

int ledpin = 4;

pirpin INT = 12;

int pirstate = LOW;

int val = 0;

void setup() {

Serial.Begin(115200);

Delay(10);

pinMode(ledpin,OUTPUT);

pinMode(pirpin,INPUT);

Serial.println(“calibrando”);

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

Serial.Print(“.”);

Delay(1000);

}

//iniciar wifi

Serial.println();

Serial.println();

Serial.Print (“conectarse”);

Serial.println(SSID);

WiFi.begin (ssid, clave);

while  (WiFi.status()! = WL_CONNECTED) {

Delay(500);

Serial.Print(“.”);

}

Serial.println(“”);

Serial.println (“Wi-Fi conectado”);

Serial.println (“dirección IP:”);

Serial.println(WiFi.localIP());

}

//función para hablar con la plataforma Carriot

void sendStream()

{

String txt = “”; //Texto para enviar

if (pirstate == HIGH)

{/ / alarma

txt = “Detecta movimiento;”

} else {/ / alarma en

txt = “Algo mal”;

}

 

Serial.println(txt);

Serial.println(Val); / / para fines de depuración

Client WiFiClient;

const int httpPort = 80;

if  (client.connect (servidor, 80)) {/ / si hay una conexión exitosa

Serial.println(F(“Conectedo”));

//Construir el campo de datos

String json = “{\”protocol\”:\”v2\”,\”device\”:\””+DEVICE+”\”,\”at\”:\”now\”,\”data\”:{\”light\”:\””+txt+”\ “}}”;

//Realizar una solicitud HTTP

Client.println (“POST /streams HTTP/1.1”);

Client.println (“Host: api.carriots.com”);

Client.println (“Accept: aplicación/json”);

Client.println (“User-Agent: Arduino-Carriots”);

Client.println (“Content-Type: aplicación/json”);

Client.Print (“carriots.apikey:”);

Client.println(APIKEY);

Client.Print (“Content-Length:”);

int thisLength = json.length();

Client.println(thisLength);

Client.println (“conexión: cerrar”);

Client.println();

Client.println(JSON);

}

Else {}

//Si no tiene una conexión con el servidor:

Serial.println (F (“Conexión fallida”));

}

}

 

void loop() {}

Val = digitalRead(pirpin);

Serial.println(Val);

if(Val == HIGH) {}

digitalWrite(ledpin,HIGH);

if  (pirstate == LOW) {

Serial.println (“movimiento detectado”);

pirstate = HIGH;

Serial.println (F (“secuencia de enviar”));

sendStream();

Delay(30000);

}

/ * {while(client.available())}

String linea = client.readStringUntil(‘\r’);

Serial.Print(line);

Delay(30000);

} */

}

Else {}

digitalWrite(ledpin,LOW);

if(pirstate == HIGH) {}

Serial.println (“movimiento detectado correo enviado”);

pirstate = LOW;

}

}

}

Programación de disparadores de Carriots enviar Email:

Una vez   que  tenga desplegado el  sw en su  placa NodeMcu  ,la capacidad de activar un correo debe ser  programado o configurado en la plataforma de Internet para este producto que está utilizando (la plataforma Carriots IOT) . Si no sabe como hacerlo en el siguiente video podemso  ver  como  familiarizarse con las funciones y cómo utilizarlas:

 

Obviamente esto podría programarse para llamada, o un texto o una alarma a la policía o quien sea. !Como podemos adivinar   las posibilidades  son infinitas!.

Fuente