Importación de librerias en Arduino parte 2de 2


 Importación de una biblioteca .zip

Las bibliotecas a menudo se distribuyen como un archivo ZIP o carpeta. El nombre de la carpeta es el nombre de la biblioteca.  Dentro de la carpeta será un archivo .cpp, un archivo .h ya menudo un archivo keywords.txt, carpeta de ejemplos, y otros archivos requeridos por la biblioteca.

Desde la versión 1.0.5, puede instalar las bibliotecas 3 ª parte en el IDE.

No descomprima la biblioteca descargada, dejarla como está.

En el Arduino IDE, vaya a Sketch> Incluir Biblioteca.  En la parte superior de la lista desplegable, seleccione la opción “Añadir .ZIP Biblioteca ”(“Add .ZIP Library”).

Se le pedirá que seleccione la biblioteca que desea agregar. Navegue hasta la ubicación del archivo .zip y abrirlo.

Regrese al menú Sketch> Import Library. Ahora debería ver la biblioteca en la parte inferior del menú desplegable. Está listo para ser utilizado en su sketch.

El archivo zip se habrá ampliado en la carpeta de bibliotecas en su Arduino esboza directorio.

Nota: la biblioteca estará disponible para su uso en bocetos, pero los ejemplos de la biblioteca no será expuesta en el Archivo> Ejemplos hasta después de la IDE se ha reiniciado.

Instalación manual

Para instalar la biblioteca, primero salir de la aplicación Arduino.

Luego descomprimir el archivo ZIP que contiene la biblioteca.  Por ejemplo, si va a instalar una biblioteca llamada “ArduinoParty”, descomprimir el fichero .zip ArduinoParty .  Debe contener una carpeta llamada ArduinoParty, con archivos como ArduinoParty .cpp y en el interior ArduinoParty .h. (Si los archivos .cpp y .h no se encuentran en una carpeta, tendrá que crear uno:en este caso, sería una carpeta llamada “ArduinoParty” y hay que  mueven a ella todos los archivos que estaban en el  archivo, como ArduinoParty .cpp y .h ArduinoParty.)

Arrastre la carpeta ArduinoParty en esta carpeta (carpeta de bibliotecas).  En Windows, es probable que se llama “Mis documentos \ Arduino \ bibliotecas”.  Para usuarios de Mac, es probable que se llama “Documentos / Arduino / bibliotecas”.  En Linux, será la carpeta “bibliotecas” en su cuaderno de dibujo.

Su carpeta de la biblioteca de Arduino ahora debería tener este aspecto (en Windows):

 My Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty .cpp Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty .cpp
  >My Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty .h Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty .h
  >My Documents\Arduino\libraries\ ArduinoParty \examples Mis documentos \ Arduino \ bibliotecas \ ArduinoParty \ ejemplos
  >.... ....

o así (en Mac):

 Documents/Arduino/ libraries/ArduinoParty / ArduinoParty .cpp Documentos / Arduino / bibliotecas / ArduinoParty / ArduinoParty .cpp
  >Documents/Arduino/ libraries/ArduinoParty / ArduinoParty .h Documentos / Arduino / bibliotecas / ArduinoParty / ArduinoParty .h
  >Documents/Arduino/ libraries/ArduinoParty /examples Documentos / Arduino / bibliotecas / ArduinoParty / Ejemplos
  >... ...

o de manera similar para Linux.

Es posible que haya más archivos que sólo el .cpp y .h, sólo asegúrese de que están todos allí. De ser asi la biblioteca no funcionará si pone el .cpp y .h directamente en las bibliotecas de carpeta o si están anidados en una carpeta adicional. Por ejemplo: No funcionará   esta combinación:

 Documents\Arduino\libraries\ ArduinoParty .cpp and Documentos \ Arduino \ bibliotecas \ ArduinoParty .cpp y
  >Documents\Arduino\libraries\ ArduinoParty \ ArduinoParty \ ArduinoParty .cpp Documentos \ Arduino \ bibliotecas \ ArduinoParty \ ArduinoParty \ ArduinoParty .cpp

 

Reinicie la aplicación Arduino.  Asegúrese de que la nueva biblioteca aparece en el elemento de menú para bosquejos> Importar biblioteca del software.

Usted ha instalado una biblioteca!

Accionar mecanismos con el pensamiento


