lecture-fichier.ino
La classe FileIO donne au croquis un accès direct au système de fichiers du Linux : lecture de /etc/hostname, écriture en mode append dans un journal. Le MCU devient un producteur de données du système, sans réseau.
Matériel requis
Une Arduino Tian (Microchip SAM3X8E + Linux TianOS sur Atheros AR9344, double port USB, Ethernet et Wi-Fi). Aucun composant externe.
Câblage
Rien à câbler ; moniteur série USB pour le retour.
Fonctionnement
FileSystem.open transmet les ordres de fichier au démon bridge ; O_APPEND ajoute sans écraser, close() valide l'écriture. Les permissions du démon s'appliquent (écrire dans /tmp est simple).
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
Lire un capeur 1-wire côté Linux (fichiers /sys/bus/w1) et remonter la valeur au croquis via FileIO.
lecture-fichier.ino
// FileIO : le croquis lit un fichier du Linux et journalise.
#include <Bridge.h>
#include <FileIO.h>
void setup() {
Bridge.begin();
Serial.begin(9600);
FileSystem.begin();
while (!Serial);
}
void loop() {
// 1) Lire le nom d'hote de la carte.
File nom = FileSystem.open("/etc/hostname", O_RDONLY);
if (nom) {
String hote = nom.readStringUntil('
');
nom.close();
Serial.print("hote : ");
Serial.println(hote);
}
// 2) Journaliser l'uptime dans un fichier dedie.
File journal = FileSystem.open("/tmp/croquis.log", O_APPEND | O_WRONLY | O_CREAT);
if (journal) {
journal.print(millis() / 1000);
journal.println(" : cycle ok");
journal.close();
Serial.println("journal /tmp/croquis.log ecrit");
} else {
Serial.println("ouverture du journal refusee");
}
delay(10000);
}
// Cote Linux : tail -f /tmp/croquis.log pour suivre la trace.