Proyecto en c# para Raspberry pi


 

En efecto , aunque hemos hablado en muchísimas ocasiones de múltiples ejemplos en c# usando la plataforma Netduino  es poco frecuente ver aun ejemplos que usen la plataforma de desatollo de Microsoft de IoT  en otros entornos.

Precisamente  en el siguinte  ejemplo  de como implementar  una estación  meteorológica  en una Raspberry Pi , se demuestra cómo aprovechar la potencia de Windows 10 IO Core, y crear una estación meteorológica con  un escudo de Sparkfun(Sparkfun DEV-12081)  en una Raspberry pi que corre Windows 10 (puede ser la versión  2 o también la  3).

Este proyecto forma parte de la iniciativa de Microsoft llamada  Hack the Home , que proporciona componentes de código abierto para minimizar  el esfuerzo en la creación de  interfazes con los dispositivos y servicios a  usar para enfrentarse a sus hogares.

Antes de describir   como lo han hecho en el vídeo podemos ver  una introducción a la plataforma de windows IoT;

 

El nuevo espacio de nombres Windows.Devices de las API de Windows Plataforma universal (UWP) en Windows 10, permite a los desarrolladores aprovechar la potencia de Windows  en la interacción con el mundo real a través de sensores y actuadores utilizando el bus I2C y los puertos de uso general de entrada / salida (GPIO) disponibles en el Raspberry Pi 2, para crear una estación meteorológica conectada a Internet utilizando la protección contra la intemperie Sparkfun.

Las instrucciones proporcionadas darán un desarrollador de primera mano la configuración del hardware requerida junto con la escritura y depuración de Windows recientemente disponible en  windows 10 llamada UWP Windows.Devices API’s.

En este ejemplo,  también se demostrará cómo agregar sus datos en la nube utilizando el Azure Event Hub y  ConnectTheDots API.

Para  empezar , lo primero es conexionar   los  pines desde la Raspberry Pi 2 a la placa Sparkfun(Sparkfun DEV-12081)

Este es el conector de la Raspberry Pi 2:

GPIO esquemática (pata 1 está marcada con una almohadilla de soldadura cuadrada)

El diagrama de conexiones de  la Raspberry Pi  hacia la placa de Sparkfun   es el siguiente:

  •  GND (negro) —— GND
  • 5V (rojo) ——— VIN
  • 3V3 ——- (marrón) —— 5V (escudo truco; no es un error)
  • GPIO2 —– (amarillo) —- SDA
  • GPIO3 —- (naranja) —- SCL
  • GPIO5 —– (verde) —– D8
  • GPIO6 —– (azul) ——- D7

Cableado de cerca del carril exterior (negro, rojo)

 

Con la placa Weather Shield es muy fácil de hacer funcionar con Arduino  ofreciendo  de por sí la presión barométrica, humedad relativa, luminosidad y temperatura. También hay conexiones para sensores opcionales tales como la velocidad del viento, dirección, pluviómetro y GPS para la ubicación.

Utiliza el sensor de humedad HTU21D, de presión barométrica MPL3115A2, un sensor de luz ALS-PT19 y se basa en la librería HTU21D y MPL3115A2 para Arduino. Dispone de dos posiciones para soldar conectores RJ11 (para sensores opcionales de lluvia y viento) y un conector GPS de 6 pines (para conectar un GPS opcional). Puede funcionar desde 3.3V hasta 16V y tiene un regulador de voltaje integrado.

 

En cuanto al sw de  la estación meteorológica  en realidad se compone de  dos aplicaciones:

  • La primera es una bucle largo por tiempo indefinido, que trabaja  de fondo leyendo el estado de los sensores y actúando como un servidor de estación meteorológica.
  • La segunda, una interfaz de usuario que realiza una solicitud al puerto 50001 del servidor mostrando los datos. La aplicación de interfaz de usuario es universal y se puede implementar en cualquier dispositivo Windows desde el Raspberry Pi 2 hasta el final a un PC de escritorio – y en cualquier lugar en el medio!

Es necesario encontrar la siguiente línea en el archivo `Mainpage.xaml.cs` del proyecto` build2015-tiempo-station`, y vuelva a colocar el nombre del equipo, “MINWINPC”, en la dirección URL con el nombre de su dispositivo IO.

//TODO: On the following line, replace "minwinpc" with the computer name of your IoT device (ie "http:// :50001").

private Uri weatherUri = new Uri("http://minwinpc:50001");

 

1-Seleccione la rama “lab_ConnectTheDots”, si desea aprender a utilizar connectthedots y completar el código manualmente

2-Abrir “WeatherStation \ WeatherStation.sln” en Visual Studio 2015

