Sistema de ayuda a la conducción de Garmin


ADAS , cuyas siglas provienen de Advance Driver Asistance Systems o traducido al español ” Sistemas de Asistencia a la Conducción” , se ha convertido en la revolución en materia de seguridad activa del vehículo  incidiendo en la prevención de los siniestros, se ha convertido en una asistencia clave para evitar accidentes o mitigar sus consecuencias.

Es interesante mientras adquirimos nuevos vehículos que integren estas tecnologías, aprovechar al máximo nuestros actuales vehículos equipándolos estos con algunos dispositivos que el mercado ya nos ofrece pues ne en efecto es posible ver sistemas ADAS integradas en cámaras portátiles diseñadas para ir en el parabrisas y ser alimentadas por el enchufe de mechero a 12V DC ( en ingles son llamadas Dash Cam) , de tal manera que cuando se conecta al contacto del vehículo, estos dispositivos empiezan a utilizar algoritmos de inteligencia artificial y reconocimiento de patrones sobre las imágenes captadas por la las cámaras digitales para hacer estimaciones de posibles peligro y avisar así al conductor.

Los sistemas ADAS mas usuales en cámaras integradas son las siguientes:

  • FCWS del ingles Forward Colission Warning Sytem (advertencia de colisión delantera) ayuda al conductor a mantenerse a una distancia segura del vehículo delantero y alerta a los conductores de una colisión inminente con advertencias visuales y audibles.
  • LDWS del inglés Lane Departure Warning System ( SISTEMA DE ADVERTENCIA DE SALIDA DE CARRIL) monitorea las marcas del carril y avisa al conductor con advertencias visuales y audibles cuando ocurre una salida involuntaria del carril sin la notificación de la señal de giro.
  • HMW( VIGILANCIA Y ADVERTENCIA DEL AVANCE DE PISTA)- Ayuda al conductor a mantener una distancia segura de conducción. Alerta al conductor al entrar en una zona predefinida de “avance peligroso”
  • FVSA (ALARMA DE INICIO DEL VEHICULO DELANTERO ) Notifica al conductor si el vehículo delantero comienza a avanzar en el estado parado completo y el coche del conductor no se mueve en 2 segundos.

En otros post anteriores habíamos visto  soluciones sobre algunas dash-cam que ya implementan ADAS. Desgraciadamente estas cámaras procedentes del mercado asiático cuya funcionalidades ADAS se limitan a FCWS y LDWS , su cobertura es limitada y por tanto su funcionamiento en cuanto a alertas a la conducción es relativamente pobre .

Veamos ahora una solución de unos de los  fabricantes más reconocidos como es Garmin con sus   modelos   Garmin Dash CAm 45/55/65W,  cuyas funcionalidades ADAS tienen otro nivel de fiabilidad  respecto a otras soluciones procedentes de mercados asiáticos

 

 


Garmin ha aplicado su conocimiento de las cámaras de acción y aptitud seguidores al mundo de la dashcams, y su modelo de gama media 55 ofrece imágenes definidas y suficientes características adicionales para hacer esta cámara digna de consideración, eso si ,  si se esta dispuesto a pagar  un cierto sobrecoste  a cambio de una mayor fiabilidad  y calidad.

El campo de visión puede ser más estrecho que el de algunas de las cámaras rivales ,pero la calidad de vídeo y audio capturada son excelentes.

La tecnología de posicionamiento de GPS integrada ,lo cual por cierto no suele ser lo habitual pues en otras cámaras la antena GPS va aparte , contribuye a dar mayor fiabilidad a  las funciones adas  permitiendo registrar velocidad  lugar, hora y fecha.

