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

Transmisor de bajo costo


Con el surgimiento de IoT  (Internet de las cosas ), es  sólo una cuestión de tiempo antes de que las paredes de las casas se adornen con aparatos inteligentes y que  casi todo lo que nos rodee esté cargados de sensores.

Sin embargo, el precio  actual  de estos dispositivos  hace que muchos de estos  dispositivos , en el momento actual  por ahora  queden  fuera del alcance de la gran mayoría de los consumidores. Aparte de eso, hay un sin número de módulos transceptores de terceros y registradores de datos disponibles en el mercado hoy en día que son todavía algo  caros y complicados, pero  que  tienden a desplegarse casi de forma generalizada en cada vez más aplicaciones.

En un esfuerzo por resolver este enigma, el creador David Cook ha diseñado un módulo prefabricado bautizado como LoFi , que  permite la transmisión de los aficionados y los hackers por igual para agregar conexiones inalámbricas a cualquier aparato o proyecto de bricolaje con un consumo de energía mínimo. El usuario sólo tiene que conectar el LoFi  a puntos de circuitos o sensores a lo largo de una casa o jardín, y sus datos adquiridos se puede transmitir a un PC o enviado a Internet a través de Wi-Fi. No hay programación o protocolos para aprender, o placas base para hacerlo. ¿La mejor parte? La placa entera va a costar menos de una taza de café (aproximadamente $ 3).

 

Uso de su ordenador o portátil, puede establecer niveles de activación en módulos individuales para decirles cuándo transmitir. Por ejemplo, enviar una actualización cuando el voltaje cambia en más de 1 V en el sensor de vibración cerca de la puerta del garaje. También puede configurar el módulo en un temporizador, como por hora en el monitor del jardín «, de Cook escribe.

La solución de baja potencia se compone de un transmisor y un receptor barato junto con una placa que los usuarios pueden conectar con aparatos o proyectos, que van desde un timbre a un termostato. Para el emparejamiento de sensores y una batería, LoFi puede ser utilizado como una estación de sensor independiente al aire libre. La placa  preprogramada cuenta con cinco entradas analógicas, un sensor de temperatura interno, una referencia de tensión y se basa en un ATtiny84A , que se encarga de vigilar las entradas y salidas de los datos. El módulo emisor compacto también está equipado con un LED rojo y verde para indicar el estado, y un soporte de tipo botón pulsador opcional y para activar manualmente la transmisión. Lo que es más, los sensores tales como la luz, la humedad y las vibraciones, y un detector de movimiento por infrarrojos se pueden añadir también.

lofi2

Después de que el dispositivo está conectado a todo, los fabricantes pueden tomar sus teléfonos inteligentes, conéctarlo al cable de serie y leer todos los valores de los sensores. Los usuarios pueden establecer mínimos / umbrales máximos y un contador de tiempo por el cual les gustaría LoFi para transmitir los datos. Una vez configurado, el transmisor y el receptor de bajo costo están unidos, conectados a una pasarela de escucha, y vinculados a un PC en casa con el cable serie antes mencionada. De esta manera, los usuarios pueden recibir toda la información que se ha enviado. Incluso mejor, una placa  Wi-Fi se puede agregar para  habilitar la transmisión inalámbrica a Internet o a una red local. Cabe señalar que LoFi es compatible con data.sparkfun.com, un repositorio de código abierto Internet libre.

lofi1

LoFi es capaz de lograr bajo consumo de energía por estar en modo lento profundo la mayor parte del tiempo. En promedio, el módulo consume sólo 18μA de potencia, lo que permite que dure un año en de tipo botón o 10 años en un pilas AA. Habida cuenta de su consumo de energía y el minúsculo tamaño de 1,25  pulgada cuadrada, la placa se puede utilizar en una amplia gama de aplicaciones.

Por ejemplo, la combinación de LoFi, un interruptor de bola de inclinación y algunos velcros dentro de una caja Tic-Tac puede servir como un detector de puerta de garaje. O, LoFi, un sensor reflectante de infrarrojos y un tarro de grano pueden alertar a un usuario si tienen correo. Por destripar un cargador iPhone y añadiendo un tipo botón, LoFi puede crear un monitor de temperatura disfrazado en el local. La lista sigue y sigue …