¿Cómo conectar tu dispositivo IoT a la nube?

El concepto de Internet of Things (IoT, por sus siglas en inglés) nos abre un extenso abanico de posibilidades donde la idea primordial es la interconexión digital de cualquier objeto de uso cotidiano con internet. Además, si este concepto se complementa con todas las ventajas que nos ofrece la computación en la nube, nos permite desarrollar un sinfín de soluciones.

En el presente artículo mostraré un ejemplo muy básico de cómo conectar nuestros dispositivos IoT (en este caso, una Raspberry Pi 2) a los servicios en la nube y cómo sacarle partido a todo esto.

Ejemplo de empresa dedicada a la teleasistencia

Imaginémonos, por ejemplo, que tenemos una empresa dedicada a la teleasistencia a personas mayores.  A cada una de las personas se le facilita un dispositivo dotado de un pulsador que al ser presionado en caso de emergencia permite enviar un aviso al centro de datos para que nuestro personal pueda asistir con máxima rapidez y urgencia a la persona en cuestión.

En este caso, el dispositivo que es entregado a cada persona lo simulamos con una tarjeta Raspberry Pi 2 que contiene un pequeño circuito de soporte compuesto de un LED RGB (la luz verde indica que el dispositivo está inicializado correctamente y la luz roja que se ha enviado un aviso de emergencia) y un pulsador que cuando la persona lo presione se comportará como desencadenante para enviar una notificación de emergencia a nuestro centro de datos.  También está conectada a internet lo cual permite enviar las notificaciones de emergencia a una cola de mensajes creada en Azure.

Para simular el dispositivo de teleasistencia necesitamos los siguientes componentes:

  • Windows 10
  • Visual Studio 2015 RC
  • Raspberry Pi 2 con Windows 10 IoT Core Insider Preview (ver detalles de la preparación en http://bit.ly/1G0aZ4g).
  • Placa de pruebas (breadboard) con diversos cables conectores.
  • LED RGB.
  • 2 resistencias de 470 ohmios cada una.

Vamos a empezar por el cableado de los componentes en la placa de pruebas como se muestra en el siguiente diagrama:

simulacion-dispositivo-IoT

simulacion-dispositivo-IoT-2

Puedes encontrar el código completo de este ejemplo en el siguiente enlace.

Echemos un vistazo al código, es bastante sencillo, cada vez que se presiona el pulsador el LED RGB pasa de luz verde a luz roja, emitiendo unos pitidos por el zumbador y a la vez enviando una notificación de emergencia a la cola de mensajes de Azure.

simulacion-dispositivo-IoT-3

simulacion-dispositivo-IoT-4

simulacion-dispositivo-IoT-5

La notificación se envía a la cola de mensajes mediante un cliente HTTP:

simulacion-dispositivo-IoT-6

Ya está listo nuestro dispositivo IoT para ser utilizado.  Cuando se implementa el proyecto en la Rasberry Pi 2 el resultado final queda de la siguiente manera:

  • Se inicializa los pines GPIO (General Purpose Input/Output, Entrada/Salida de Propósito General).
  • Se enciende el LED RGB con la luz verde indicando que el dispositivo está inicializado correctamente y está a la espera de ser usado por la persona.
  • Cuando la persona presiona el pulsador se enciende el LED RGB con la luz roja, se emite unos pitos por el zumbador y a la vez se envía la notificación de emergencia a la cola de mensajes de Azure.

simulacion-dispositivo-IoT-7

simulacion-dispositivo-IoT-8

Por otro lado, existe en el centro de datos una aplicación que permite recibir las notificaciones de emergencia desde la misma cola de mensajes.

simulacion-dispositivo-IoT-9

simulacion-dispositivo-IoT-10

Oscar-FernandezÓscar Fernández González

.NET Architect | Soluciones Microsoft | SOGETI ESPAÑA

One thought

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s