Los vídeos de incidentes se almacenan automáticamente mediante la tecnología G-sensor incorporada, ( como otros  modelos de camaras. Asimismo en este sentido incluye el software de Garmin (disponible gratis para la mayoría de portátiles y PC) para optimizar las marcas de revisión, organizar archivos con la adición de un mapa digital que le ayuda a identificar donde se produjo un incidente.

A parte de la calidad de imagen y sonido, las funciones de asistencia a la conducción como la alerta de salida de carril, la alerta de colisión y la alerta de avance de vehículos  son  unas de las características mas importantes  de este modelo ofreciendo advertencias tanto audibles como visuales en la propia pantalla como vamos a ver  .

 

Sistema de alerta de colisión directa

El sistema de alerta de colisión directa (FCWS) es para información solamente y no sustituye a su responsabilidad de observar todos los camino y las condiciones de conducción, acatar todas las normas de tráfico y uso juicio de conducción segura en todo momento. El FCWS depende de la cámara para proporcionar una advertencia de los vehículos próximos y, como resultado, puede haber una funcionalidad limitada en condiciones de baja visibilidad.
 fcw.png

La función FCWS le avisa cuando el dispositivo detecta que no está manteniendo una distancia segura entre su vehículo y el vehículo delante de usted. El dispositivo determina la velocidad de vehículos mediante GPS, y calcula una distancia estimada de siguiente segura basada en su velocidad. El FCWS se activa automáticamente cuando la velocidad del vehículo supera los 48 kph (30 mph).

Cuando el dispositivo detecta que estás demasiado cerca al vehículo delante de usted, el dispositivo reproduce una alerta audible, y aparece una advertencia en la pantalla.

Alerta de  cámaras de velocidad

Esta cámara  también puede  ofrecer información sobre ubicaciones de cámaras de velocidad y  el dispositivo le avisa cuando se aceque  a una cámara de velocidad o a un radar .

Para mantener una base de datos actualizada  y ubicaciones de cámara de velocidad, lo malo es que tenemos que comprar una suscripción para descargar y almacenar datos de la cámara de seguridad en su dispositivo(unos 20€ al año) . Ir a  garmin.com/speedcameras para comprobar la disponibilidad y compatibilidad, o para comprar una suscripción o actualización de una sola vez. Usted puede comprar una nueva región o ampliar una suscripción existente en cualquier momento.

En algunas regiones, algunos paquetes de producto incluyen cargados datos de cámara de velocidad y luz roja con actualizaciones de por vida.

Usted puede utilizar el software de Garmin Express™ (garmin.com/express) para actualizar la base de datos de cámara guardado en su dispositivo. Debe actualizar el dispositivo con frecuencia para recibir la información más actualizada de la cámara.

FVSA

Esa alerta toca un tono y muestra una alerta cuando hay tráfico parado delante de su vehículo  y se vuelve a mover. Esta alerta aparece sólo después de que el vehículo precedente ha movido una distancia considerable y su vehículo ha quedado detenido.

fvsa

Esto puede ser útil en semáforos o en demoras de tráfico. Esta característica utiliza la cámara del salpicadero para detectar el vehículo parado o en movimiento y requiere una visión clara del camino.

 

Garmin Express

Lo primero que hay que realizar una vez recibida la camara  es conectarlo a un ordenador por Garmin Express para ponerlo al día actualizando el firmware y para añadirle los radares actualizados( esto ultimo si está dispuesta a  pagar por ello ).

A partir de ahí con la app móvil GARMIN VIRB se pueden realizar todas las actualizaciones menos los radares que deberán realizarse por PC periódicamente.
Garmin Express es una aplicación informática para fácilmente, registro y gestión de su dispositivo Garmin  que permite gestionar los dispositivos desde su escritorio. Asimismo permite mantenerse al día con notificaciones de escritorio y con las instrucciones paso a paso permiten actualizar sus dispositivos.

Para descargarla vaya a esta url:https://www.garmin.com/en-US/software/express/

garminexp.PNG

Tras descargar la  aplicación ,ejecute el instalador  y espere  hasta su finalización:

En breves momentos  lo habrá instalado ,  por lo que puede empezar con el registro de la cámara  pulsar  el botón “Comenzar”

comenzar.PNG

Lo primero es añadir la cámara  como dispositivo para lo cual pulsaremos en  “Añadir un   dispositivo”

añadir.PNG

Conectaremos  vía USB  nuestra cámara  nuestro ordenador:

buscando.PNG

Puede que no ser reconocida por por el programa, pero e este caso  nos pide una pista  del  modelo , que en nuestro caso seria Automoción

error.PNG

Nos ofrece varias  pistas del motivo por lo que no se reconoce , siendo un de los  principales motivos el conectar la  cámara  mediante un hub usb   lo cual como se ve nos puede dar problemas a la hora de reconocer esta por el sw

automocion

Solucionado el problema ,pulsaremos Buscar de nuevo:

dashcam.PNG

Una vez reconocida , pulsaremos  en  “Añadir dispositivo”.
Ahora ya nos  tocaría  registrar el dispositivo, pero es un proceso muy sencillo   pues se registra  rápidamente la cámara  con sólo una dirección de correo electrónico.

 

paso1.PNG

Ahora nos pedirá un alias ( nos propone uno por defecto) para facilitar al visualizarlo en Garmin Express. Esto es especialmente útil si cuenta con varios dispositivos

Finalmente nos preguntará si permitimos que Garmin puede procesar y utilizar los datos recopilados del dispositivo y compartirlos de forma anónima  con socios estratégicos (si no  le interesa  pulse NO)

Una opción   muy  util  y recomendable  es actualizar el software de la cámara bien usando la aplicación móvil Garmin VIRB( después de emparejar la aplicación con su cámara, la aplicación busca actualizaciones automáticamente y muestra un mensaje cuando una actualización está disponible) o bien desde Garmin  Express .

Desde  Garmin Expres   ahora  vaya a herramientas  y Contenidos   y pulse en Actualizaciones disponibles.  Nos interesa actualizar todo

 

Siga la pantalla instrucciones para completar la actualización de procesos.

actualizaciones.PNG

No se debe desconectar el dispositivo del ordenador mientras haya actualizaciones pudiendo tardar unos minutos en concluir el proceso

finalizado

Desde este menú  de  herramientas  y contenido  permite otras opciones como hacer una copia de seguridad en local de los archivos de la micro-sd de la cámara  o por ejemplo acceder al manual de la cámara.

copia de seguridad.PNG

Como opción interesante  en  Tienda tras seleccionar el país  donde nos interese , nos ofrece la compra de radares ,lo cual  permite  recibir alertas sobre límites de velocidad y radares.

 

alarmas.PNG

Instalación

La cámara requiere un microSD™ o microSDHC tarjeta de memoria de hasta 64GB con una velocidad máxima de clase  10 o superior. Puede utilizar la tarjeta de memoria incluida, o puede comprar una tarjeta de memoria de recambio compatible de un proveedor de electrónica.

  1. Inserte la tarjeta de memoria glyph icon en la ranura glyph icon .
  2. Pulse en hasta clics.

Menus

La cámara no est táctil  y se maneja únicamente con 4 botones;

glyph icon

Presione para encender el dispositivo.

Mantenga pulsado durante 3 segundos para apagar el dispositivo.

Seleccione para volver a la página anterior.

glyph icon

Seleccione esta opción para desplazarse por menús o páginas.

glyph icon

Seleccione esta opción para desplazarse por menús o páginas.

glyph icon

 

En el visor, seleccione para guardar una foto.

Mantenga presionado para guardar un clip de vídeo.

Seleccione esta opción para elegir una opción en un menú.

Instalación en el parabrisas

El soporte adhesivo es extremadamente difícil de eliminar después de su instalación  asi que debe considerar cuidadosamente el lugar de instalación antes de instalar el soporte.

Antes de instalar el soporte adhesivo en el parabrisas, la temperatura ambiente debe ser de 21° a 38° C (de 70° a 100° F).

Puede conectar el dispositivo a la energía y mantener el dispositivo en el lugar de montaje recomendado: para comprobar el campo de visión en ese lugar.
  1. Limpie el parabrisas con agua o alcohol y un paño sin pelusa.

    El parabrisas debe estar libre de polvo, cera, aceites o pinturas.

  2. Quite la película protectora del adhesivo de montaje. Coloque el soporte sobre la ubicación de montaje. El adhesivo es muy pegajoso. No toque el adhesivo para el parabrisas hasta el monte correctamente colocado y alineado.
  3. Presione la montura firmemente en el parabrisas y mantener la presión durante 30 segundos. El disco del metal permanece adherido al parabrisas.Con su dedo, presione firmemente el disco durante 30 segundos: esto ayuda a asegurar que el adhesivo del disco tiene contacto con el parabrisas.
  4. Esperar 24 horas antes de instalar el  Garmin Dash Cam™ Tarda 24 horas para que el adhesivo adherir correctamente al parabrisas.

 Configuración

Antes de instalar el Garmin Dash Cam , debe instalar el soporte y deje que el adhesivo adhiera  al parabrisas pasadas 24 horas pues de no respetar este tiempo  puede causar  que caiga la camara  
  1. Coloque la cámara y montar en el disco del metal.
  2. Enchufe el cable de alimentación del vehículo en el puerto USB del dispositivo.
  3. Vía el cable de alimentación a la toma de corriente del vehículo. El cable de alimentación del vehículo incluido está diseñado para enviarse fuera de la vista. Es suficiente para la ruta alrededor del parabrisas en la mayoría de los vehículos, y puede ocultar el cable delgado a lo largo de o detrás de la moldura o forro del techo.
  4. Conecte el otro extremo del cable de alimentación del vehículo a un enchufe eléctrico en su vehículo.
  5. Si es necesario, gire el interruptor de ignición del vehículo para proporcionar energía a la salida de potencia en su vehículo. El dispositivo se enciende.
  6. Siga la pantalla instrucciones para completar la configuración inicial del dispositivo. Aparece la vista de cámara.
  7. Ajustar la posición de la cámara para capturar el campo de visión deseado.

Ajuste la colocación de la cámara

Se puede montar el dispositivo en la izquierda, centro o derecha de su parabrisas. Para el mejor desempeño, se debe establecer la colocación de la cámara de opción para indicar la ubicación de su dispositivo en el vehículo.

  1. Seleccione  configuración de >asistencia de conductor >colocación de cámara.
  2. Seleccione  colocación Horizontal y seleccionar la posición horizontal de la cámara.
  3. Seleccione altura del vehículoSeleccione una opción: Si usted está conduciendo un vehículo grande, como un van de tamaño completo o un carro, seleccione  alto.Si usted está conduciendo un coche, seleccione Normal.

  App movil

Puede guardar imágenes y grabaciones de vídeo mediante la conexión de tu smartphone o tablet a la aplicación gratuita de VIRB de Garmin.

  1. Vaya a la tienda de aplicaciones en su dispositivo móvil y bisque Garmin VIRB.En Abdroid es este https://play.google.com/store/apps/details?id=com.garmin.android.apps.virb&rdid=com.garmin.android.apps.virb
  2. En el menú principal en la Dash Cam, seleccione  Galería >  participación Galería.

    La  Garmin Dash Cam™ muestra el nombre de red y contraseña de red.

  3. Desde su dispositivo móvil, seleccione la  Dash Cam Wi-Fi® red.
  4. Introduzca la contraseña de red. 
  5. Su  Dash Cam acciones guardadas fotos y video a su dispositivo móvil.
  6. En su dispositivo móvil, lanzar la aplicación Garmin VIRB.

gramin.PNG

Caracteristicas:

  •  Fácil de ver y editar 360 vídeos, añadir 4K Estabilización esférica, ver imágenes en modo VR y añadir la realidad aumentada superposiciones de datos G-Metrix ™ *
    encuadre – Ver lo que la cámara ve con visor en directo
  •  Control remoto – Control remoto completo de funciones de la cámara y los ajustes
  •  Navegar contenido – Reproducción de vídeos grabados y fotografías
  • editar vídeos – Recortar un clip, ajustar la velocidad de reproducción, añadir superposiciones ™ G-Metrix y música
  •  Detección Resalte – Encuentra las partes más interesantes del vídeo rápidamente usando aspectos más destacados en la línea de tiempo editor
  •  compartir su contenido – Empuje fotos y vídeos a servicios para compartir
  •  administrar sus archivos – hojee y eliminar archivos en la tarjeta microSD

Grabación  de aparcamiento

La función aparcado de grabación de vídeo permite grabación de vídeo automáticamente   cuando se apaga el interruptor de ignición del vehículo de modo que la cámara comienza a grabar cuando esta  detecta movimiento.

La función aparcado de grabación de vídeo sólo es accesible cuando la cámara está conectada al  accesorio de la Dash Cam  del cable de modo estacionamiento. 
Parking Mode Cable

Travelapse

La función de Travelapse captura un video de rápido movimiento de su viaje, que le permite compartir un corto video de todos los lugares donde viajó.

 Travelapse de grabación no detiene grabación de dash cam

 Conclusión

Unos de los aspectos que quizás más se note de   esta dash cam  es el precio del último modelo  disponible  (unos 200€ en Amazon )  si optamos por el último modelos con detección de voz, a no ser que se opte por modelos más antiguos que aún se pueden conseguir por  un precio algo menor .
Quizás la fiabilidad    de  todos los sistemas ADAS  que esta cámara incluye si tenga un precio,  pues  para nada sirven otros sistemas de origen asiáticos  que hemos comentado en este blog   si no van a responder con la maxima celeridad y efeciciencia  ante casos  potencialmente peligrosos tanto para la seguridad del  conductor  como para la seguridad  de sus pasajeros.
Anuncios

Creación de una aplicación web de Node.js en Azure


Es relativamente sencillo como vamos a ver , implementar una aplicación en App Service en Windows  gracias  a queAzure Web Apps proporciona un servicio de hospedaje web muy escalable y con aplicación de revisiones de un modo automático.

 

Aplicación de ejemplo que se ejecuta en Azure

Estos pasos se pueden realizar con una máquina Mac, Windows o Linux,pero lo importante de la magia del Cloud, una vez instalados los requisitos previos, tardará aproximadamente cinco minutos en completar los pasos.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar. Asimismo  tambien necesitará  completar esta guía de inicio rápido :instalación de Node.js y NPM

Descarga del ejemplo

Descargue el proyecto de ejemplo de Node.js de https://github.com/Azure-Samples/nodejs-docs-hello-world/archive/master.zip y extraiga el archivo ZIP.

En una ventana de terminal, vaya al directorio raíz del proyecto de ejemplo de Node.js (el que contiene index.php).

Ejecución de la aplicación de forma local

Ejecute la aplicación localmente abriendo una ventana de terminal y utilizando el script npm start para iniciar el servidor HTTP de Node.js integrado.

npm start

Abra un explorador web y vaya a la aplicación de ejemplo en http://localhost:1337.

Verá el mensaje Hola mundo de la aplicación de ejemplo que aparece en la página.

Aplicación de ejemplo que se ejecuta localmente

En la ventana de terminal, presione Ctrl + C para salir del servidor web.

Creación de un archivo ZIP de proyecto

Cree un archivo ZIP con todo el contenido del proyecto. El siguiente comando usa la herramienta predeterminada de su terminal:

# Bash
zip -r myAppFiles.zip .

# PowerShell
Compress-Archive -Path * -DestinationPath myAppFiles.zip

Posteriormente, cargue el archivo ZIP en Azure e impleméntelo en App Service.

Inicio de Azure Cloud Shell

Azure Cloud Shell proporcina  un shell interactivo gratuito que puede usar para ejecutar los pasos que vamos a ver .  Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta. Simplemente haga clic en el botón Copiar para copiar el código, péguelo en la instancia de Cloud Shell y, a continuación, presione Entrar para ejecutarlo.

 

Hay varias  maneras de iniciar Cloud Shell:

Haga clic en Probarlo en la esquina superior derecha de un bloque de código. Cloud Shell en este artículo
Abra Cloud Shell en el explorador. https://shell.azure.com/bash
Haga clic en el botón Cloud Shell en el menú de la parte superior derecha de Azure Portal. Cloud Shell en el portal

Crear un grupo de recursos

Un grupo de recursos es un contenedor lógico en el que se implementan y administran recursos de Azure como aplicaciones web, bases de datos y cuentas de almacenamiento. Por ejemplo, más adelante puede elegir eliminar todo el grupo de recursos en un solo paso.

En Cloud Shell, cree un grupo de recursos con el comando az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación Europa Occidental. Para ver todas las ubicaciones que se admiten en App Service en el nivel Gratis, ejecute el comando az appservice list-locations --sku F1.

Desde Azure CLI   pruebe el comando:
az group create --name myResourceGroup --location "West Europe"

Generalmente se crean el grupo de recursos y los recursos en una región cercana.

Cuando finaliza el comando, una salida de JSON muestra las propiedades del grupo de recursos.

Crear un plan de Azure App Service

En Cloud Shell, cree un plan de App Service con el comando az appservice plan create.

En el siguiente ejemplo se crea un plan de App Service denominado myAppServicePlan con el plan de tarifa Gratis:

Desde Azure CLI   pruebe el comando:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE

Cuando se ha creado el plan de App Service, la CLI de Azure muestra información en formato json similar al ejemplo siguiente :

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "app",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Creación de una aplicación web

En Cloud Shell, cree una aplicación web en el plan de App Service myAppServicePlan con el comando az webapp create.

En el siguiente ejemplo, reemplace  por un nombre único global de aplicación (los caracteres válidos son a-z0-9 y -). El tiempo de ejecución se establece en NODE|6.9. Para ver todos los entornos en tiempo de ejecución admitidos, ejecute az webapp list-runtimes.

Desde Azure CLI   pruebe el comando:
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name  --runtime "NODE|6.9"

Cuando se haya creado la aplicación web, la CLI de Azure mostrará información  en formato json similar a la del ejemplo siguiente:

{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": ".azurewebsites.net",
  "enabled": true,
  < JSON data removed for brevity. >
}

Vaya a la aplicación web recién creada. Reemplace  por el  nombre de su aplicación único.

http://xxxxxxx.azurewebsites.net

Este es el aspecto que debería tener su nueva aplicación web:

Página de la aplicación web vacía

Implementación de un archivo ZIP

En el explorador, vaya a https://xxxx.scm.azurewebsites.net/ZipDeploy.

Cargue el archivo ZIP que creó en Creación de un archivo ZIP de proyecto arrastrándolo al área del explorador de archivos en la página web.

Cuando la implementación está en curso, un icono en la esquina superior derecha muestra el progreso como un porcentaje. La página también muestra mensajes detallados para la operación debajo del área del explorador. Cuando se haya completado, el último mensaje de implementación debe indicar Deployment successful.

Navegación hasta la aplicación

Vaya a la aplicación implementada mediante el explorador web.

http://xxxxx.azurewebsites.net

El código de ejemplo de Node.js se está ejecutando en una aplicación web de Azure App Service.

Aplicación de ejemplo que se ejecuta en Azure

¡Enhorabuena! Ha implementado la primera aplicación de Node.js en App Service.

Actualización del código y nueva implementación

Con un editor de texto, abra el archivo index.js en la aplicación de Node.js puede realizar un pequeño cambio en el texto en la llamada a response.end:

response.end("Hello Azure!");

En la ventana de terminal local, desplácese al directorio raíz de la aplicación y cree un nuevo archivo ZIP para el proyecto actualizado.

# Bash
zip -r myUpdatedAppFiles.zip .

# PowerShell
Compress-Archive -Path * -DestinationPath myUpdatedAppFiles.zip

Implemente este nuevo archivo ZIP en App Service utilizando los mismos pasos que en Cargar el archivo ZIP.

Vuelva a la ventana del explorador que se abrió en el paso Navegación hasta la aplicación y actualice la página.

Aplicación de ejemplo actualizada que se ejecuta en Azure

Administración de la nueva aplicación web de Azure

Vaya al portarl de  Azure  para administrar la aplicación web que ha creado.

En el menú izquierdo, haga clic en App Services y, a continuación, haga clic en el nombre de la aplicación web de Azure.

Navegación desde el portal a la aplicación web de Azure

Podrá ver la página de información general de la aplicación web. En este caso, puede realizar tareas de administración básicas como examinar, detener, iniciar, reiniciar y eliminar.

Página de App Service en Azure Portal

El menú izquierdo proporciona distintas páginas para configurar la aplicación.

Limpieza de recursos

En los pasos anteriores, creó en Azure en un grupo de recursos. Si prevé que no necesitará estos recursos en el futuro, elimine el grupo de recursos ejecutando el siguiente comando en Cloud Shell:

az group delete --name myResourceGroup

Este comando puede tardar varios segundos en ejecutarse.

Fuente https://docs.microsoft.com/es-es/azure/app-service/app-service-web-get-started-nodejs

Diseñe y simule circuitos electrónicos fácilmente con TinkerCad


En efecto gran cantidad de personas aficionadas a la impresión 3d conocerán la famosa herramienta gratuita  de modelado 3d llamado Tinkercad
Uno de los éxitos de este programa sin duda es su gran facilidad  de uso unida a su calidad, pues no olvidemos que tenemos por detrás el famosísimo  fabricante Autodesk  .Asimismo al  funcionar como servicio  web simplifica mucho su  uso y por supuesto su gratuidad allana  el camino para  que cualquiera se anime a probarla,

Otra de la muchas ventajas de esta aplicaciones  la gran facilidad par  imprimir en 3D : si tiene una impresora en su casa o en un espacio de fabricación local, simplemente puede descargar el archivo STL(STL es el archivo estándar para la mayoría de las impresoras de un solo color)  desde su tablero haciendo clic en la miniatura del modelo o desde el editor. Simplemente haga clic en Diseño> Descargar para impresión en 3D.

scanner3d

También puede solicitar una impresión a uno de sus socios de impresoras: Shapeways, iMaterialise o Sculpteo. Simplemente haga clic en Solicitar una impresión en 3D, en los mismos lugares que antes, para comenzar el proceso. Si está imprimiendo un color, asegúrese de ajustar el tamaño del modelo en Tinkercad antes de ir a los servicios de impresión.

Para muchas personas, especialmente en el mundo educativo, Tinkercad es una referencia para el modelado  e impresión 3D ,pero    ¿y si incluyeran también  herramientas de diseño de circuitos electrónicos? pues en  efecto ha llegado “circuitos”  a Tinkercad, sin duda una de las forma más fáciles de jugar con los circuitos  y dar  vida a sus diseños 3D con ensambles de circuitos

Como no podía ser de otra manera el manejo de esta aplicación es sumamente sencillo e intuitivo  permitiendo el diseño de producto integrado combinando el modelado de piezas en  3D  sobre  componentes electrónicos reales

Pero no solo les basta diseñar el circuito : también permite su simulación en tiempo real para permitir probar  sus diseños electrónicos completamente dentro del navegador, antes de construirlos en la vida real.

Hoy en día ademas cualquier diseño de circuito puede incluir componentes programables así que Tinkercad también permiten la programación  con Arduino usando  directamente en el editor bloques de código visual o texto.

 

¿Cómo aprender a usar el Lab Circuits?¿Nuevo en electrónica? Pues también se ha previsto  en la página de Aprendizaje  pulsando en Circuits  para ver algunos excelentes tutoriales en Circuits Lab  donde se han incluido guías paso a paso  así como videotutoriales.

learn.PNG

Ejemplo de inicio

Para ver lo sencillo que es  crear un circuito  con Tinkercad,  vamos a ver  como crear un simple montaje con dos leds y un pulsador ,y después de construirlo ,probaremos su funcionalidad mediante la simulación de este. Para ello,  puede  seguir los siguientes pasos:

Paso 1

Cree una cuenta de acceso a Tinkercad si no  la tiene  en https://www.tinkercad.com/#/

Paso 2

Vaya a Circuits ( a  la izquierda )   y en el centro pulse el botón verde “Create new circuit”

circuits.PNG

Paso 3

Ensamblaje  su circuito tipo Glow  arrastrando  y soltando los componentes sobre la pantalla central .

Por  ejemplo, agregue luces a su diseño con dos LEDs y una batería de celda de moneda o una fuente de alimentación. Los componentes que no encuentre  los puede buscar en la caja Search  por sus nombres en ingles, como por ejemplo

  • resistor ( usaremos una de 220 ohmios)
  • LED
  • Push Button
  • Coin Cell 3v Batttery
  • Power supply ( ajustada a 3V)
  • Breadboard

componentes.PNG

Paso 4

Ahora toca hacer las conexiones entre los componente simplemente pulsando en un extremo donde se quiere conectar  ( aparecera un recuadro rojo)  y llevándolo al otro extremo donde se quiere conectar ( aparecerá también  un recuadro rojo).

Si se quiere eliminar  la conexión simplemente hacer clic en esta y pulsar la tecla suprimir desde el teclado convencional.

El circuito final debería quedar como en a la siguiente imagen:

 

dos leds

Paso 5

Antes de empezar debemos ajustar los valores de los componentes haciendo doble clic en estos .

En este ejemplo la resistencia para un led rojo (1.3V  y unos 6mA)  debería ser  de 220ohmios   y la pila  3V.

En nuestro caso en lugar de la pila , hemos puesto  una fuente  programada para ofrecer 3V y 10 mAmp

Paso 6

Ahora ,una vez  diseñado el circuito una de las partes mas emocionante de este programa es su simulación, para lo cual pulsaremos en el botón Start Simulation en la parte superior de la pantalla

Una vez pulsemos sobre el pulsador deberían lucir los dos leds y en la fuente debería acusar el consumo de corriente de unos 5.11mA

simulacion.PNG

 

 

 

Atajos de teclado Tinkercad

Mover objeto (s)
 /  /  /  Mover objeto (s) a lo largo de X / Y
ctrl +  /  Mover objeto (s) a lo largo de Z
Shift +  /  /  /  × 10 Empuja a lo largo de X / Y
Ctrl + Shift +  /  × 10 Empuja a lo largo de Z
Teclado + Accesos directos del mouse. (Presione y mantenga presionadas las teclas, luego haga clic o arrastre el mouse).
Alt + arrastrar el botón izquierdo del mouse Duplicar objeto (s) arrastrado
Shift + botón izquierdo del mouse Seleccionar múltiples objetos
Mantenga presionada la tecla Mayúsmientras gira Rotación de 45 °
Alt + mantenga el asa lateral Escala (1D)
Alt + mantener el control de esquina Escala (2D)
Mantenga presionada la manija de la esquina Escala (3D)
Shift + Alt + mantener el control de esquina Escala (3D)
Shift + Alt + mantener la manija superior Escala (3D)
Configuración de objetos
H Hoyo convierte objeto (s) en agujeros
S Objeto (s) de giro sólido en sólidos
ctrl + L Bloquear o desbloquear objeto (s)
Ctrl + H Ocultar objeto (s)
ctrl + shift + H Mostrar todos los objetos ocultos
Visualización de diseños
Botón derecho del mouse Orbit la vista
Ctrl + botón izquierdo del mouse Orbit la vista
Shift + botón derecho del mouse Desplaza la vista
Ctrl + Shift + botón izquierdo del mouse Desplaza la vista
rueda de desplazamiento Acercar o alejar la vista
+ o = Acercarse
- Disminuir el zoom
F Ajustar objeto (s) seleccionado (s) a la vista

 Limitaciones

  •  Los ensambles de circuito de Tinkercad están actualmente limitados a los circuitos de Glow y Buzz, que incluyen una batería tipo botón, LED y un interruptor. Estan trabajando en más, pero mientras tanto, puede modelarlos usted mismo fácilmente y almacenarlos como una forma de Favoritos en el lado derecho del Editor Tinkercad.
  • La migración  desde 123D Circuits es posible .Simplemente haga clic en el icono de Inicio en 123D Circuits para obtener la UI de migración. Esta interfaz de usuario de migración solo aparece si hay diseños de laboratorio de electrónica en su cuenta. Solo los diseños de Electronics Lab se transferirán desde 123D Circuits (Circuits.io) a Tinkercad.com.
  • Las herramientas esquemáticas y de PCB NO van a agregarse a Tinkercad. El PCB y las herramientas esquemáticas se eliminaron de Circuits on Tinkercad para centrar  esfuerzos en hacer que el simulador sea tan fácil de usar como sea posible. Si está interesados ​​en aprender sobre el diseño de esquemas y PCB,  usar Eagle, que es gratuito para educadores y estudiantes: https://www.autodesk.com/products/eagle/overview
  • Esta previsto que añadan la función en Tinkercad para exportar archivos Eagle brd de un diseño de circuitos. en ese punto, sus alumnos pueden abrir sus diseños directamente en Eagle.
  • No hay alguna forma de exportar un diseño de Tinkercad Circuits a un archivo Gerber. La característica de formato de la placa “Exportar a Autodesk Eagle” (.brd) estará disponible próximamente.Este archivo exportado se puede abrir en Autodesk Eagle, donde puede organizar los componentes y el diseño de los trazos de la placa de circuito impreso. Los archivos necesarios para la fabricación de la placa (archivo gerber o Eagle brd) se pueden obtener allí.

Google Cloud IoT Core


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

 

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

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

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

 

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

Como siempre antes de empezar se requiere cumplir ciertos requisitos:

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

Configure Google Cloud SDK y gcloud

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

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

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

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

Introducción al Cloud IoT Core

Registro del dispositivo

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

Protocolos (MQTT y HTTP)

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

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

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

Autenticación de dispositivo

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

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

Control del dispositivo desde la nube

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

Configurando dispositivos

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

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

Límites

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

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

Diferencias de protocolo

MQTT

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

 / devices / {device-id} / config

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

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

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

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

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

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

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

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

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

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

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

return client

HTTP

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

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

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

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

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

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

return resp

Actualización de la configuración del dispositivo

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

Por Consola

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

Usando gcloud

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

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

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

Usando Cloud iot Core API

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

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

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

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

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

Revisando la configuración del dispositivo

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

Consola

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

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

gcloud

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

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

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

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


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

 

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

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

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

 

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

Crear un espacio de nombres del bus de servicio

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

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

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

Añadir una cola de autobús de servicio

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

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

Añadir un punto final

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

    Cola de Service Bus: seleccione la cola creada.

  • Haga clic en Aceptar.

Add an endpoint to your IoT hub in the Azure portal

Agregar una regla de enrutamiento

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

    Cadena de consulta: entrar.temperatureAlert = "true"

  3. Haga clic en Guardar.

Add a routing rule in the Azure portal

Crear y configurar una aplicación de lógica

Crear una aplicación de lógica

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

Configurar la aplicación de la lógica

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

 

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

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

     

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

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

Como usar la extensión de IoT para Azure CLI 2.0 para gestionar dispositivos de Azure IoT Hub


La Extensión de la IoT para Azure CLI 2.0 es una nueva extensión para IoT en código  abierto que añade a las capacidades de Azure CLI 2.0, la cual como vamos a ver  incluye comandos para interactuar con el administrador de recursos Azure como por ejemplo, puede utilizar Azure CLI 2.0 para crear una VM de Azure o un IoT Hub.

Una extensión CLI permite un servicio de Azure incrementar el Azure CLI dando  acceso a funciones adicionales específicas de servicio como vamos a ver.

La extensión de IoT da IoT permite a los  desarrolladores y aficionados acceso desde línea de comandos a todos los  IoT Hub, IoT Edge, y las capacidades  de  IoT Hub Device Provisioning Service

Algunos ejemplos de posibilidades que ofrece esta extension:

Opción de manejo Tarea
Métodos directos Hacer un dispositivo actuar como arrancar o parar el envío de mensajes o reiniciar el dispositivo.
Propiedades de dos deseadas Poner un dispositivo en algunos estados, tales como poner establecer un LED a verde o establecer el intervalo de enviar telemetría cada 30 minutos.
Doble registrados propiedades Obtener el estado que informó  un dispositivo. Por ejemplo, el dispositivo informa que el LED parpadea ahora.
Etiquetas de doble funcion Almacenar metadatos específicos del dispositivo en la nube. Por ejemplo, la situación de la implementación de una máquina expendedora.
Consultas de doble dispositivo Consulta todos los gemelos de dispositivo para recuperarlas condiciones arbitrarias, tales como identificar los dispositivos que están disponibles para su uso.

Device twins (Gemelos de dispositivo) son documentos JSON que almacenan información de estado del dispositivo (metadatos, configuraciones y condiciones). Eje de IoT persiste a una doble dispositivo de cada dispositivo que se conecta a él.

Extensión de IoT para Azure CLI 2.0

Vamos   a ver  usar  la extensión de IoT para Azure CLI 2.0 con varias opciones de manejo en nuestra máquina de desarrollo ejecutando Azure CLI 2.0 y la extensión de IoT para Azure CLI 2.0 con varias opciones de gestión.

Para poder usar esta extensión necesitaremos  haber configurado el dispositivo completo  de Iot  cubriendo los siguientes requisitos:

    • Una suscripción activa de Azure.
    • Un centro de Azure IoT bajo su suscripción.
    • Una aplicación de cliente que envíe mensajes a su hub de IoT de Azure.

Debemos asegurarnos de que el dispositivo se está ejecutando con la aplicación de cliente .Por ejemplo un método muy cómodo de comprobarlo es usando la herramienta  Microsoft Azure Storage siempre que hayamos vinculado nuestro  Hub de Iot a Azure Storage (como vimos es este post) ,pues desde esta herramienta podremos ver fácilmente el contenido de los mensajes enviados por el dispositivo

azurestorage

Microsoft Azure IoT Extension for Azure CLI 2.0  proporciona nuevos y emocionantes comandos y capacidades de IoT centrados en los servicios IoT Hub y IoT Device Provisioning. La funcionalidad se proporciona como un paquete de extensión CLI de Azure para una integración perfecta con la funcionalidad de línea de comandos existente.

La extensión aumenta el Azure CLI IoT de Azure agregando o modificando el espacio de comando existente. La extensión incluye capacidades en las siguientes categorías:

  • IoT Hub
  • IoT Edge
  • IoT Device Provisioning Service (DPS)

Instalación  

Paso1; Instalación de Python.

Como requisito previo se necesita instalar Python en el equipo de desarrollo. Podemos instalar  Python 2.7 x o Python 3.x. Python 3.65 es la ultima version disponible y que podemos instalar. Simplemente ir a   https://www.python.org/downloads/  pinchar sobre enlace para descargar la ultima version  y después ejecutar el instalable para lanzar la instalación.

Paso 3:Instalar Azure CLI 2.0 

Tambien necesitamos instalar el cliente de Azure CLI 2.0  para  agregar despuesla extensión IoT. Podemos instalar  directamente con un  instalador desde  Windows  el cliente CLI , para ello descargaremos MSI y luego lo  instalaremos en nuestro equipo de desarrollo

azure cli.PNG

Como mínimo, la versión Azure CLI 2.0 debe ser 2.0.24 o superior. Esta versión admite los comandos de extensión az e introduce el marco de comandos knack, es por eso que podemos utilizar para comprobarlo el comando desde linea de comandos (cmd): 

 az --version .

Por ejemplo este el resultado de la ejecución de este comando con la ultima version instalada (2.0.31) del cliente de Azure:

C:\Users\Carlos>az –version
azure-cli (2.0.31)
acr (2.0.23)
acs (2.0.31)
advisor (0.5.1)
appservice (0.1.31)
backup (1.1.1)
batch (3.2.0)
batchai (0.2.0)
billing (0.1.8)
cdn (0.0.14)
cloud (2.0.13)
cognitiveservices (0.1.12)
command-modules-nspkg (2.0.1)
configure (2.0.15)
consumption (0.3.0)
container (0.1.22)
core (2.0.31)
cosmosdb (0.1.20)
dla (0.0.19)
dls (0.0.21)
eventgrid (0.1.12)
eventhubs (0.1.2)
extension (0.0.12)
feedback (2.1.1)
find (0.2.9)
interactive (0.3.19)
iot (0.1.19)
keyvault (2.0.21)
lab (0.0.21)
monitor (0.1.5)
network (2.0.28)
nspkg (3.0.2)
profile (2.0.22)
rdbms (0.2.1)
redis (0.2.12)
reservations (0.1.2)
resource (2.0.27)
role (2.0.22)
servicebus (0.1.2)
servicefabric (0.0.12)
sql (2.0.25)
storage (2.0.31)
vm (2.0.30)
Python location ‘C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe’
Extensions directory ‘C:\Users\Carlos\.azure\cliextensions’
Python (Windows) 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal

También puede seguir las instrucciones de instalación en Microsoft Docs configurar Azure CLI 2.0 en su entorno.

Paso 4: Instalación  de la extensión de cliente de Azureo pare IoTI

Finalmente también  tenemos que instalar la extensión de la IoT ahora que tiene una extensión de  cliente de Azure compatible instalado.

Cuando se instala una extensión, cualquier dependencia adicional de Python requerida se descarga  y se instala automáticamente.
Hay múltiples opciones para la instalación. Después de instalar la extensión, puede usar una lista de extensiones az para validar las extensiones instaladas actualmente o la extensión az show – nombre azure-cli-iot-ext para ver detalles sobre la extensión IoT.
En todos los casos, asegúrese de que la extensión IoT sea la versión 0.3.2 o superior.

La extensión está diseñada para ser plug-and-play con Azure CLI. Incluso si tiene Azure CLI instalado, asegúrese de que esté actualizado.La forma más sencilla es ejecutar el siguiente comando.

az extension add --name azure-cli-iot-ext

Puede usar el comando  az list list-available para ver todas las extensiones disponibles en el índice y es posible tambien actualizar una extensión en su lugar utilizando la extensión az update –name, Asimismo El IoT extensión archivo Léame describe varias maneras de instalar la extensión.

Paso 5:Inicie sesión  en Azure

Inicie sesión su cuenta Azure ejecutando el siguiente comando:

az login

Ahora  vaya a la  pagina   https://microsoft.com/devicelogin  e    introduzca el código que devuelve el comando    en  la  pagina anterior   para validarse.

 

inicioazure.PNG

Una vez aceptada en la página nos pide nuestro login de la cuenta de Azure  y tras aceptarse  ya  no es necesario continuar en el navegador   y a partir de aqui ya estan disponible los comandos  posibles de Azure  CLI

login.PNG

Una  validado  nos dará un mensaje de finalizacioó

fin.PNG

 

Ahora desde linea de comando tenemos muchas posibilidades :

Hub

Command group: az iot hub

az iot hub query

az iot hub generate-sas-token
az iot hub show-connection-string

az iot hub apply-configuration

az iot hub invoke-device-method
az iot hub invoke-module-method

Hub Device Identity

Command group: az iot hub device-identity

az iot hub device-identity create
az iot hub device-identity show
az iot hub device-identity list
az iot hub device-identity update
az iot hub device-identity delete

az iot hub device-identity show-connection-string

az iot hub device-identity import
az iot hub device-identity export

Hub Device Twin

Command group: az iot hub device-twin

az iot hub device-twin show
az iot hub device-twin replace
az iot hub device-twin update

Hub Module Identity

Command group: az iot hub module-identity

az iot hub module-identity create
az iot hub module-identity show
az iot hub module-identity list
az iot hub module-identity update
az iot hub module-identity delete

az iot hub module-identity show-connection-string

Hub Module Twin

Command group: az iot hub module-twin

az iot hub module-twin show
az iot hub module-twin replace
az iot hub module-twin update

Edge Deployment

Command group: az iot edge deployment

az iot edge deployment create
az iot edge deployment show
az iot edge deployment list
az iot edge deployment update
az iot edge deployment delete

Device

Command group: az iot device

az iot device send-d2c-message
az iot device simulate
az iot device upload-file

Device c2d-message

Command group: az iot device c2d-message

az iot device c2d-message receive

az iot device c2d-message complete
az iot device c2d-message abandon
az iot device c2d-message reject

DPS Enrollment

Command group: az iot dps enrollment

az iot dps enrollment create
az iot dps enrollment show
az iot dps enrollment list
az iot dps enrollment update
az iot dps enrollment delete

DPS Enrollment Group

Command group: az iot dps enrollment-group

az iot dps enrollment-group create
az iot dps enrollment-group show
az iot dps enrollment-group list
az iot dps enrollment-group update
az iot dps enrollment-group delete

DPS Registration

Command group: az iot dps registration

az iot dps registration show
az iot dps registration list
az iot dps registration delete

 

Importante:

Añada –help o -h a un grupo de comandos o comando para obtener más información.
Para grupos de comandos, esto revelará los comandos del grupo objetivo
Para los comandos, esto revelará información sobre los parámetros y puede incluir ejemplos de uso.

 

Algunos ejemplos de uso prácticos:

  • Metodos directos :  Se puede invocar directamente desde linea de comandos:                az iot hub invoke-device-method –device-id –hub-name –method-name –method-payload
  • Propiedades del dispositivo gemelo deseado: Por ejemplo se puede establecer una  propiedad de  intervalo = 3000 ejecutando el siguiente comando: az iot hub device-twin update -n -d –set properties.desired.interval = 3000                                  Esta propiedad  puede ser leída tamnbien  desde  su dispositivo.
  • Propiedades del doble dispositivo registrados : se pueden obtener las propiedades divulgadas del dispositivo ejecutando el siguiente comando: az iot hub device-twin update -n -d –set properties.reported.interval = 3000 .  Una de las propiedades es $metadata. $lastUpdated que muestra la última vez que este dispositivo envía o recibe un mensaje.
  • Etiquetas de doble dispositivo: Se pueden mostrar las etiquetas y propiedades del dispositivo ejecutando el siguiente comando: az iot hub device-twin show –hub-name –device-id                                                                                                            Agregar una función de campo = temperatura & humedad al dispositivo ejecutando el siguiente comando:az iot hub device-twin update –hub-name –device-id –set tags = ‘{“role”:”temperature&humidity”}}’
  • Consultas de doble dispositivo :Consulta de dispositivos con una etiqueta de papel = ‘temperatura & humedad’ ejecutando el siguiente comando:az iot hub query –hub-name –query-command “SELECT * FROM devices WHERE tags.role = ‘temperature&humidity’
  • Consulta todos los dispositivos excepto los que tienen una etiqueta de papel = ‘temperatura & humedad’ ejecutando el siguiente comando:az iot hub query –hub-name –query-command “SELECT * FROM devices WHERE tags.role != ‘temperature&humidity'”

 

 

 

