ARDUINO REMOTO para WINDOWS Parte 2 de 3


Arduino remoto para  Windows es una biblioteca de componentes de tiempo de ejecución de Windows de código abierto que permite a los fabricantes controlar un Arduino mediante una conexión Bluetooth o USB. Se pretende para los desarrolladores de Windows Runtime que quieran aprovechar el poder de hardware Arduino usando las lenguajes  de tiempo de ejecución de Windows. Los desarrolladores que incluyan este componente en sus proyectos automáticamente tendrán acceso a sus funciones en cualquiera de las lenguajes soportados de  WinRT (C + + CX, C# y JavaScript).

 En un post anterior vimos cómo configurar su Arduino , hoy vamos a ver como   configurar su ordenador  para añadir la biblioteca Arduino Remoto para windows a su  solución IoT

Hay tres maneras de agregar la biblioteca Arduino remoto para  Windows a su solución, en orden de más fácil a más difícil.

  1. Instale el paquete de NuGet
  2. Agregar manualmente los archivos del proyecto Arduino remoto de Windows a su solución
  3. Compilar la solución Windows remotos Arduino y manualmente los archivos WinMD en la solución de referencia.

De estas opciones, instalar el paquete NuGet es por lejos la más fácil.

Opción 1: Instalar el paquete de NuGet

NuGet es una manera rápida y fácil para instalar automáticamente los paquetes y las dependencias de la instalación. Por desgracia, no todavía tenemos soporte para NuGet en Windows 10.

 

 

Opción 2: Añadir los proyectos Arduino remoto de Windows a su solución

Paso 1: Crear un nuevo proyecto

  • Archivo -> nuevo proyecto
  • Seleccione su idioma de preferencia. Arduino remoto para Windows es un componente de WinRT, lo que significa que es compatible con C++, C# o JavaScript.
  • Verá que he elegido C# ampliando el menú «Visual C#». Seleccione la opción «Windows» y elija «App en blanco (Windows Universal)» o «App en blanco (Windows 8.1 Universal)» Si usted está construyendo para Windows 8.1.

Paso 2: Añadir proyectos Arduino remoto de Windows a su solución

  • Acceda a su copia local del repositorio. Aquí verá que lo clonó a C:\git\remote-wiring, pero puede elegir un directorio diferente. Luego, abra la carpeta solución apropiada para su entorno de compilación (10 de Windows o Windows 8.1).
  • Vamos a empezar con el proyecto de serie (Microsoft.Maker.Serial). Abra este directorio.
  • Seleccione el archivo .vcxproj . (Si usted está apuntando Windows 8.1, primero tendrás que elegir entre Windows y Windows Phone directorios de plataforma. No tienes que hacer esto para Windows 10, que es Universal para todas las plataformas.)
  • Haga clic en cualquier proyecto y seleccione crear dependencias-> dependencias del proyecto
  • Dependencias entre proyectos para Arduino remoto Windows ya debe estar configurado. Sin embargo, no lastimará a verificar que las dependencias correctas son seleccionadas para cada proyecto. Seleccione cada proyecto en la gota abajo y verifique que tiene las dependencias correctas.
  • Serie no tiene dependencias.
  • Una firmado depende de serie.
  • RemoteWiring depende de serie y una firmado.

Finalmente, seleccione su proyecto en la gota abajo y cada uno de los proyectos Microsoft.Maker como dependencias para su proyecto.

  • Haga clic en «Referencias» en su proyecto. Seleccione Agregar referencia
  • En la pestaña «Windows Universal», seleccione el submenú «Extensions» y seleccione el Paquete de tiempo de ejecución de Microsoft Visual C++ AppLocal versión 14.0.
  • En la pestaña «Proyectos», seleccione los tres de los proyectos de Microsoft.Maker
  • Reconstruir su solución seleccionando Build -> reconstruir todo

Paso 3: ¡ Diviértete!

Ahora puede utilizar los tres proyectos directamente en el código fuente. Usted notará he construido un objeto BluetoothSerial y lo unió a mi objeto de ServiceRecord, así que he incluido los dos espacios de nombres apropiados en la parte superior de mi archivo .cs.

Opción 3: Compilar manualmente y añadir referencias a su solución

Compilar manualmente una biblioteca de componentes WinRT produce archivos .winmd y .dll que se pueden hacer referencia en su proyecto.

Paso 1: Compilar la solución Windows remotos Arduino

  • Clonar el repositorio de Windows remotos Arduino GitHub.
  • Abra la copia local del repositorio. Aquí verás que yo he clonó a C:\git\remote-wiring, pero usted puede elegir un directorio diferente. Luego, abra la carpeta solución apropiada para su entorno de compilación (10 de Windows o Windows 8.1).
  • Abra el archivo de solución (.sln). Si no tienes «Extensiones de nombre de archivo» habilitado en la ficha «Ver», puede buscar el tipo de «Microsoft Visual Studio solución». (Si usted está apuntando Windows 8.1, primero tendrás que elegir entre Windows y Windows Phone directorios de plataforma. No tienes que hacer esto para Windows 10, que es Universal para todas las plataformas)
  • Seleccione el destino correcto construir. Si usted está planeando desplegar la aplicación Pi2 frambuesa o Windows Phone, usted querrá seleccionar brazo. Caso contrario si usted está apuntando a una selección de plataforma PC ya sea x 86 o x 64. Si usted está apuntando MinnowBoardMax, seleccione x 86.
  • Construcción -> reconstrucción de solución
  • La solución debe aumentar aproximadamente un minuto.

Paso 2: Crear un nuevo proyecto

  • Archivo -> nuevo proyecto
  • Seleccione su idioma de preferencia. Arduino remoto de Windows es un componente de WinRT, lo que significa que es compatible con C++, C# o JavaScript.
  • Verás que he elegido C# ampliando el menú «Visual C#». Seleccione la opción «Windows» y elija «App en blanco (Windows Universal)» o «App en blanco (Windows 8.1 Universal)» Si usted está construyendo para Windows 8.1.

Paso 3: Referencia a los archivos de WinMD

  • Busque el elemento de «Referencias» en el explorador de soluciones en su nuevo proyecto. Con el botón derecho y seleccione «Agregar referencia…»
  • En la pestaña «Windows Universal», seleccione el submenú «Extensions» y seleccione el Paquete de tiempo de ejecución de Microsoft Visual C++ AppLocal versión 14.0.
  • Seleccione la pestaña «Examinar» de la izquierda y haga clic en el botón «Browse…» en la parte inferior.
  • Busque el directorio donde se ha almacenado en el repositorio de Arduino remoto de Windows y abra la carpeta del proyecto apropiado.
    • Si se ha compilado la biblioteca como «Brazo» utilizará la carpeta «Brazo» como yo tengo por debajo y luego «Debug» dentro de «Brazo».
    • Asimismo, x 64 puede encontrarse en la carpeta «x64\Debug».
    • x 86 estará en simplemente «Debug» como se puede ver en la captura de pantalla siguiente.
  • Aviso que estoy dentro del directorio «ARM\Debug», como estoy compilando para plataformas brazo como Windows Phone 10. Vamos a empezar por la apertura de la carpeta «Microsoft.Maker.Serial».
  • Seleccione el archivo WinMD y pulse «Añadir».
  • Repita los pasos 3-5 para todos los archivos WinMD tres ubicados en sus respectivas carpetas. Puede encontrar archivos WinMD adicionales en otras carpetas de proyecto, como hacen referencia a otros proyectos. Sólo referencia el WinMD correcto para cada directorio.
  • Los siguientes pasos estará automatizados en el futuro, pero son una necesaria por el momento.

Por ahora, nosotros debemos manualmente ‘conectar’ el archivo WinMD con su archivo .dll respectivos. Haga clic en el archivo de proyecto (no de la solución) y seleccione «Descargar Project».

  • Seleccione la opción Editar .csproj nombre del proyecto.
  • Casi al final de este archivo XML, localice la sección de referencia y específicamente las etiquetas <Reference> tres de los elementos que hemos añadido en los pasos 3-6.
  • Debe agregar dos etiquetas a cada una de estas etiquetas <Reference> debajo de la etiqueta <HintPath> .
    <IsWinMDFile>true</IsWinMDFile>
    <Implementation>%PROJECT%.dll</Implementation>
    Donde proyecto % es el nombre del proyecto apropiado para esa etiqueta <Reference> . He añadido los tres aquí (aunque sólo uno está resaltada). Así que usted puede agregar el texto para que coincida con lo que tengo en la captura de pantalla siguiente. No importa donde ha instalado sus proyectos, la etiqueta<HintPath> se encarga de eso para nosotros.
  • Hacer click derecho sobre el proyecto y seleccione «Actualizar Project». Si se le pedirá que guarde, seleccione Sí.

Paso 4: ¡ Diviértete!

Ahora puede utilizar los tres proyectos directamente en el código fuente. Usted notará he construido un objeto BluetoothSerial y lo unió a mi objeto de ServiceRecord, así que he incluido los dos espacios de nombres apropiados en la parte superior de mi archivo .cs.

Capacidades del dispositivo

Cada proyecto de Windows contiene un archivo de manifiesto que debe estar configurado para permitir ciertos permisos, como la conectividad Bluetooth y USB.Afortunadamente, es bastante fácil de configurar estos.

Usted necesitará abrir el archivo package.appxmanifest del proyecto haciendo clic derecho y seleccionando la opción «Ver código». Entonces encontrar la de la etiqueta y pegar uno o ambos de los siguientes bloques de etiquetas como un nodo secundario.

Nota:

Para Windows 8.1, necesitará agregar el espacio de nombres siguiente a la parte superior del archivo XML, dentro de la etiqueta <Package> .

xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest"

Habilitar las capacidades Bluetooth

Usted necesitará agregar uno del siguiente XML bloquea el archivo de manifiesto, dentro del etiqueta, con el fin de invocar las capacidades Bluetooth/USB de una aplicación de WinRT, dependiendo de qué versión de sistema operativo está dirigiéndose.

Windows 10

Name="bluetooth.rfcomm">

Windows 8.1

Name="bluetooth.rfcomm">

Habilitar las capacidades USB

Usted necesitará agregar uno de los siguientes bloques XML en el archivo de manifiesto para invocar las capacidades USB de una aplicación de WinRT, dependiendo de qué versión de sistema operativo está dirigiéndose.

Windows 10

Name="serialcommunication">

Windows 8.1

Name="serialcommunication">

 

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 …