Bridge - Lectura de Console

En este ejemplo un dispositivo Yun lee datos procedentes de Bridge mediante Console.read () y los almacena en una cadena.

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 de la consola, que hereda de Bridge.

 #include <Console.h>

Crear una cadena para mantener la información de Bridge

 String name;

En setup () inicializar Bridge y Console. Esperar una conexión de Console, a continuación, pedir alguna  información:

 void setup() {
   Bridge.begin();
   Console.begin();
 
   while (!Console);
 
   Console.println("Hola, cual es tu nombre?");
 }


En loop (), comprobar para ver si hay bytes en el búfer de la consola. Si hay algo disponible, leer el carácter más antiguo en una variable local.

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


Si el carácter es una nueva línea ("\ n"), es el último carácter de la cadena de entrada. Imprimir la cadena en la consola, pedir más información y desactivar la cadena.

 if (c == '\n') {
       Console.print("Hi ");
       Console.print(name);
       Console.println("! Encantado de conocerte!");
       Console.println();
       Console.println("Hola, cual es tu nombre?");
       name = "";
     } else {
       name += c;
     }
   } else {
     delay(100);
   }


Si el carácter en el buffer no es una nueva línea, añadirlo al final de la cadena.

   name += c; // añadir el caracter leido  de la consola a la cadena nombre
     }
   }
 }



Este sería el código final:

// Lee de la Consola ejemplo para Yún101 / YunShield / Yun

 // Lee datos procedentes de Bridge utilizando la función
 // Console.read () y la almacena en una cadena.

 // 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
 // serie. 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,
 // introducirla.

 // creado el 13 de Junio de 2013 por Angelo Scialabba
 // modificado el 16 de de Junio de 2013 por Tom Igoe

 // Este código es de dominio público.
 // http://www.arduino.cc/en/Tutorial/ConsoleRead

 #include <Console.h>

 String name;

 void setup() {
   // Initializa Console y espera a que se abra el puerto:
   Bridge.begin();
   Console.begin();

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

   Console.println("Hola, cual es tu nombre?");
 }

 void loop() {
   if (Console.available() > 0) {
     char c = Console.read(); // lee el siguiente caracter recibido
     // Mira el carácter de la nueva línea, este es el último carácter de la cadena
     if (c == '\n') {
       //imprime texto con el nombre recibido
       Console.print("Hi ");
       Console.print(name);
       Console.println("! Encantado de conocerte!");
       Console.println();
       // Volver a preguntar el nombre y borrar el nombre antiguo
       Console.println("Hola, cual es tu nombre?");
       name = "";  // borra la cadena nombre
     } else {     // si el buffer esta vacio Cosole.read() devuelve -1
       name += c; // añadir el caracter leido  de la consola a la cadena nombre
     }
   } else {
     delay(100);
   }
 }



No hay comentarios:

Publicar un comentario