Hemos visto por tanto cómo controlar mensajes de dispositivo a nube y enviar mensajes de dispositivo de nube entre su dispositivo de IoT y Azure IoT Hub.

Fuente https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-device-management-iot-extension-azure-cli-2-0

Conversión de una tableta con la pantalla rota en una estación meteorológica


A estas alturas debido al bajo precio así como la rápida obsolescencia de las tabletas  de origen asiático, no  siempre merece la pena reparar una tableta  pues en la mayoría de las ocasiones las piezas de repuesto, casi siempre vienen de Asia, y al precio de compra hay que sumarle el costo del transporte desde allí y no siempre compensará el gasto adicional de piezas para su reparación.

Entre los elementos  que se suelen romper con más frecuencia en una tableta, como se ha comentado ya en este blog, destaca por  su enorme fragilidad  el panel táctil o digitalizador   el cual   en la practica hace inservible la tableta porque impide cualquier interacción con esta.

El digitalizador o panel táctil va superpuesto al  panel  lcd, es decir   pegado con un adhesivo a la pantalla LCD  , así que lo primero que tendremos que hacer es eliminar esta parte  para poder ver claramente la imagen del TFT .  Obviamente  pude sustituirse por otra nueva pero hay  un problema pues normalmente  esta  parte  es  especifica  para cada tableta   de modo que  según marca y modelo puede ser muy  caro conseguir  otro para reemplazarlo.

