🛠 Télémétrie : pousser une mesure du capteur vers le réseau

Arduino Tian (id : tian) · intermediaire · Schéma : IMG-tian-intermediaire-3-tian-telemetrie-capteur-reseau.svg — Arduino Tian avec capteur de luminosité sur A0, flèches en cascade : SAMD21 vers Linux via Bridge, Linux vers un routeur puis un PC affichant des courbes, mention « curl POST ».

Objectifs

Chaîner les deux mondes pour un premier pipeline de données : le SAMD21 acquiert la mesure (ADC 12 bits sur A0), la transmet au Bridge, et le côté Linux l'envoie sur le réseau par HTTP. Vous allez découvrir le pattern « le MCU mesure, Linux transporte » — la raison d'être de la Tian par rapport à une carte à microcontrôleur seul.

Matériel

# sur le PC, pour recevoir : nc -l -p 8080   (netcat) ou tout serveur web local

Code complet

// Le SAMD21 mesure, Linux expédie.
#include <Bridge.h>

const uint8_t LDR = A0;
const uint32_t PERIODE = 10000;   // 1 POST toutes les 10 s
uint32_t précédent = 0;

void setup {
  Serial.begin(9600);
  while (!Serial) { }
  Bridge.begin;
}

void loop {
  uint32_t maintenant = millis;
  if (maintenant - précédent < PERIODE) return;
  précédent = maintenant;

  int v = analogRead(LDR);        // 0..4095 (ADC 12 bits)
  String cmd = "curl -s -m 5 -X POST -d ldr=" + String(v);
  cmd += " http://192.168.1.20:8080/tian";   // IP de votre PC
  BridgeProcess p = Bridge.runShellCommand(cmd);
  p.readString;                  // vide la sortie, évite les blocages
  Serial.print(F("envoye ldr=")); Serial.println(v);
}

Vérification attendue

Côté PC, chaque POST reçu affiche « ldr=xxxx » qui suit vos variations de lumière (bouchez la LDR, la valeur chute). Coupez le WiFi du routeur : les envois échouent mais le croquis continue de mesurer — la robustesse vient du timeout -m 5 de curl, qui empêche le blocage de la boucle.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels