Bridge - Pixel en la Consola

Un ejemplo del uso de un dispositivo Yun para recibir datos en la consola desde un ordenador. En este caso, el dispositivo Yun convierte el LED incorporado conectado al pin digital 13 cuando recibe el carácter "H", y se apaga cuando recibe el carácter "L".

La Consola, basada en Bridge, le permite el envío de información entre el dispositivo Yun y un ordenador tal como lo haría con el monitor serie, pero de forma inalámbrica. Se crea una conexión segura entre el dispositivo Yun y el ordenador a través de SSH.

Para ver la Consola, asegúrese de que su dispositivo Yun y el ordenador están en la misma red inalámbrica. Escoja el nombre y la dirección IP de su Yun en el menú Puerto en el Arduino Software (IDE) a continuación, abra el Monitor serie. También se puede ver mediante la apertura de una ventana de terminal y escribiendo ssh root @ yourYúnsName.local 'telnet localhost 6571' y pulsar ENTER. Cuando se le pida la contraseña, entrar en él.

Hardware necesario

Placa o escudo Yun 
Ordenador y Yun en la misma red inalámbrica

Circuito

No hay circuito para este ejemplo.



Código
Incluir la biblioteca Console, que hereda de Bridge.
 #include <Console.h>

Crear dos variables, una para el nombre del pin en el que se va a escribir, y otra para almacenar el byte de entrada de la consola.

 const int ledPin = 13;

 char incomingByte;  

En setup () inicializar Bridge y Console, y esperar una conexión al puerto de Console.

void setup() {
   Bridge.begin();
   Console.begin();


   while (!Console);

Una vez conectado, imprima algunas instrucciones básicas en la ventana de consola con Console.println () y establezca el pin de LED como una salida.

 Console.println("Teclee H o L para encender o apagar el pin 13");

   pinMode(ledPin, OUTPUT);

 }

En loop (), comprobar para ver si hay información de la consola. Si la hay, leer el byte más antiguo de la memoria intermedia y el devolverla a la ventana de la consola.

 void loop() {
   if (Console.available() > 0) {
     incomingByte = Console.read();

     Console.println(incomingByte);

Si el byte de entrada es una "H" mayúscula, encender el LED, si se trata de una "L" minúscula, apagar el LED.

 if (incomingByte == 'H') {
       digitalWrite(ledPin, HIGH);
     }
     // si se trata de una L (ASCII 76) se apagar el LED:
     if (incomingByte == 'L') {
       digitalWrite(ledPin, LOW);

     }

El programa completo quesaría así:

// Pixel  en Consola

 // Un ejemplo del uso de la placa Yún101 / YunShield / Yun para
 // recibir datos desde la Consola en el Yun. En este caso, el se
 // enciende un LED incorporado en la placa cuando recibe el
 // carácter "H", y se apaga el LED cuando se recibe el carácter
 // "L". Para ver la consola, podrá elegir su nombre y la dirección  
 // IP de Yun en el menú Puerto a continuación, abra el monitor .
 // También se puede ver mediante la apertura de una ventana
 // de terminal y escribiendo ssh root @ yourYunsName.local
 // "telnet localhost 6571 ' a continuación, pulsar enter. Cuando se
 // le pida la contraseña, entrar en él.

 // Circuito: * LED conectado del pin digital 13 a tierra

 // creado en 2006 por David A. Mellis
 // modificado el 25 de Junio de 2013 por Tom Igoe
 // Este código es de dominio público. // http://www.arduino.cc/en/Tutorial/ConsolePixel

 #include <Console.h>

 const int ledPin = 13; // el pin al que esta conectado el LED
 char incomingByte;      // una variable para leer los datos entrantes de la Consola

 void setup() {
   Bridge.begin();   // Initializa Bridge
   Console.begin();  // Initializa Console

   // Espera a que Console se conecte al puerto
   while (!Console);

   Console.println("Teclee H o L para encender o apagar el pin 13");

   // inicializa el pin del LED como una salida:
   pinMode(ledPin, OUTPUT);
 }

 void loop() {
   // ver si hay datos  de entrada en la consola:
   if (Console.available() > 0) {
     // leer el byte más antiguo de la memoria intermedia de la consola:
     incomingByte = Console.read();
     Console.println(incomingByte);
     // si es una H mayúscula (ASCII 72), encender el LED:
     if (incomingByte == 'H') {
       digitalWrite(ledPin, HIGH);
     }
     // si se trata de una L (ASCII 76) se apagar el LED:
     if (incomingByte == 'L') {
       digitalWrite(ledPin, LOW);
     }
   }
 }
  

No hay comentarios:

Publicar un comentario