Afortunadamente aunque  se nos haya roto el digitalizador   normalmente la pantalla TFT  al ir separada debajo no se suele estropear ( a no ser que haya “derrame” del propio liquido del tft)  por lo que todavía puede utilizarse  usando solo la pantalla siempre que  usemos  otro interfaz via OTG , como por ejemplo  un ratón para operar con esta.

Suponiendo que el TFT de la tableta aun funcione  y hayamos descartado reemplazar el digitalizador por otro nuevo, veamos los pasos  a seguir  para darle una nueva vida a su tableta :

 

PASO 1: Desmontaje del digitalizador

Antes de desmontar la tapa de su tableta , NO OLVIDAR  EXTRAER LA MICRO-SD pues de no quitarla  nos arriesgamos a romper esta , y lo peor : que  queden partes en el lector  que luego puedan cortocircuitar  la alimentación  o los pines del lector de la micro-sd  llegando a poder romper la placa madre

Lo siguiente  que tendremos que hacer después de quitar la sd , es desmontar la tableta.   siendo lo más habitual  que la tapa trasera y la parte frontal vayan encajadas con pestañas de plástico.

Para quitar la  tapa  lo mejor es separar las dos partes con  púas de plástico ( como las usadas para tocar la guitarra) , la capucha de un bolígrafo,   o  mucho mejor con  herramientas de desmontaje  de  plástico   especificas para el desmontaje de teléfonos    y   tabletas

 