3-Vaya a “WeatherStationTask.cs” en el panel “Explorador de soluciones”

4-Utilice la “Lista de tareas” para saltar a cada “TODO //:” y escribir el código necesario

Los archivos AppSettings, ConnectTheDotsSensor, y ConnectTheDotsHelper son parte del código creado para ayudarle a utilizar la interfaz connectthedots al Hub Evento Azure.

AppSettings: Guarda los ajustes para la conexión al hub de eventos

Esta información se puede encontrar bajo su ServiceBus en Azure.

5-Vaya a su “* ns” instancia ServiceBus -> Evento Ejes -> ehdevices -> Información de conexión -> Busca el SAS “D1”

6-Copiar la cadena de conexión que debe tener este aspecto (Contiene información para sus AppSettings)

"Endpoint=sb://iotbuildlab-ns.servicebus.windows.net/;SharedAccessKeyName=D1;SharedAccessKey=iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20="

  • servicio de espacio de nombres de autobús (Ej: “iotbuildlab-ns”)
  • nombre del evento cubo (Ej: “ehdevices” – siempre usar esto)
  • nombre de la clave (Ej: “D1”)
  • clave (Ej: “iQFNbyWTYRBwypMtPmpfJVz + NBgR32YHrQC0ZSvId20 =”)
  • nombre de visualización (Ej: “WeatherStation1” – Esto le da un nombre a los datos del dispositivo)
  • organización (Ej: “Construir la IO Lab” – Cambio de personalizar)
  • ubicación (Ej: “EE.UU.” – Cambio de personalizar)

ConnectTheDotsSensor: Contiene la información de un sensor

  • GUID
  • mostrar nombre
  • organización
  • ubicación
  • nombre de la medida
  • unidad de medida
  • hora de creación
  • valor

ConnectTheDotsHelper: Las funciones auxiliares para inicializar el Hub de eventos

  • establece la conexión
  • crea los tokens de autenticación

Si desea iniciar su propio concentrador de sucesos de servicios de fondo, siga las instrucciones del connectthedots GitHub repositorio:https://github.com/msopentech/connectthedots/blob/master/Azure/AzurePrep/AzurePrep.md

.

7-Una vez que haya que desplegado, debe iniciar el envío de datos al cubo evento y los datos debe ser visible en http://iotbuildlab.azurewebsites.net/ o en su propio sitio web.

 

Fuente  aqui

Thinking Things la plataforma de IoT de Telefónica


En este blog hemos hablado de diferentes plataformas  IoT como son  Pachube ( que más tarde paso a ser Cosm.com y es  ahora  finalmente es Xively)     , así como de otras plataformas como  open.se  ,o Nimbits
En esta ocasión vamos a hablar de la nueva plataforma thinkingthings , una plataforma de extremo a extremo  de Telefónica, que permite a todo el mundo crear nuevos productos y servicios de Internet de las Cosas (IoT) combinando    módulos plug’n play con capacidades diferentes – sensores, actuadores, conectividad, potencia – para crear dispositivos conectados personalizados.
Una gran diferencia de esta nueva plataforma, es que nada más sacar los módulos de su embalaje ( y por supuesto al darle alimentación) ,  gracias a la conectividad móvil de las tarjetas SIM, estos se conectan con la plataforma de  Telefónica via M2M  y por tanto ya estarán listos para enviar datos a la plataforma.
Cosas  que podemos hacer con thinkingthings ,  no sólo van centradas en la supervisión y control  de dispositivos de forma remota, sino también permiten  crear comportamientos automáticos gracias al  interfaz  web .
Asimismo, como  en otras plataformas, es posible utilizar  triggers  o disparadores automáticos, para por ejemplo  enviar alertas a través de SMS, correo electrónico o Twits,  siendo posible además utilizar una  API que proporcionan  para   integrar  el IoT con su sistema informático.

Módulos Hardware

En esta plataforma, han diseñado diferentes cubos de plástico que usted puede encajar unos a otros ( como piezas de Lego), teniendo cada bloque  una función diferente. Un conjunto de bloques conectados se llama “una pila” y puede poner tantos bloques como quiera  en la misma “pila”.