Las personas con discapacidades graves no pueden interactuar con su entorno como la gente normal. Ellos siempre necesitan ayuda para hacer pequeñas tareas como encender un ventilador o un televisor. Para cerrar esta brecha entre un paciente y un interruptor es necesario que haya alguna manera que no requiera movimientos musculares. La mejor manera que podía imaginar era la tecnología EEG. Esto significa que uno puede controlar un dispositivo por el uso de sus / sus ondas cerebrales sin realizar ningún movimiento físico.

 

Para ello   ha usado un juguete disponible comercialmente denominado Mindflex ,el cual utiliza el mismo chip Neurosky EEG. El autor integró un módulo Bluetooth HC-05   con  el auricular NeuroSky MyndWave para  por medio de ingeniería inversa  asi  como con  la ayuda de un Arduino y Processing    fue capaz de controlar un ventilador.

 

Los componente usados son:

  • Un auricular EEG
    Solía ​​Mindflex el auricular del juguete, ya que puede funcionar de la misma en comparación con otros auriculares a un precio razonable muy bajo. Usted puede conseguir uno en Ebay por un precio tan bajo como $ 15.
  • Un HC-05 o HC-06 del módulo del bluetooth
    Se utiliza para ajustar el auricular Mindflex – $ 6.
  • Arduino Uno – $ 12
  • Un pequeño ventilador
    Usé un pequeño ventilador del equipo de 12V para la demostración, ya que estaba mintiendo alrededor y satisfacer la necesidad.
  • Tres pequeños cables de puente.

Hay dos partes en el auricular. Un lado contiene las baterías y el otro que contiene del interruptor   contiene tambien la electrónica necesaria

  • Abra el lado que tiene un interruptor en él.
  • Retire los 4 tornillos para acceder a la placa de circuito.
  • Una vez dentro, quite los 2 tornillos que sujetan la placa de circuito a la carcasa.

Ahora tiene que soldar tres pequeños cables al circuito dentro de la caja.

  1. “T” (de transmisión) pines en el chip
  2. Uno con el GND (tierra).
  3. En tercer lugar, con el VCC (Power).

Espero que su módulo bluetooth venga on cables de puente hembra-hembra. Ahora,

  • conectar el cable soldado al pin T del circuito con el RXD
  • GND a GND
  • y el VCC a la VCC del módulo Bluetooth.

Ahora aislar todo y fijar el módulo Bluetooth con el auricular. Coloque las baterías en el otro lado del auricular y encenderlo. Una luz roja en el auricular y una luz en el módulo Bluetooth muestra que esta funcionando

El siguiente paso será el de establecer comunicación entre el auricular y el ordenador para leer los datos de EEG de ella,para lo cual primero debeemparejar el módulo Bluetooth a la computadora (puede seguir los pasos que se indican en este enlace ).

Imagen de Lea sus ondas cerebrales usando BrainWaveOSC.

Ahora, Descargue BrainWaveOSC para su plataforma y descomprimirlo en una carpeta.

Antes de ejecutar la aplicación, tendrá que identificar cómo el sistema ve su dispositivo bluetooth.
Usuarios de Windows:
Usted necesita encontrar el puerto COM que el dispositivo Bluetooth está conectado. Este enlace le ayudará a encontrar el puerto COM al que está conectado el dispositivo Bluetooth.

Una vez que encuentre el dispositivo, abra el archivo settings.xml ubicado en la carpeta de datos de BrainWaveOSC.
La cuarta línea debe decir algo así como COM6 entre las etiquetas. Cambiar eso a su cadena de dispositivo que ha encontrado antes.

Después de abrir la aplicación, se debe comenzar con un panel rojo a la izquierda y se pone verde una vez que se inicia la recepción de datos. Eso es todo, usted está leyendo sus ondas cerebrales de la corteza prefrontal del cerebro, que por lo general se ocupa de la lógica.

 

Ahora nuestro siguiente paso será utilizar estos datos para controlar un ventilador utilizando Procesamiento y Arduino

Processing es un lenguaje de programación de código abierto que está diseñado para ser fácil de usar y es ideal para principiantes. Se basa en Java, por lo que si usted está familiarizado con eso, verás algunas de las similitudes. Descárgalo aquí e instalarlo antes de empezar.

Ahora tenemos que analizar los datos (mensajes OSC) recibida a través BrainWaveOSC.

Comience abriendo procesamiento y la creación de un nuevo boceto.

Importe la Biblioteca OSC

A partir de un boceto en blanco, tendrá que importar la biblioteca de la OSC.Puede hacerlo escribiendo:

 

import oscP5.*;

or

Go to Sketch->Import Library->oscP5.

Si usted no puede encontrar oscP5, puede que tenga que añadir primero yendo a bosquejos> Importar Library-> Añadir Biblioteca … y la búsqueda de oscP5.Una vez hecho esto, tendrá que crear un objeto vacío para que en la siguiente línea escribiendo:

Oscp5 OscP5;

Crear su configuración y dibujar funciones

Esta es fácil. Sólo tienes que escribir lo siguiente:

void setup () {

}

void draw () {

}

Acaba de crear el esqueleto.

Ahora que usted tiene su esqueleto, vamos a rellenarlo y comenzar a leer los mensajes OSC difundidos por BrainWaveOSC. Asegúrese BrainWaveOSC se está ejecutando y el auricular está conectado. Usted puede decir por el color del panel de la izquierda. Si es verde, entonces estás bien.

Encontrar a su puerto de OSC
En BrainWaveOSC, busque el puerto OSC. En la esquina superior izquierda, debería ver algo como:

OSC – 127.0.0.1:7771

El 127.0.0.1 es la dirección ip localhost y 7771 es el número de puerto. Tendrá que guardar este número de puerto para después.

Configuración de procesamiento para recibir mensajes OSC

Ahora usted querrá añadir esta línea dentro de su función de configuración () entre las llaves. Consulte las imágenes como una referencia.

Su función setup () debería tener este aspecto:

void setup () {

oscp5 = new OscP5 (esto, 7771);

}

¡Genial! Sólo ha contado la aplicación para empezar a escuchar en el puerto 7771 para mensajes OSC entrantes. Ya que está en la función de configuración, sólo va a correr una vez al principio.

Recibir los mensajes OSC

A continuación vamos a crear una función para recibir los mensajes OSC.Mientras setup () sólo se ejecuta una vez, y dibujar () funciona todo el tiempo, la función crearemos sólo se ejecuta cuando se recibe un mensaje OSC.

Crear una función que tiene este aspecto:

anular oscEvent (OscMessage theMessage) {

// Imprimir la dirección y typetag del mensaje a la consola

println (“Mensaje recibido OSC El patrón de dirección es!” + theMessage.addrPattern (+) “La typetag es:”. + theMessage.typetag ());

}

 

Analizamos  el código  hacia abajo:

void oscEvent (OscMessage theMessage) dice que esta función se llamaoscEvent, y se necesita un objeto OscMessage como un parámetro llamado theMessage. Ignorar el vacío de momento, significa que no se espera que la función para devolver un valor.

La segunda línea es println, que es la abreviatura de impresión Line. Esto escribe mensajes en el área de color negro debajo de su editor de texto cuando se ejecuta la aplicación (llamada la consola). El contenido de println dicen que imprimir “OSC Mensaje recibido!” y utiliza dos métodos de OscMessage:

  • Patrón Dirección – Esto es como el tema de un correo electrónico. Es el nombre del mensaje
  • Typetag – Esto le indica lo que los contenidos del mensaje son
    • Por ejemplo, un typetag de iii significa que hay 3 números enteros dentro del mensaje

Ejecutar la aplicación

Lo que tenemos que hacer ahora es extraer los números de los mensajes que hemos estado recibiendo y hacer algo útil con él.Para esto, yo sólo voy a centrar en el valor Atención procedentes de BrainWaveOSC. Así que todo lo que tenemos que hacer es comprobar los mensajes entrantes para él y sáquelo.Dentro de su función oscEvent, tendrá que añadir:

if ( theMessage.checkAddrPattern(“/attention”) == true ) {

println (“Su atención está en:” + theMessage.get (0) .floatValue ());

}

Impresionante. Así que ahora estamos recibiendo sólo los valores de atención e imprimirlas a la pantalla. Necesitamos una manera de pasar esta información a otra función para que podamos hacer algo con él. La forma más fácil de hacerlo es con una variable global. Añadir esta línea debajo

Oscp5 OscP5;

float currentAttention;

Cambie su función oscEvent a tener este aspecto:

if (theMessage.checkAddrPattern (“/ atención”) == true) {currentAttention = theMessage.get (0) .floatValue (); println (“Su atención está en:” + currentAttention); }

Ahora, usted ha creado una variable que se puede acceder desde cualquier función y es actualizado cuando oscEvent ve un mensaje de OSC con el patrón de dirección “/ atención”.POR TANTO AHORA  USTED ES CAPAZ DE EXTRAER LOS VALORES DE ATENCIÓN A PARTIR DE LSO DATOS EEG, el siguiente paso seria enviar este valor a su Arduino Uno:

  • Conecte el Arduino al ordenador.
  • Compruebe el número de puerto al que esté conectada al.
  • Enviar valores de la transformación de este puerto.
  • Escribir un boceto que lee los valores enviados desde el procesamiento.
  • Conecte el ventilador a cualquiera de los pines de Arduino.
  • Establezca un valor de umbral de la atención y hacer un disparador para el ventilador para encender y apagar.

 

 

Fuente  aqui

Un mini ordenador por 9$


Fuente:MakeZine

 

Si pensaba que los $ 35  que cuesta  una  Raspberry Pi 2  estaban bien pagados para un equipo pequeño y barato, puede  que  no este en lo cierto, porque CHIP es la próxima placa  Open Source   creada por  Next Thing Co, que es en si  un microordenador  incluso más pequeño y sólo costará $ 9.

Como el Raspberry Pi, CHIP puede utilizarse en una variedad de maneras. Se pueden conectar los perifericos  necesarias – un teclado, ratón y una pantalla – y se convierte una computadora personal. De lo contrario, se puede convertirr en un retro emulador juegos, un  robot, centro multimedia, o lo que usted quiera  soñar (sus creadores animan a los usuarios a aprender código y buscar aplicaciones para C.H.I.P)

Como usted probablemente puede adivinar, CHIP no es un ordenador muy potente. Su procesador Allwinner A13 de 1GHz, 512MB de RAM y 4GB de almacenamiento flash interno es  lo suficiente para ejecutar aplicaciones y navegar por la web pero no para mucho más.

Tiene un puerto USB de tamaño completo, un puerto Micro USB, un conector de audio con un micrófono que funciona como una forma de salida de vídeo mediante un cable compuesto, built-in Wi-Fi 802.11 b/g/n y Bluetooth 4.0.

C.H.I.P. funciona con cualquier sistema operativo basado en Linux. Viene con un sistema operativo basado en Debian y tiene acceso a una cantidad considerable de aplicaciones Linux.

Fuera de la caja, C.H.I.P. puede conectarse  con una salida de vídeo compuesto para utilizarse con  un viejo televisor o una pantalla pequeña .No obstante si realmente quiere conectar  C.H.I.P. hasta un HDTV o pantalla de la computadora moderna, usted puede comprar un adaptador HDMI ($15) o uno distinto ,un adaptador VGA ($10) que se encaja en la computadora, estilo Lego.

También puede hacer  C.H.I.P.  portable encajándola en PocketC.H.I.P, un curioso accesorio con un pantalla táctil de 4,3 pulgadas, teclado QWERTY y una batería que dura hasta cinco horas.

 

Esta idea Open source  ha buscado financiación como tantos y tantos otros gadgets a través de crowdfunding por medio  de una campaña de Kickstarter. De acuerdo a su campaña en Kickstarter, los primeros envíos se harán en mayo 2016 pues  el proyecto ha alcanzado con éxito su objetivo de financiación de $50.000 con 29 días para lanzarse. Los primeros ordenadores C.H.I.P se esperan que comiencea  a enviarse  en diciembre de este  año ¿Algún interesado?

 

Fuente  aqui                                                                                                                                                                                                                                                          

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

New Project

  • 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.

Windows Universal

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

Add existing project

  • 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).

Open the solution directory

  • Vamos a empezar con el proyecto de serie (Microsoft.Maker.Serial). Abra este directorio.

Serial directory

  • 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.)

Select vcxproj

  • Haga clic en cualquier proyecto y seleccione crear dependencias-> dependencias del proyecto

Project Dependencies

  • 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.

Dependencies

  • Haga clic en “Referencias” en su proyecto. Seleccione Agregar referencia

Add Reference

  • 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.

AppLocal package

  • En la pestaña “Proyectos”, seleccione los tres de los proyectos de Microsoft.Maker

Project References

  • Reconstruir su solución seleccionando Build -> reconstruir todo

Rebuild All

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.

Have Fun!

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).

Open the solution directory

  • 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)

Open the solution file

  • 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.

