Pushing usando Parse desde Netduino a Xamarin.Forms


Parse es un proveedor BaaS (Backend as a service) que, entre su conjunto de características, ofrece un servicio de notificaciones Push . Se usa  ese servicio para enviar las notificaciones push a nuestros  dispositivos. Es bastante sencillo comenzar, en primer lugar, crear una nueva aplicación, tomar las claves (para ambas REST API y .NET), escribir  un código y empezaré a enviar pushes.

Configurando el Netduino

Se puede utilizar  un simple interruptor de contacto magnético(es decir un rele reed)  para detectar cuándo la puerta se abrió o se cerró, en el código se verá algo así como var doorPort = new InputPort(... y un bucle infinito en el que reside la lógica “principal”). while el netduino lee el estado actual del sensor, lo compara con un estado previo y, si hay algún cambio, envía la notificación de inserción utilizando mi biblioteca parse-dotnetmf .

La biblioteca parse-dotnetmf

Para consumir las funciones REST Api de Parse de un Netduino 3, se puede í crear una biblioteca de clientes para facilitar las cosas , esta biblioteca actualmente solo admite el envío de notificaciones push o Parse, pero puede ampliarse fácilmente para admitir todas las demás funciones también , es fácil de usar simplemente cree un cliente var pc = new ParseClient("AppId", "Api Key"); y luego envíe una notificación push así: pc.SendPushToChannel("Hey!"); .

Esta biblioteca está muy inspirada en la biblioteca MicroTweet2 de Matt Isenhower. Utiliza la clase HttpWebRequest , no requiere dependencias adicionales y cabe fácilmente en un tablero de Wi-Fi Netduino 3.

Configuración de la aplicación Xamarin.Forms

Hay algunos pasos que debe seguir para implementar Parse Push en su aplicación Xamarin, le recomiendo que siga los tutoriales que ya existen en el sitio web de Parse. Voy a hacer un resumen rápido de lo que hice (además de tratar de crear mi propio complemento).

En primer lugar, para Windows Phone no hay pasos obligatorios que no sean seguir este tutorial , por otro lado, para Android tendrás que hacer dos cosas:
1. Marque este tutorial pero haga solo la parte de AndroidManifest.xml .
2. Compruebe la muestra en GitHub , en particular la implementación de la clase ParseApplication en el proyecto de Android.

El complemento CrossParse

Como sabemos, cuando queremos ofrecer experiencias específicas de la plataforma desde una aplicación Xamarin.Forms podemos usar o crear un complemento que nos permita resumir las funcionalidades de cada plataforma para interactuar con cada plataforma a través de una API común.

Tratar de hacer un complemento para manejar todas las interacciones con Parse push o resulta que no es tan fácil como se puede pensar al principio, pues  los Componentes Xamarin de Parse para cada plataforma ya son compatibles con las notificaciones push, pero no existe una capa de abstracción que pueda usarse con formularios, sin mencionar que hay algunos pasos especiales necesarios para cada plataforma que debe gestionar explícitamente en cada proyecto específico de plataforma como por ejemplo crear la clase ParseApplication extra en el proyecto de Android, por ejemplo).

Por lo tanto, este complemento no es tan útil o, pero aún ayuda proporcionando la capa de abstracción mencionada e instalando los nugets de Parse por ti. Con este complemento, puede suscribirse / darse de baja de los canales y gestionar las notificaciones mientras el usuario se encuentra en la aplicación. Realmente esperemos que Parse lance un complemento para formularios pronto, ya que es bastante fácil de hacer dado que ya tienen los componentes.

El autor ha realizado un video donde mostra cómo funciona el sistema:

Enlaces

No pretendemos desde este blog  crear una publicación llena de enlaces, así que aquí están los enlaces a los complementos GitHub repos (y su respectiva página NuGet):
Anuncios

Acceso web de Sensores Analogicos para Raspberry Pi (parte 1)


En un post anterior veíamos algunas de las posibilidades de  conexión de sensores digitales  a nuestra Raspberry Pi como puede ser añadir sensores I2C con el CI DS1820 , sensores de Co2 basados en el Mq4, sensores genéricos,sensores de presión con el BMP180,sensores de temperatura basados en el TMP102, sensores de proximidad basados en el VCNL 4000o  o los sensores de luminosidad basados en el  TSL2561.

Como todos sabemos  existen también una cantidad muy alta de sensores cuya salida no es digital , lo cual en principio no se podrían conectar directamente a nuestra Raspberry,pero esto no es exactamente así porque si podemos conectarlos por medio de convertidores A/D y D/A  como vamos a ver a continuación

 