Los módulos son los siguientes:

  • Comunicación :Cada pila necesita un módulo de conectividad o “core”. El módulo de conectividad envía los datos de los otros módulos a la página web periódicamente. Puede controlar esta periodicidad de los controles de la página web. Utiliza la red móvil, para que se ejecute siempre que sea sus carreras de telefonía móvil. En caso de que usted se está preguntando, sí, tiene una tarjeta SIM en su interior. Sólo con el módulo principal se obtiene una posición aproximada de la pila (1Km en las zonas urbanas, a 5 km o más en las zonas rurales).
  •  Ambiente :El módulo de ambiente mide la temperatura del aire, humedad del aire y la luz ambiente.
  •  Presencia :El sensor de presencia detecta el movimiento de personas en frente de ella.(disponible: septiembre 2014)
  •  GPS :El sensor GPS da una posición precisa basada en satélites GPS (disponible: septiembre 2014)
  • Módulos del actuador: Módulos del actuador le dará la posibilidad de actuar a partir de la página web en el dispositivo.
  • Notificaciones :El futuro módulo de notificaciones tiene una luz que cambia de color-y puede zumbar. Disponible en noviembre 2014
  •  Plug Inteligente:Cambia dispositivos eléctricos o desactivar, ofrece funcionalidad dimmer y mide el consumo de energía.Disponible  a principios de 2015
  • Módulos de energía( Batería):El módulo de energía es la batería de la pila. Se puede usar sólo o conectada a un adaptador microUSB o incluso a un PC. Cuenta con una batería que puede alimentar la pila de forma independiente. Su vida depende de la cobertura móvil y el tiempo entre conexiones. Baterías actuales pueden alimentar una pila, que conecta cada hora, durante un mes. Usted puede poner más de un módulo para una mayor duración.
Los módulos se conectan de manera sencilla entre sí y al dispositivo que van a controlar, o se despliegan en el espacio que se quiere  monitorizar. Por ejemplo usando  tres elementos como son el actuador , comunicaciones  y energía  así ccomo  aplicando  reglas de  lógica básicas, los módulos se pueden usar para conectar a una lámpara para permitir el control remoto de la iluminación del hogar.
Una vez realizada la conexión, se crea una página web para el nuevo dispositivo. Esto proporciona acceso online para controlar las funciones de los módulos físicos.Gracias al interfaz ,este hace que sea muy fácil la configuración de los activadores de los módulos; por ejemplo, el control de la temperatura del hogar a través de internet o SMS.

Otro ejemplo  puede consistir en  una batería, un módulo de comunicaciones y un sensor de ambiente. Alimente con una bateria  y a continuación, conectese a la página web y verá allí su módulo pudiendo ver la información procedente del mundo real en su pantalla.

Si ademas a los módulos anteriores se añade el módulo GPS, tambien verá su bloque  en un mapa. Por ejemplo, usted puede ver la ruta seguida por el nuevo dispostivo  en los últimos días.

Una aspecto muy interesante también puede ser ver los datos en gráficos, desde la última hora a  los últimos meses permitiendo combinarse diferentes fuentes de información en el mismo gráfico, para que pueda comprobar, por ejemplo, si la temperatura se eleva cuando el sol calienta las ventanas.

Para terminar,  una característica muy importante  es la capacidad para poder redefinir reglas simples, pero de gran alcance, que el sistema ejecutará automáticamente para usted. Por ejemplo, usted puede recibir un correo electrónico si su casa se enfría demasiado, o un twit cuando las luces se apagan, pudiendo  definir alarmas sobre las cosas que son  importantes para usted con objeto de que  no tenga que supervisar constantemente la web pues podraáser informado automáticamente ante cualquier incidente.

Conectividad Global

Un gran aspecto muy diferente de otras plataformas  es  que prácticamente  pueden usarse estos módulos  en cualquier parte del mundo, gracias a que tienen una  tarjeta a SIM embebida la cual , a través de los acuerdos de roaming de Telefónica,  funciona en la mayoría de los países de la Unión Europea, Estados Unidos y la mayoría de los países latinoamericanos.

 

API REST

Si usted es un desarrollador puede hacer muchas más cosas con sus bloques: de hecho todo lo que hace a través de la web se puede hacer también  por cualquier software que desarrolle  usted (incluso muchos más )  usando una API muy simple. Así que usted puede escribir una aplicación para comprobar su hogar, o conectar la pila para los sistemas logísticos de su empresa. El API se ejecuta en las pasarelas de Telefónica, para que pueda obtener los datos en cualquier momento, incluso si los módulos están desconectados.

RESUMEN

Esta solución  hace realmente  posible y sencillo   el llamado   Internet de las cosas (IoT)  eliminando toda  la complejidad de la creación de soluciones de IOT  gracias  a  que han diseñado  módulos plug’n’play que se pueden combinar entre sí  sin cableado y  sin necesidad de hardware o electrónica de desarrollo ,para satisfacer diferentes  necesidades ,  teniendo como punto realmente  fuerte , que  además del equipamiento hw , tambien  se   incluye en el mismo precio  la  conectividad sin preocupaciones durante 6 meses o 1 año (contratando un año  ronda   aproximadamente los  0’27€ al día con conectividad y hardware incluidos)