Select build target

  • Construcción -> reconstrucción de solución

Rebuild solution

  • La solución debe aumentar aproximadamente un minuto.

Successful build

Paso 2: Crear un nuevo proyecto

  • Archivo -> nuevo proyecto

New Project

  • 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.

Windows Universal

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…”

Add Reference

  • 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.

AppLocal package

  • Seleccione la pestaña “Examinar” de la izquierda y haga clic en el botón “Browse…” en la parte inferior.

Browse

  • 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.

Open debug folder

  • 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”.

Open the Serial folder

  • Seleccione el archivo WinMD y pulse “Añadir”.

Add the WinMD

  • 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.

Repeat previous steps for all three references

  • 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”.

Unload Project

  • Seleccione la opción Editar .csproj nombre del proyecto.

Edit csproj

  • 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.

Locate Reference tags

  • 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.

Additional Tags

  • Hacer click derecho sobre el proyecto y seleccione “Actualizar Project”. Si se le pedirá que guarde, seleccione Sí.

Reload Project

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.

Have Fun!

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 …

Conectividad wifi para Netduino +


El MINI300 es un amplificador de señal WiFi  de bajo coste  y tamaño   francamente  muy pequeño (las dimensiones  aproximadas son de 44 x 44 x 14 mm),   que además cuenta con una  conexión  ethernet , lo cual lo  hace ideal  para  dar conectividad  por muy poco coste a nuestro  Netduino +   o Netduino 2 + o cualquier placa que cuente con conexión Ethernet .

En la  siguiente imagen  podemos ver precisamente la  comparación del tamaño del dispositivo frente al tamaño de una tarjeta de crédito (aproximadamente la mitad que ocupa cualquier Arduino o Netduino)

 

En cuanto a  la conectividad WIFI, el dispositivo  puede garantizar la seguridad de la señal inalámbrica, pues apoya mecanismo de seguridad WPA-PSK / WPA2-PSK, 64/128 / WEP. Es compatible con conectar el terminal más de 20 terminales  WiFi al mismo tiempo,  soportando la máxima velocidad de transmisión de 300Mbps, gracias  al  protocolo de transmisión WiFi 802.11b/g/n

Gracias  a  que usa la  técnica  de la adopción del compensado control de la temperatura de frecuencia automática (TAFC) mediante un  original D / A, la estabilidad a largo plazo asegura que no se ha caído la señal WiFi.

Asimismo  usa  tecnología para crear la configuración de IPMP original del dominio virtual para resolver los problemas de configuración de usuario

En cuanto al resto de  los conexiones cuenta  con una toma micro-usb para alimentarlo con 5v DC  , un pulsador para resetearlo y  por ultimo un led interno de actividad

vonets1

En realidad el MINI300     aparte de  poder  trabajar en el modo de repetidor, extendiendo  la cobertura de la señal WiFi original prácticamente al doble (la distancia de transmisión sin obstáculos es de  100m), también  puede usarse  como punto de red  lo cual significa que éste dispositivo  no sólo puede servir para extender la señal wifi, ya que también   puede ofrecer conectividad  a dispositivos que no  cuentan con conectividad wifi  de forma nativa como es el caso de nuestro Netduino+ .

 

Para  configurar la red wifi que repetirá y nos conectaremos , no  puede ser mas simple  :miraremos atrás   de la caja   ,donde  viene el nombre de la red wifi  por defecto  así como las credenciales con  con las que nos tenemos que conectar

En nuestro pc , nos conectaremos a esa red  , accediendo  a  http://192.168.1.1  e introduciendo el usuario   y las clave que hemos visto que hay detrás de la caja

Una vez conectados nos iremos  a “scan HotSpon”     y ahi  introduciremos el nombre de la red,  y  la clave de la red wifi  que intentamos repetir

 

vonets2
En el menú  Operation status podremos ver tras unos segundos que el repetidor  se conecta  la red wifi.

 

 

vonets3

 

Asimismo en el menu Wifi Repeater  podemos  ver la red a la que  nos conectamos y otros parámetros.

vonets4

Por ultimo , el menú Setting  System  podemos   restaurar los valores de fabrica o también realizar un reset parcial al dispositivo.

 

 

vonets5

 