PCA9685 PWM

pca9685.png

En efecto con este CI  que podemos comprar por unos 12€  en Amazon podemos ajustar el brillo por ejemplo de 12 leds mediante PWM o por supuesto también controlar hasta 12 servos con esta placa

El  circuito contiene un controlador PWM controlado por I2C con un reloj incorporado. A diferencia de la familia TLC5940, no es necesario enviar continuamente señales pues es gestionado  utilizando sólo dos pines para controlar 16 salidas PWM de funcionamiento libre e  incluso puede encadenar 62 salidas para controlar hasta 992 salidas PWM

Funciona a 5V, lo que significa que puede controlarlo desde 3,3V y seguir con seguridad hasta 6V salidas (esto es bueno cuando se desea controlar LEDs blancos o azules con 3,4+ voltajes hacia adelante)

Lleva 3 conectores de clavija en grupos de 4, así que usted puede enchufar 16 servos a la vez (los enchufes del servo son levemente más anchos de 0.1 “por lo que usted puede apilar solamente 4 al lado de uno a en 0.1”)
La  resolución es de 12 bits para cada salida – para servos, lo que significa una resolución de 4us a 60Hz

 

Un par de notas antes de comenzar:
  • Para agregar un actuador de luminosidad necesita un controlador PWM. Para este ejemplo vamos a utilizar un regulador de la entrada-salida de PCA9685 PWM. Este tutorial asume que usted ya tiene el PCA9685 conectado. Consulte el Tutorial de PCA9685 si necesita ayuda con la parte.
  • Asegúrese de que Raspberry Pi está apagado al conectar los cables.
  • Cuando utilice un cable de cinta GPIO, asegúrese de que está conectado el cable (es un color diferente que los otros) en la esquina de la Raspberry Pi y la parte superior de tu pastel de Pi.
  • El diagrama proporcionado es sólo un ejemplo de cómo conectar el sensor. Hay muchas maneras para conectar sensores y extensiones, así que trate de lo que funciona mejor para usted!
  • Algunos placas de prototipos tamaño completo (usados en los diagramas a continuación) tienen una linea de alimntación que se separa en el medio. Si este es el caso, asegúrese de que sus sensores están conectados en la misma mitad de la placa como tu pastel de Pi.

Use el siguiente diagrama para conectar un LED a su frambuesa Pi y ajustar su brillo mediante PWM.

Paso 1

Conecte uno de los pines PWM de la PCA9685 a lo LED, a través de un resistor conectado al cable (positivo) más. En este caso, utilizaremos canal 0 en el PCA9685.
Luminosity

Paso 2

Conecte tierra del canal 0 de la PCA9685 de los LEDs más corto (negativo).
Luminosity

Paso 3

¡Listo! Ahora puede Agregar el actuador de luminosidad a su panel de control, utilizando el canal 0 en el PCA9685 para ajustar el brillo de los LEDs.

TMP36

TMP36

Antes de comenzar,para poder utilizar un sensor análogo del tipo  TMP36  con la RP Pi tenemos que utilizar un convertidor de analógico a Digital. Para este ejemplo utilizaremos el MCP3008 para esta tarea. Este tutorial asume que usted ya tiene el MCP3008 conectado.

Use el siguiente diagrama para conectar un sensor de temperatura de analógico TMP36.

 

Paso 1

Conecte la energía eléctrica desde el  Pi al TMP36 pin 1 (+ VS).
TMP36

Paso 2

Conectar la tierra de la Pi al TMP36 pin 3 (GND).
TMP36

Paso 3

Conectar la clavija de TMP36 2 (VOUT) en uno de los 8 canales de la MCP3008. Para este ejemplo, CH0.
TMP36

Paso 4

¡Listo! Ahora puede añadir el sensor TMP36 al tablero de Cayenne, usando canal de la MCP3008  para leer el valor del sensor.

 

MCP3004

MCP3004

El  MCP3004  es  un conversor A/D de canales de 10 bits de resolución

Use el siguiente diagrama para conectar su Convertidor A/D de MCP3004 con interfaz en serie SPI.

Paso 1

Desde el pastel de Pi para alimentar el pin MCP3004 14 (VDD) y 13 (VREF).
MCP3004

Paso 2

Conectar la tierra de la Pi al MCP3004 pin 7 (DGND) y 12 (AGND).
MCP3004

Paso 3

Conectar patillas SCLK de la Pi y el MCP3004 11 (CLK).
MCP3004

Paso 4

Conectar patillas MISO de la  Pi y el MCP3004 10 (DUDA).
MCP3004

