console-bridge.ino
La bibliothèque Console remplace Serial côté réseau : depuis une session ssh de la carte, la commande console affiche ce que print le croquis et envoie les frappes clavier. Le débogage sans câble USB, à distance.
Matériel requis
Une Arduino Tian (Microchip SAM3X8E + Linux TianOS sur Atheros AR9344, double port USB, Ethernet et Wi-Fi). Aucun ; accès ssh à la carte (mot de passe root de la distribution).
Câblage
Rien à câbler. La carte doit être sur le réseau pour être joignable en ssh.
Fonctionnement
Console.begin() ouvre un canal vers le démon bridge ; Console.available/read reçoivent les caractères tapés côté Linux, println leur revient. Le lien physique est le port série interne MCU↔SoC.
Exécution
Arduino IDE avec la carte Arduino Tian : téléversement par le port USB « Native ». Côté Linux : ssh root@arduino.local. La bibliothèque Bridge est identique à celle de la Yun.
Variantes
Exposer les mêmes commandes en REST (YunServer) pour un double accès console + HTTP, ou logger dans /tmp via 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);
}