Una vez abierta la  tapa tenemos que desmontar  toda la electronica  como es la placa madre,la batería ,etc con sumo cuidado   para llegar a la pantalla con el tft (cada uno suelen llevar un  cable de cinta diferenciado)

Una vez hayamos alcanzado el conjunto pantalla y  digitalizador   tenemos  que despegar el digitalizador o sensor táctil del  tft  con mucho cuidado de no cortar

Hay personas  como Posoco que incluso con el cristal roto pueden reciclarlo  mediante un método muy sencillo para que  una  parte que este operativa del panel  utilizarla como sensor capacitivo de un solo canal

En este vídeo podemos ver en detalle como quitar el digitalizador  roto  para dejar visible la propia pantalla y también si aun queremos  usar la parte del digitalizador que no este rota

 

 

 

PASO 2: Adición de un ratón a la tableta por OTG

Gracias a la  tecnología OTG  (USB On-The-Go ) podemos conectar  desde un puerto micro USB 2.0 B hembra o micro USB 2.0 AB hembra  un dispositivo convencional  con conector usb convencional  (ratón,teclado, receptor de ratón y teclado, etc.  )

 

Hablamos  básicamente de un cable adaptador ( unos 2€ en Amazon)   que cuenta pues  por un lado el micro-usb para conectar a la tableta  y por  otro lado un conector hembra USB convencional   permitiendo  usar  dispositivos USB   convencionales que nos permitirán interactuar con la tableta.

No se recomienda  auto-construirse este cable pues para el OTG se necesitan 5 conexiones   y no nos valdrá un conector micro-usb  convencional de los usados para cargar nuestros smartphones.

 

IMG_20180414_133134[1]

Obviamente  la experiencia no sera la misma pero podremos hacer prácticamente lo mismo que desde el interfaz táctil y  gracias al uso   de reloj con previsión del tiempo o le daremos una segunda oportunidad a la tableta

PASO 3: Alimentación  de la tableta

Necesitamos  alimentar la tableta   (eso es una obviedad) para que funcione,  y máxime cuando la idea es tenerla conectado permanentemente.

En el caso de que la tableta no disponga de una conexión aparte para alimentarla no podremos usar el conector micro-usb  ,así que tenemos que buscar algún modo de cargar la batería

Un solución de muy bajo coste puede pasar por conectar  dos cables directamente a la batería  ya que son muy fáciles de identificar   y por medio de un diodo alimentar esta directamente. No es la solución  ideal  y lo purista seria usar un gestor de carga  o capturar el circuito de carga de la tableta ,  pero normalmente con el diodo  funcionará   perfectamente ya que las baterías  suelen ser de 3,8 V    y colocando el diodo en serie  provocara la caída de 0,6V a 0,8V     bajando la tensión  de 5v DC del usb a   unos 4.2 a 4,4V  todavía admisibles por una batería  de litio .

