Compartir
Contenidos contratados por la marca que se menciona

Creando aplicaciones IoT con Visual Studio 2015

Creando aplicaciones IoT con Visual Studio 2015
Guardar
1 Comentarios
Publicidad

Newsletter

En los últimos años el movimiento “maker” ha tomado cada vez más relevancia en entornos como la electrónica, la impresión 3D o la robótica. En sus principios, las comunidades de makers estaban compuestas por personas que querían comenzar a conocer estas plataformas de una forma divertida, tomándolo como un hobby. Esta forma de pensar, ayudó a que las mismas sean muy populares.

Un ejemplo claro de esto, pueden ser proyectos como Arduino y Raspberry PI. Estas plataformas son muy populares entre las comunidades de Makers, y se utilizan en todo tipo de proyectos. Desde algunos muy simples para introducir conceptos de robótica o electrónica, hasta entornos más completos de programación distribuida utilizando varios cientos de dispositivos.

Estos dispositivos son también la base para muchas pruebas de conceptos de proyectos relacionados con Internet of Things (IoT). En este tipo particular de proyectos, además de los dispositivos conectados a sensores o controlando robots; suele existir un componente importante en BackEnd para la gestión de los mismos.

12 Arduino

Windows 10 IoT Core

Existe una versión especial de Windows 10, llamada Windows 10 IoT Core, especialmente diseñada para este tipo de proyectos. Si bien inicialmente Windows 10 IoT Core es una version “reducida” de Windows, la misma implementa todas las funcionalidades necesarias para poder crear aplicaciones en dispositivos de bajo consumo.

Un claro ejemplo de esto, es la versión específica de Windows 10 IoT Core para Raspberry Pi 2. Para este caso, podemos pensar en alimentar el dispositivo con una pila de 9V, y además tener acceso a BlueTooth, Wifi, conexión de red, puertos USB y una serie de puertos con los que podremos interactuar con sensores y robots (GPIO).

En la página oficial de IoT de Microsoft, podemos encontrar un tutorial paso a paso en que se nos detalla como grabar la imagen de Windows 10 IoT core en una tarjeta microSD. Y luego como montar la misma en una Raspberry Pi 2

Importante: Además de Raspberry Pi 2, Windows 10 soporta otros dispositivos como MinnowBoard Max.

20 Rpi 2 W10

Con la tarjeta en el dispositivo, ya poseemos un dispositivo para proyectos IoT completamente funcional en el que podremos ejecutar Windows 10 IoT Core. Esta versión de Windows 10 nos permite hacer bastante cosas y podemos trabajar con las herramientas que ya conocemos para crear aplicaciones.

Visual Studio 2015 y Proyectos de IoT

Una vez que tenemos nuestro device con Windows 10 IoT Core, el siguiente paso es crear y desplegar una aplicación. Para esto utilizaremos Visual Studio 2015 y este es el punto donde se marca la gran diferencia. Lo primero que debemos asegurarnos es poder acceder al dispositivo desde nuestro entorno de desarrollo. Una herramienta muy útil incluida en el kit "Windows 10 IoT Core Tools", es un analizador en tiempo real de devices conectados a la red.

Por ejemplo, si estamos trabajando con una Raspberry Pi 2 y lanzamos la app [Windows IoT Core Watcher] podremos ver en la misma el listado de devices conectados a nuestra red.

70 Discover Devices

En cada device podremos ver información importante para los desarrolladores como el nombre, la dirección IP y la versión del OS entre otros. Cuando seleccionamos un elemento, tenemos diferentes opciones para interactuar con el mismo:

  • Copiar la dirección IP o MAC Address al portapapeles
  • Acceder al dispositivo como un recurso compartido de red. Lanzando un Windows Explorer con la dirección <//devicename/Share>
  • Abrir un browser con el panel de control web del dispositivo. Este panel de control nos permite realizar acciones básicas como por ejemplo ver el listado de los procesos en ejecución del device, ver el consumo de recursos (memoria y disco) y poder desplegar aplicaciones subiendo paquetes al mismo.

Ahora ya podemos abrir Visual Studio 2015 y comenzar a crear apps para nuestro device. El tipo de proyecto que crearemos es el mismo que creamos para otros entornos: Windows Universal App.