Paso 5

Conectar patillas MOSI de la Pi y el MCP3004 9 (DIN).
MCP3004

Paso 6

Conecte la clavija de la entrada de la selección de chip MCP3004 8 (CS/SHDN) a uno de los pines del chip select Pi, CE0 en este ejemplo
MCP3004

Paso 7

¡Listo! Ahora puede Agregar el convertidor de MCP3004 a tu panel de control usando el chip-select 0.

MCP3204

MCP3204

Use el siguiente diagrama para conectar su Convertidor de A/D MCP3204 con interfaz en serie SPI.

Paso 1

Desde  Pi puede alimentar el pin MCP3204 14 (VDD) y 13 (VREF).
MCP3204

Paso 2

Conectar la tierra del  Pi al MCP3204 pin 7 (DGND) y 12 (AGND).
MCP3204

Paso 3

Conectar patillas SCLK del Pi y la MCP3204 11 (CLK).
MCP3204

Paso 4

Conectar patillas MISO del Pi y la MCP3204 10 (MOSI).
MCP3204

Paso 5

Conectar patillas MOSI del Pi y la MCP3204 9 (DIN).
MCP3204

Paso 6

Conecte la clavija de la entrada de la selección de chip MCP3204 8 (CS/SHDN) a uno de los pines del chip select del Pi , CE0 en este ejemplo.
MCP3204

Paso 7

¡Listo! Ahora puede Agregar el convertidor MCP3204 a su panel de control usando el chip-select 0.

MCP3208

MCP3208

El  MCP3008  es  un conversor A/D de 8 canales de 10 bits de resolución

Use el siguiente diagrama para conectar su Convertidor A/D de MCP3208 con interfaz en serie SPI.

 

Paso 1

Desde el  Pi alimentar el pin MCP3208 16 (VDD) y 15 (VREF).
MCP3208

Paso 2

Conectar la tierra del pastel de Pi al MCP3208 pin 9 (DGND) y 14 (AGND).
MCP3208

Paso 3

Conectar patillas SCLK del  Pi y el MCP3208 13 (CLK).
MCP3208

Paso 4

Conectar patillas MISO del  Pi y el MCP3208 12 (MOSI).
MCP3208

Paso 5

Conectar patillas MOSI del Pi y el MCP3208 11 (DIN).
MCP3208

Paso 6

Conecte la clavija de entrada MCP3208 chip select (CS/SHDN) de 10 a uno de los pines del chip select del Pi , CE0 en este ejemplo.
MCP3208

Paso 7

¡Listo! Ahora puede Agregar el convertidor de MCP3208 a su panel de control usando el chip-select 0.

MCP3008

MCP3008

El  MCP3008  es  un conversor A/D de 8 canales de 10 bits de resolución  de bajo coste (6€)

Use el siguiente diagrama para conectar su convertidor A/D de MCP3008 con interfaz en serie SPI.

Paso 1

Desde el Pi alimentar el pin MCP3008 16 (VDD) y 15 (VREF).
MCP3008

Paso 2

Conectar la tierra del Pi al MCP3008 pin 9 (DGND) y 14 (AGND).
MCP3008

Paso 3

Conectar patillas SCLK del Pi y el MCP3008 13 (CLK).
MCP3008

Paso 4

Conectar patillas MISO del  Pi y el MCP3008 12 (MOSI).
MCP3008

Paso 5

Conectar patillas MOSI del  Pi y el MCP3008 11 (DIN).
MCP3008

Paso 6

Conecte la clavija de entrada MCP3008 chip select (CS/SHDN) de 10 a uno de los pines del chip select Pi Zapatero, CE0 en este ejemplo.
MCP3008

Paso 7

¡Listo! Ahora puede Agregar el convertidor de MCP3008 a su panel de control, usando el chip-select 0.

ADS1115

ADS1115

El  ADS1115 es un convertidor A/D de alta resolucion de 16 bits de 4 canales de un coste muy contenido (unos 4,25€).

El ADS1115 le permite seleccionar esclavo diferentes direcciones para el convertidor. Para este ejemplo usaremos 0x48.

Use el siguiente diagrama para conectar su convertidor A/D de ADS1115.

 

Paso 1

Desde el Pi para alimentar el ADS1115.
ADS1115

Paso 2

Conectar la tierra del  Pi a la ADS1115.
ADS1115

Paso 3

Conecte los pines SCL de la ADS1115   a la  Pi.
ADS1115

Paso 4

Conecte las clavijas SDA de la ADS1115 de  la Pi.
ADS1115

Paso 5

