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);
}
}
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