Mas información aquí

Escudo WIFI para Arduino


En la víspera de la Maker Faire, el equipo de Atmel y Arduino han anunciado el lanzamiento de la Arduino Wi-Fi Escudo 101, un escudo que permite la rápida creación de prototipos de Internet de las Cosas (IoT) aplicaciones en el altamente popular plataforma de código abierto.

El escudo Wi-Fi para 101 es una extensión fácil de usar que perfectamente se puede conectar a cualquier placa Arduino , y en teoria con los drives NETMF adecuados tambien a Netduino ,permitiendo un  alto rendimiento de la conectividad Wi-Fi. Este nuevo escudo da a la comunidad de diseño más oportunidades para conectarse de forma segura mediante las aplicaciones de la IO, a los bienes de consumo , vestibles, robótica, dispositivos de alta tecnología y más.

 

El  escudo Wi-Fi para 101 es accionado por el controlador de red inalámbrica de Atmel, parte de la  familia Atmel SmartConnect , y también incluye el  dispositivo CryptoAuthentication  que permite a los usuarios incorporar fácilmente capacidad de autenticación de hardware en su diseño.

“En este mundo cada vez más conectado, la conexión del escudo Wi-Fi  para  Arduino 101 ayudará a impulsar más invenciones en el mercado de la IO,” explicó Arduino Co-Fundador Massimo Banzi.”La expansión de nuestra cartera de extensiones de Arduino, este nuevo escudo se puede conectar sin problemas a cualquier placa Arduino moderna dando a nuestra comunidad más opciones de conectividad, junto con elementos de seguridad adicionales a sus proyectos creativos.”

Arduino_Wi-Fi_Overhead_Sticker

Los fabricantes pueden conectar el escudo Wi-Fi para 101 a cualquier placa Arduino R3 moderna, que permite la conectividad a Internet utilizando cualquiera de los puntos tradicionales de acceso Wi-Fi. Se basa en el controlador de 802.11b / g / n de red WINC1500 que cuenta con una pila integrada TCP / IP, la seguridad TLS y SoftAP para el aprovisionamiento sin fisuras.También cuenta con una autenticación de Atmel  dispositivo de seguridad que se puede utilizar para las claves, contraseñas o datos secretos.

Al estilo de Arduino, todos los elementos de la plataforma – hardware, software y documentación – es de libre acceso y de fuente abierta. Esto ofrece al publico   poder  descubrir exactamente cómo se hace y después de utilizar su diseño como punto de partida para sus propios circuitos. Una biblioteca de Wi-Fi de código abierto  también estará disponible para que los usuarios puedan escribir sketches que se conectan a Internet a través del escudo. El escudo recién presentado se conecta a una placa Arduino usando largos encabezados por arrollamiento de hilo que se extienden a través del escudo, manteniendo así la disposición de pines intacto y permite que otros escudos para ser apilados en la parte superior.

“A través de nuestra asociación de larga data con Arduino, Atmel está comprometido con el Movimiento Maker y emocionado de permitir que los dispositivos más conectados en el Internet de las cosas”, dijo Reza Kazerounian, Vicepresidente Senior y Gerente General de Atmel. “Nos hemos asociado con Arduino para desarrollar una verdadera solución IoT llave que permitirá a la comunidad para crear posibilidades ilimitadas. Estamos ansiosos por ver la amplitud de la próxima generación de productos de la IO que este nuevo escudo ayudará a los diseñadores a lograr “.

Desde 2005, una comunidad mundial de fabricantes ha reunido en torno a esta plataforma de código abierto. Y, microcontroladores Atmel estaban allí desde el principio , que proporciona microcontroladores sencillos pero poderosos (MCU) como la parte del hardware de la ecuación.Artistas, diseñadores, inventores, ingenieros, músicos y estudiantes han recurrido a la placa Arduino – diseñado en torno Atmel AVR o Atmel ARM basados ​​en microcontroladores – para llevar sus ideas a la vida.

Al ofrecer una combinación única de rendimiento, eficiencia energética y flexibilidad de diseño, Atmel MCU se complementan perfectamente con Arduino y las necesidades de los responsables.Más importante aún, vienen prácticamente pre-integrado los periféricos necesarios para detectar y controlar el mundo físico. Atmel MCU y Arduino-el dúo original en el corazón del movimiento fabricante global. El escudo recién anunciado proporcionará conectividad Wi-Fi segura para todas las plataformas Arduino, lo que permite posibilidades ilimitadas para dispositivos inteligentes conectados, la IO ( es decir , Internet de las cosas).
Arduino_Wi-Fi_Angle_Sticker

Fuente aqui