lecture-fichier.ino

Arduino Yún · Fichier : lecture-fichier.ino · Langage : Arduino · Usage : Lire et écrire des fichiers sur le Linux depuis le croquis

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 Yun (ATmega32U4 + Linux Linino sur Atheros AR9331, Wi-Fi et Ethernet, emplacement microSD). 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 : sélectionne le port série pour téléverser, puis la carte Arduino Yun pour le moniteur. Côté Linux : ssh root@arduino.local (mot de passe de la distribution). L"app Yunwizard configure le réseau.

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.

← Retour à la fiche