20 New Uap Project

Este punto es muy importante, ya que si eres un Developer con conocimientos de XAML y C#, lo único que necesitas es aprender sobre la nueva plataforma para comenzar a crear aplicaciones. Por ejemplo, si queremos interactuar con sensores externos utilizando los pines que tiene el dispositivo, deberemos agregar una referencia a “Windows IoT Extensions for UWP

30 Add Reference

En este momento, nuestro entorno de desarrollo posee los las herramientas habituales que ya conocemos. Por ejemplo

  • Editor de vistas XAML
  • Editor de código C#
  • Caja de herramientas
  • Output Window
  • Etc.

Si creamos un clásico “Hola Mundo”, con un botón y un label, tendremos la capacidad de probar nuestra aplicación en local. La siguiente imagen muestra la app en ejecución y parte del código XAML de la misma. La aplicación es bsatante simple: al momento de presionar el botón, se mostrará el mensaje "Hello World" en la caja de texto de la aplicación.

50 App Hello World

El momento interesante es cuando queremos ejecutar esta aplicación en un dispositivo como la Raspberry Pi 2. Para desplegar esta aplicación al dispositivo, tenemos que cambiar el modo de ejecución de la misma de Local Machine a Remote Machine. En este momento veremos un asistente que analizará los Devices conectados a nuestra red y podremos seleccionar uno para trabajar.

55 Remote Debugging

Importante: Para poder comenzar a interactuar con el dispositivo debemos tenerlo conectado a la misma subnet en la que estamos trabajando desde Visual Studio 2015 y debe estar visible en la app Windows IoT Core Watcher. Existen varios artículos donde se describen algunas casuísticas especiales para solucionar los problemas de conexion en la página oficial de GitHub.

Otra opción es realizar toda esta configuración desde las opciones del proyecto. En la sección “Debug”, debemos

  • Seleccionar “Remote Machine” en “Target Device”
  • Introducir la IP o el nombre de nuestro device (que coincide con la información que nos brinda Windows IoT Core Watcher)
  • Cambiar la configuración del tipo de proyecto a ARM
60 Remote Debugging

En este momento, al presionar F5 veremos cómo se inicia el proceso de despliegue y como se ejecuta la aplicación en el dispositivo. En el link de Hello World, se describen escenarios adicionales que cubren algunos problemas de despliegue. Y otras opciones como por ejemplo, la posibilidad de definir esta aplicación como la app por defecto para lanzar cuando se inicie el dispositivo.

Existen muchos ejemplos de este tipo de proyectos para consultar en GitHub. Uno de ellos nos muestra una aplicación que muestra información del SO, y la aplicación ejecutándose en Windows 10 en un laptop y la misma aplicación ejecutándose en un Raspberry PI 2. En un ordenador la información que se muestra es la siguiente

65 App Running On Windows

Podemos ver que la arquitectura de la app es X86, en cambio cuando lanzamos la misma aplicación en una Raspberry Pi 2 veremos que la arquitectura de la app es ARM.

66 App Running On Rpi 2

El código de este ejemplo se puede descargar desde GitHub (link) y el paso a paso del mismo se puede leer aquí.

Conclusión

Windows 10 IoT Core y Visual Studio 2015 son un excelente conjunto de herramientas para crear aplicaciones para el mundo de “Internet of Things.”. Después del lanzamiento oficial de Windows 10 y de Visual Studio 2015, la cantidad y calidad de estos ejemplos ha madurado mucho. Como referencia contar que en la página oficial de proyectos de IoT de Microsoft ya hay más de 100 entre los que podemos encontrar proyectos de reconocimiento de objetos con OpenCV, controladores de Drones basados en Arduino, cámaras de seguridad y seguidores de movimiento basados en Raspberry Pi 2 y muchos más.

Para finalizar en el siguiente video, el equipo de DX de Microsoft España, explica la visión de Microsoft con respecto a Internet of Things, Windows 10 y Visual Studio.

Referencias

Visual Studio

Publicidad

También te puede gustar

Comentarios cerrados

Ver más artículos