Para realizar la alimentición de la tableta  y la carga de su batería , pues únicamente soldaremos dos cables directamente en el cable  y rojo de la batería  y  nos los llevaremos al exterior por medio de un pequeño orificio que practicaremos en la tapa.

 

IMG_20180414_133020[1]

Una vez  hayamos sacado los cables , podemos reciclar un cable usb  viejo que no gastemos ( por ejemplo el de una impresora)   que  cortaremos  en un extremo  dejando solo  los cables negro   y rojo  de +5v y GND.

Ahora  con un cuidado extremo de no equivocarnos en la polaridad  uniremos   el negativo del conector  usb al cable procedente del negativo de la batería  .

Respectos a los polos positivos interconectaremos un diodo en serie de potencia   (hemos usado un diodo  1N5822) entre el positivo del USB  con el positivo de la  batería con la punta o cátodo apuntando  hacia la tableta:

IMG_20180414_132902[1].jpg

 

Opcionalmente si se deseamos mejorar el audio   de la tableta también  podemos  eliminar el altavoz  interno y  conectar dos cables hacia fuera  conectándolos a  otro altavoz de mejor calidad ,lo cual sin duda mejorara la experiencia.

IMG_20180414_133052[1]

PASO 4:  SOFTWARE

Ahora  que tenemos alimentado  y controlada la tableta  por medio de un ratón externo vía OTG   toca la hora de darle otro uso diferente al tradicional