En resumen  , el dispositivo vemos que es  un puente  WiFi inteligente,  con detector inteligente inalámbrico con cable que puede usarse como repetidor WiFi profesional e inteligente.Soporta puntos de acceso WiFi de escaneo automático y función de memoria WiFi hotspot así como la actualización del firmware de forma remota web,ya que  puede obtener la última versión del firmware de forma gratuita.

Asimismo  soporta gestión web local de configuración,( en chino 0 en Inglés ) como hemos visto en las pantallas anteriores.

 

Si lo desea este adaptador esta disponible en Amazon en este link directo: Repetidor Inalámbrico 300Mbps 802.11b/g/n WiFi Cable Micro USB Blanco

Envio de datos desde Netduino 2+ a thinkspeak


Thingspeak es una plataforma de datos abierta para el Internet de las cosas, que permite la recogida de datos en tiempo real con una API abierta y sofisticadas capacidades de procesamiento de datos y análisis. Con plugins, visualizaciones de datos y la capacidad de integrar sus datos con una variedad de plataformas de terceros, sistemas y tecnologías, incluyendo otras plataformas líderes de la IO como ioBridge y Arduino, ThingSpeak es el complemento perfecto para un sistema empresarial existente para aprovechar el Internet de las Cosas
thingspeak

Las  Características principales de este servicio es de contar  con un  API abierta, integración con Raspberry Pi, Arduino, ioBridge / RealTime.io y Netduino Datos de localización geográfica, procesamiento de datos y visualizaciones, mensajes de estado del dispositivo,integración con redes sociales,integraciones con el análisis de datos y servicios de terceros y todo ello con un costo GRATIS.

 

Gracias al método  HttpWebRequest incluido en el  Micro  Framework 4.2 es posible conectar  con un servidor remoto desde Netduino 2+  de una forma bastante sencilla mediante el citado método :

WebRequest request = HttpWebRequest.Create(url);

Donde en la variable url  preferiblemente se incluirá  a ser posible el nombre del servicio en formato numerico (la direccion IP) en lugar del nombre completo para evitar problemas .Asimismo lo ideal es  acceder al servicio a través de HTTP en lugar de HTTPS pues no hay soporte para SSL en Netduino Plus 2 en el firmware actual.

Además, es posible que desee agregar una “verificación para asegurarse de que mi placa tiene una dirección de Internet” poco de código en la superior si se está utilizando DHCP … en caso de que se necesite unos segundos para obtener y resolver una dirección IP de su router.

Por cierto el código de ejemplo no sólo sirve para enviar información de sensores a la plataforma Think Speak ,pues modificando los valores de configuración del servidor, los valores de api_key y el valor del nombre del campo a enviar , es posible el envío a cualquier otra plataforma de IoT ( por ejemplo cosm.com)

Veamos un ejemplo de  programa que actualiza el estado del interruptor Netduino   Plus para Thingspeak :

/*This program updates the Netduino Plus switch state to Thingspeak*/
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
using System.Text;
using System.IO;


namespace LED__control_Thingspeak
{
    public class Program
    {
        public static void Main()
        {
            var SwitchPort = new InputPort(Pins.ONBOARD_BTN, false, Port.ResistorMode.
                Disabled);                                                           //Open the switchport

            bool onned = SwitchPort.Read();//Read the status of switchport

            if (onned)
            {
                update_thingspeak("30");
            }
            else
            {
                update_thingspeak("60");
            }

        }//Main ends

        static void update_thingspeak(string value)
        {
            //Create a http response object
                WebRequest request = HttpWebRequest.Create("http://api.thingspeak.com/update");
            //Setting the request method
                request.Method = "POST";
            //The data to be sent
                string data = "api_key=" + "T5Q1Y9QBY1TULCBG" + "&field1=" + value;
            //Creating the byte array
                byte[] bytearray = Encoding.UTF8.GetBytes(data);
            //Setting the MIME
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = bytearray.Length;
            //Opening the datastream
                Stream datastream = request.GetRequestStream();
            //Writing to the datastream
                datastream.Write(bytearray, 0, bytearray.Length);
            //Closing the stream
                datastream.Close();
            

            //Obtaining a response
                WebResponse response = request.GetResponse();//Creating a response
                datastream = response.GetResponseStream();//Getting the response stream
                StreamReader reader = new StreamReader(datastream);// Read the content.
                string responseFromServer = reader.ReadToEnd();// Display the content.
                Debug.Print(responseFromServer);
            
        }//update_thingspeak ends
    }//class program ends
}//namespace ends




Fuente  aqui