Conecte los pines GND y ADDR en la ADS1115. Esto resultará en una dirección de I2C del 0x48.
ADS1115

Paso 6

¡Listo! Ahora puede Agregar el convertidor de ADS1115 en el tablero de Cayenne, con dirección por defecto de 0x48.

ADS1015

ADS1015

Hablamos del ADS1015  un conversor  A/D de 12 bits  de 5 canales .El ADS1015 le permite seleccionar esclavo diferentes direcciones para el convertidor. Para este ejemplo usaremos 0x48.

Use el siguiente diagrama para conectar su convertidor A/D de ADS1015.

 

Paso 1

Desde el pastel de Pi para alimentar el ADS1015.
ADS1015

Paso 2

Conectar la tierra del  Pi a la ADS1015.
ADS1015

Paso 3

Conecte los pines SCL de la ADS1015 a la Pi.
ADS1015

Paso 4

Conecte las clavijas SDA de la ADS1015 a la  Pi.
ADS1015

Paso 5

Conecte los pines GND y ADDR en la ADS1015. Esto resultará en una dirección de I2C del 0x48.
ADS1015

¡Listo! Ahora puede Agregar el convertidor de ADS1015 en el panel de Cayenne, con dirección por defecto de 0x48.

 

MCP23018

MCP23018

El MCP23018 es un convesor A/D de 12bits de 4 canales  de alta precisión .Use el siguiente diagrama para conectar su MCP23018 IO expansor.

Paso 1

Alimentar 5V desde el zapatero de Pi a VDD (pin 11) en el MCP23018.
MCP23018

Paso 2

Conectarse tierra del Pi el VSS (pin 1) en el MCP23018.
MCP23018

Paso 3

Conectar los pines SCL de la MCP23018 (pin 12)  de su Pi.
MCP23018

Paso 4

Conecte las clavijas SDA de la MCP23018 (pin 13)  a la  Pi.
MCP23018

Paso 5

Alimentar el reset (pin 16) en el MCP23018. Tira de alta Reset es necesario para el funcionamiento normal.
MCP23018

Paso 6

Conectar toma de tierra al pin de dirección (pin 15) en el MCP23018. Esto le dará el expansor de una dirección predeterminada de 0 x 20.
MCP23018

Paso 7

¡Listo! Ahora puede Agregar el MCP23018 en el panel de Cayenne, con dirección por defecto de 0 x 20.

No se preocupe  hay muchos mas posibilidades  que hablaremos en proximos post

Simple modificación de un mando dual para automatización del hogar


En el post de hoy vamos a ver como con una  simple  modificación del circuito comercial (concrétamente el kit jm80) de un receptor de un mando dual podemos convertir el circuito de radio control de un sistema eléctrico del hogar ( persiana eléctrica,puerta eléctrica, etc)  en un elemento  que nos abra la puerta a la automatización del hogar gracias  a que nos va a ser posible el control por tres vías posibles:

  • A distancia por el mando
  • Por control manual   por si perdemos el  mando o deseamos inhibir este
  • Por control mediante  un circuito auxiliar (Arduino).

 

conjunto.PNG

El circuito que vamos a usar es un económico kit  de 12€ que se puede comprar en Amazon aqui  .Sus características mas importantes son las siguientes:

  • 433 MHz, 2 Relay, alrededor de 150 metros
  • Incluye palanca/momentáneo/Latching chip
  • Min Voltaje/Corriente de conmutación: 5VDC 100 mA.
  • Max conmutación Voltaje: 110 VDC 240 VAC. Max Corriente de conmutación: 15 A.
  • Potencia de conmutación nominal: 1,875 va 360 W para cada relé
  • Canal: 2 canales
  • Voltaje de funcionamiento: DC 12 V
  • Corriente estática: < = 7ma electrónico contacto
  • Capacidad: 7 A 240 V AC, 10 A 24 V DC
  • distancia de transmisión: 150 – 200 metros (sin obstáculos)
  • codificación tipo: soldado modificar DIP chip de cambio de modo de control
  • Frecuencia de operación: 433 MHz
  • Modos de control: Elija con cierre o non-latching por el cambio un chip DIP carga nominal: 2000 W
  • Dimensión (LWH) (mm): 55 x 40 mm

 

Un  característica interesante para el caso de que montemos varias unidades es que es posible configurar receptor  y transmisores para otras combinaciones modificando los puentes de la combinación de acceso (por fiabilidad han sustituido el conmutador por puentes)

 

placas.PNG

