Demostración de conexión 11 Netduinos al servicio de Windows Azure

Por Soloelectronicos @soloelectronico

Mike Linen nos enseña en una charla que incluye un laboratorio de construcción de un sistema de automatización de seguridad  domestico  usando nada más y nada menos  que 11 Netduinos 2+  que se    comunican a través de MQTT con la nube  en  Windows Azure.

Este proyecto fue creado para mostrar algunas de las cosas divertidas que se pueden hacer para empezar en el IoT  ( Internet de las Cosas) , pero nunca fue pensado para ser un sistema de Seguridad  para el Hogar de trabajo real, por lo que aconsejan no tratar de usarlo para esto, al menos que usted realmente piense de abordar algunos de los problemas de seguridad de Internet que necesitan ser abordados con un proyecto como este.

Cada dispositivo que se conecta al eje central del sistema llevará a cabo una función específica en la plataforma de seguridad. En un sistema de seguridad real no tendría dispositivos de misión crítica que dependan de la conectividad externa a la nube.La conectividad a un sistema externo de este tipo podría ser fácilmente interrumpida. Una vez más esto es sólo un ejemplo de la diversión para hacerle pensar sobre cómo conectar muchos dispositivos a un servicio en la nube.

Los asistentes a esta charla disfrutaron viendo la demo del laboratorio donde se mostraba como construir diversos componentes de un sistema de seguridad.

Ahora  podemos ver  todo el sistema funcionando  en un vídeo que muestra los diversos componentes del sistema.

El hardware utilizado para este proyecto es la Netduino Plus 2 de Secret Labs de LLC .Todos los ejemplos de código que ve en esta vista se centrará en el dispositivo Netduino Plus 2. Sin embargo, el protocolo para comunicarse con el servicio en la nube no es específica de la plataforma por lo que cualquier dispositivo puede ser utilizado para comunicarse con el servicio de Seguridad para el Hogar. Así que no dude en utilizar un dispositivo diferente .Net Framework Micro. Incluso se puede utilizar uno de los dispositivos de Arduino muy populares.

Por supuesto, la parte de servicios cloud de este proyecto se está ejecutando en laplataforma Windows Azure . Hay tantas opciones disponibles para usted con la plataforma Azure. Decidí usar un pequeño subconjunto de las funciones disponibles sólo para demostrar que no se necesita mucho para conseguir algo que hacer en la plataforma Azure.

Este proyecto trata pues de la construcción de los dispositivos que completan el sistema de Seguridad para el Hogar. Algunos código básicos ya están  escrito para usted, pero en su mayor parte, será su trabajo completar el código y hacer  el dispositivo funcional. El servicio en la nube que conecta los dispositivos  ya se ha completado y enviado a Windows Azure para su uso, así que usted no tiene que hacer nada de eso codificación.

Sin embargo, el código para el servicio en la nube está disponible en control de código fuente para que usted mire como esta construido.

  • Documentación – Aquí es donde usted pasará la mayor parte de su tiempo, ya que contiene toda la documentación para completar los ejercicios de laboratorio.
  • Prepararse para la Reunión – Toda la información que necesita para que venga preparado para el evento.
  • Azure Código fuente Repositorio – Toda la fuente de los componentes azules del sistema de seguridad.
  • Netduino Código fuente Repositorio – Toda la fuente de los componentes Netduino del sistema de seguridad
  • Dashboard – Este es el cuadro de mandos de la seguridad casera, donde se puede ver el estado de un dispositivo e interactuar con él
  • Deslice la cubierta – Las diapositivas de la presentación

Se han utilizado  durante la construcción  al menos de uno de los siguientes dispositivos en el sistema de seguridad para el hogar:

  • Puerta de entrada externa – Este dispositivo se encarga de todas las E / S para cualquier puerta externa
  • La puerta Bell – Este dispositivo se encarga de la E / S para permitir que el usuario sepa un timbre de la puerta fue empujada
  • Alarma – Este dispositivo se encarga de la E / S para permitir que el usuario qué se ha disparado la alarma
  • Panel de control de alarma – Este dispositivo se encarga de la E / S para los paneles de control colocados en cada habitación de la casa
  • Panel de Control Maestro – Esto no es realmente un dispositivo (pero podría ser) y que ya está construido para usted. Lo estoy llamando aquí porque sin ella todo el sistema sería un montón de dispositivos que son independientes entre sí, sin control central verdadera gestión de toda la lógica del sistema de seguridad.

Determine cuál de los dispositivos que desee para tratar de construir. Algunos de los dispositivos son más difíciles de completar que otros. Si quiere empezar fácil, entonces usted puede hacer que el dispositivo timbre. Si quiere un reto tan duro y luego seguir adelante y probar el panel de control de alarma.

Habrá un poco de código que ya está escrito por usted para que usted no tiene que preocuparse de los protocolos de comunicación necesarios para publicar y suscribirse a la MQTT bus de mensajes. Dado que el protocolo se abstrae lejos de todo lo que necesitas saber es que los mensajes MQTT son básicamente de dos partes: un tema y un mensaje. Hay mucho más a la norma MQTT que se puede leer por su cuenta pero no lo necesitará para este proyecto. Básicamente, los temas son una serie de palabras separadas por un separador / tema. El mensaje es simplemente cualquier cadena. Se espera que los dispositivos del bus de entender los temas y formatos de mensaje, pero al igual que todos los pub / sub diseña los dispositivos no saben

Lo que se está ejecutando en la nube

Hay dos componentes principales que ya existen en Azure que los dispositivos interacción con: MQTT Message Broker y panel de control principal. El intermediario de mensajes se ejecuta bajo un rol Azure Trabajador. El panel de control principal se ejecuta en Windows Azure Papel Web. El corredor simplemente rutas MQTT mensajes y no tiene lógica empresarial específica de seguridad verdadero hogar en él. El Panel de control Master gestiona el estado del sistema de seguridad, así como las reglas de negocio alrededor de cómo funciona el sistema de seguridad en su conjunto. SignalR se utiliza para actualizar los navegadores cliente cuando el estado del sistema de seguridad cambia. Eche un vistazo al panel de control principal para más detalles sobre cómo funciona.

Como se puede ver es  bastante impresionante.  El código  fuente para el proyecto el autor lo ha puesto disponible  en GitHub :

  • Código de servicios en la nube :  Cloud Services code
  • Código Netduino :Netduino Code

El sitio web del Sistema de Seguridad se encuentra alojado en un Papel Web y contiene toda la documentación para el laboratorio.

Fuente aqui