Hay muchas opciones  de dar una segunda oportunidad  a una tableta, por ejemplo destacar algunas de ellas:

  • Despertador
  • Centro multiemdia
  • Radio por internet
  • Marco de fotos
  • Reloj con estación meteorológica
  • etc

En  el caso de este blog hemos optado por usarla  como reloj  que por  cierto se actualizara automáticamente   juntos con datos  referentes a la previsión del tiempo ( es decir usarla a modo de estación meteorológica)

IMG_20180414_132708[1]

 

Antes de empezar con la personalización del sw con la   que deseemos  dar otro uso a la tableta ,sin embargo tendremos  que superar un ultimo escollo  que es precisamente impedir el apagado el tiempo pasado un tiempo prefijado, lo cual podemos lograr por medio de la app  gratuita Keep Screen ON  ( aunque hay otras que cumplen esta funcionalidad)

KEEP SCREEN ON

Esta aplicación es gratuita y no contiene anuncios lo cual es de gradecer .La aplicación es simple, estable, ultraligera  y se ejecuta en todos los dispositivos Android. Esta aplicación cuenta con una especie de selector  que al estar la aplicación abierta , mediante la  casilla de palanca “Mantener la luz de fondo” se  puede  activar / desactivar la pantalla aplicación( seleccione opciones de iluminación adecuadas)
.
KEEP SCREEN ON.PNG
Características:
• Mantenga su retroiluminación de la pantalla encendida de forma permanente.
• Mantenga la retroiluminación del teclado conectado permanentemente (sólo para algunos modelos de teléfono !!!).

Este ese el link de descarga  en Google Play

 

SENSE FLIP CLOCK WEAHER

Sense flip clock & world weather es una aplicación de reloj digital y pronóstico del tiempo con todas las funciones y totalmente personalizables

Hay muchas mas aplicaciones similares a esta en Google Play  pero hemos usado esta pues puede ser una buena opcion

Esta aplicación contiene lo siguiente:

  •  3 tamaños de widget – 4×1, 4×2 y 5×2
  •  Muchas opciones de widget skins (películas de fondo para el widget)
  •  Diferentes películas de fondo para los iconos de las condiciones climáticas (icon skins)
  •  Diferentes tipos de fuente para la hora
  •  Localización automática (desde móvil/wifi o GPS) o manual (especificada por el usuario) de la ubicación
  •  El tiempo y la hora en el mundo: visualización de información sobre la hora y el tiempo local para cualquier número de ubicaciones diferentes en todo el mundo
  •  Temperatura en Celsius o Fahrenheit
  •  Período de actualización de las condiciones climáticas automático o manual
  •  Pronóstico del tiempo detallado que incluye lo siguiente:Hora local y zona horaria (para la ubicación),Hora de la salida y la puesta del sol, Duración del día, Condiciones actuales y temperatura, temperaturas mínimas y máximas del día
  • Condiciones de humedad y viento
  •  Fase lunar actual (icono)
  •  Pronóstico del tiempo para 4 días
  •  Fondo para el pronóstico del tiempo, en función de las condiciones climáticas y la hora (día/noche)
  •  Varios hotspot widgets (todos ellos definidos por el usuario para iniciar aplicaciones específicas)

 

tiempo.PNG

 

 

Este ese el link de descarga  en Google Play

https://play.google.com/store/apps/details?id=com.droid27.senseflipclockweather

 

¿Se le ocurre alguna otras   utilidad de  nuestra tableta recién reparad?  esperamos ansiosos  sus ideas.