console-bridge.ino
La librería Console sustituye a Serial por el lado de la red: desde una sesión ssh de la placa, el comando console muestra lo que imprime el sketch y devuelve las pulsaciones. Depuración sin cable USB, a distancia.
Hardware
Un Arduino Yun (ATmega32U4 + Linux Linino sobre un Atheros AR9331, Wi-Fi y Ethernet, ranura microSD). Ninguno; acceso ssh a la placa (contraseña root de la distribución).
Cableado
Nada que cablear. La placa debe estar en la red para ser alcanzable por ssh.
Funcionamiento
Console.begin() abre un canal al demonio bridge; Console.available/read reciben los caracteres tecleados por el lado Linux y println les vuelve. El enlace físico es el puerto serie interno MCU↔SoC.
Ejecución
Arduino IDE: selecciona el puerto serie para grabar y luego la placa Arduino Yun para el monitor. Por el lado Linux: ssh root@arduino.local (contraseña de la distribución). La app Yunwizard configura la red.
Variantes
Exponer las mismas órdenes por REST (YunServer) para doble acceso consola + HTTP, o registrar en /tmp vía Process.
console-bridge.ino
// Console sur le pont : taper des commandes depuis ssh/telnet.
#include <Bridge.h>
#include <Console.h>
int compteur = 0;
void setup() {
Bridge.begin();
Console.begin(); // console = port serie "reseau"
while (!Console); // attend qu'un client se branche
Console.println("Console pont prete : 'c' compte, 'x' reinitialise");
}
void loop() {
if (Console.available() > 0) {
char c = Console.read();
switch (c) {
case 'c':
compteur++;
Console.print("compteur = ");
Console.println(compteur);
break;
case 'x':
compteur = 0;
Console.println("reinitialise");
break;
default:
Console.print("inconnu: ");
Console.println(c);
}
}
// Cote Linux : la commande "console" (Yun) ou telnet localhost 5555 pour
// voir cette sortie sans ouvrir l'IDE.
delay(50);
}