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

Cosm la plataforma de Internet de las cosas (antes pachube ) ahora es xively


Tras un tiempo en beta ,LogMeIn ha anunciado que su  famosa plataforma cosm.com antes pachube.com ha salido de beta como Xively  buscando  ser la refererencia de  nube pública construida específicamente para Internet de las cosas acelerando la innovación, centrándose en productos en lugar de la infraestructura necesaria.

De este modo Xively abre la puerta a un mundo de infinitas posibilidades al permitir que más conexiones,aplicaciones, dispositivos, datos, lugares y los usuarios se puedan conectar a través de la nube cualquier objeto conectado ™ creando soluciones exponenciales, que transformarán la forma en que la gente descubre, interactua y experimentar su mundo.

Xively Cloud Services ™ es una plataforma-as-a-service IoT (PaaS) que se basa en el rico legado de Pachube y Cosm para ofrecer una nueva experiencia de desarrollo y plataforma altamente escalable para productos y soluciones  industriales.

En base a los comentarios y retroalimentación de los usuarios de las antiguas plataformas , han añadido algunas características interesantes que no estaban presentes  en la anterior plataforma , así como también han modificado el servicio para garantizar centrarse en las demandas explosivas del mundo conectado.

Todos los usuarios actuales cosm, se darán cuenta de algunos cambios cuando llegan al sitio pues
Cosm.com ahora redirige a https://xively.com y con eso viene una nuevo interfaz  y  apariencia:no se preocupe, su nombre de usuario sigue siendo el mismo y se puede acceder a su cuenta y los datos en este momento.
Si lo desea  aqui encontrará  un nuevo interfaz de desarrollo muy intuitivo centralizando todo lo necesario para crear, depurar y desplegar conectados a sus innovaciones de productos y servicios

Desde  aqui  accederá  a un centro de desarrollo integral con guías API, tutoriales, vídeos y bibliotecas que soportan cientos de plataformas, millones de gateways y miles de millones de dispositivos

Han puesto una dotación altamente escalables y servicios de gestión que pueden apoyar uno-mil millones dispositivos en las manos de todos los desarrolladores y lo hemos hecho fácil para su uso con la consola Xively Gestión:

Los términos de uso siguen siendo ponerle el control a los datos y los usuarios por tanto continúan siendo dueños de sus datos pudiendo elegir si desead compartir todo, parte o nada de ella con quien deseen en los términos que se especifican.
Precisamente se puede ver los Términos de servicio aquí

Usted tiene la posibilidad de compartir datos de forma selectiva y controlarlos a través de la Xively por medio de la conexion al objeto Nube ™, lo que permite interconectar dispositivos, aps y servicios con dispositivos de otros fabricantes, puntos de acceso y de servicios para crear experiencias exponencialmente muy potentess.

Cualquier fuente de datos que usted decide hacer pública está indexada y está disponible en los principales motores de búsqueda como Google y Bing.

Si usted es un cliente Currentcost, como estan retirando el panel de Cosm :utilice el panel de control http://my.currentcost.com

Ahora ofrecen el servicio comercial con un modelo de precios flexible. Los detalles completos están justo en el sitio web

También estan anunciando colaboración con ARM ( uno de los mayores fabricantes de componentes mundiales ), y ofrecens la Xively Jumpstart Kit:embed Edition. Esto se asociará una plataforma flexible de prototipos IO con Xively servicios en la nube, que le da un camino claro para crear su producto o solución conectada.

Para ayudar a los usuarios de cosm.com con esta transición, han creado dos valiosos recursos::

– La transición de Cosm a Xively aqui

– Uso Xively

Desde del punto de vista de desarrollo, Xively  proporciona bibliotecas libres, abiertas (apoyandose junto con tutoriales y la documentación )que le permite conectarse a Xively utilizando el hardware que desea y las lenguajes  que conoce. Para hacerlo aún más fácil, estan haciendo plataformas de hardware ™ Xively habilitados certificados a partir de una variedad de proveedores. Gracias a las bibliotecas se puede aprovechar la API basado en estándares a través de HTTP, enchufes y MQTT para hacer la conexión a la Internet de las cosas simples, intuitivos y rápidos.

Nunca ha sido tan fácil dar una idea a la producción.

Construir aplicaciones conectadas para cualquier cosa
Creación de aplicaciones interactivas para los productos conectados nunca ha sido tan fácil. Nuestras bibliotecas de cliente, incluyendo iOS, Android, JavaScript, y más, hacen que sea fácil de aprovechar nuestra API para que pueda centrarse en su innovación IoT en lugar de la infraestructura.