Este kit incluye ingeniosamente tres chips que insertando alguno de estos  en el zócalo DIL del CI  del receptor permiten operar el receptor en tres  modos muy diferentes:

  • Tipo  Latch : al pulsar un botón,el relé interesado se conecta  hasta que pulse el otro. Muy parecido a los botones de velocidad de los ventiladores  que conectan otro bobinado ( y desconectan el anterior ) al activarlo
  • Tipo de non-latch (momentáneo): al pulsar un botón el relé interesado se conecta hasta que  usted lo libera. Al igual que el botón de claxon, si usted pulsa el claxon suena hasta que lo libera ;
  • Tipo de auto-latch (botón): al pulsar un botón el relé interesado se conecta  hasta que usted pulsar una vez más para desconectarlo.Este modo esta claramente ideado por ejemplo para abrir o cerrar la persiana eléctrica completamente sin necesidad de tener que estar pulsando el botón .También es útil para activar  o desactivar a distancia cualquier dispositivo como por ejemplo una TV, un equipo hifi,etc   funcionando en resumen como  la clave de potencia de mando a distancia de TV: al pulsar  TV, se enciende pero si se pulsa  de nuevo, TV se  apaga. Es esta configuración la que viene predefinida en el kit ,por lo que si necesita modificar el tipo de operación en non-latch o latch tendrá que cambiar el chip  que acompaña el kit

placareles1.png

Centrándonos en el receptor que  como vemos opera a 12 V DC, este cuenta con dos reles de  7A (220V).Cada relé cuenta con  un contacto común  y dos contactos móviles : uno abierto (correspondiente a la operación ) y  otro  cerrado (correspondiente al reposo).

En el siguiente esquema podemos ver claramente su significado:

esquema reles.PNG

Aunque el contacto en reposo(CB)   puede servir para muchas aplicaciones, para el  uso “normal ” se  utilizaran los contactos de trabajo( AB) para activar o desactivar las cargas a las que los conectemos estos , como por ejemplo el motor de una persiana eléctrica que tiene dos bobinados ( uno para subida y otro para bajada)

Este equipo , aun como vemos es muy versátil ,sin embargo  no incluye operación manual en el propio receptor ,ni tampoco  ningún tipo de tele-operación para poder activar los reles por medio  de algún automatismo  (Arduino ;Netduino ,Raspberry Pi,etc),lo cual puede ser un inconveniente  con vistas a automatizar nuestro hogar

La  modificación que se propone a este estupendo Kit es la posibilidad de operarlo via diferente a la de radio ,pero al no tener terminales específicos con objeto de no dañar la electrónica de RF ,el latch o los transistores de salida, lo  mejor es operar directamente  con los bobinados de los reles.

La modificación probada para este kit , no puede ser mas sencilla pues simplemente consiste en localizar los bobinados de los reles (diferentes del positivo)   y  soldar  a estos  sendos cablecillos  permitiéndonos  usarlos si lo conectamos a la masa general  tanto para operar manualmente los reles como para tele-operacion por otro circuito

En la siguiente imagen podemos ver dos cablecillos grises soldados a la placa para el control manual de los reles:

 

IMG_20160904_185521[1].jpg

 

En cuanto a las conexiones de los hilos de control  obtenidos, el conexionado no puede ser mas sencillo ,pues  sólo conectaremos los hilos a dos pulsadores (normalmente abiertos)  y después uno  común  que ira a ambos pulsadores  y a la masa común de la alimentación(ov)

 

IMG_20160904_185441[1].jpg

Obviamente los hilos obtenidos  de la conexión de los bobinados de los relés no solo sirven para la operación por pulsadores , también puedes ser utilizados para la tele-operación del circuito vía un circuito auxiliar( por ejemplo constituido un Arduino con un  transistor de pequeña potencia )

Finalmente  para terminar el montaje se recomienda usar dos regletas de terminales  diferenciadas:

  • Una de muy baja tensión para los tres terminales ( los dos relés y la masa) para el tele-control   o para  el accionamiento manual de los pulsadores
  • Una de Baja Tensión  de  al menos 5 terminales para la alimentación del montaje y para apoyar las conexiones de  utilización del receptor ( en la imagen se ve como se alimenta desde ahí a  la fuente del receptor)

 

IMG_20160904_191156[1].jpg

 

Si le interesa hace esta mejora  , el kit que hemos usado en este post lo puede conseguir en Amazon por menos de 12€  , aunque como se ha comentado tendrá que soldar dos cablecillos a la placa ( puede perder la garantía del producto así que se recomienda probarlo antes de emprender esta sencilla modificación) ,pero la mejora sera bastante ostensible pues abre un abanico inmenso de posibilidades

 

 

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