lecture-fichier.ino

Arduino Tian (id : tian) · 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 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.

← Retour à la fiche