🛠 Linino en production : opkg, Python, cron et système de fichiers sous contrainte

Arduino Tian (id : tian) · avance · Schéma : IMG-tian-avance-3-tian-openwrt-terrain-cron-python.svg — Arduino Tian en boîtier DIN avec antenne WiFi extérieure, terminal Linux montrant « crontab -e » et « python3 logger.py », icône flash 16 Mo avec jauge de remplissage.

Objectifs

Traiter la Tian comme un vrai petit serveur embarqué sous OpenWRT : installer Python, écrire un script qui consomme les données du croquis, le planifier avec cron, et surtout respecter les contraintes d'un système embarqué à flash limitée — image de base en lecture seule avec overlay, espace modeste, pas de mises à jour de sécurité. Ce tuto consolide tout le chantier Linux de la carte.

Matériel

Procédure

# 1) Outillage
opkg update
opkg install python3 curl

# 2) Script logger : lit la dernière valeur publiée par le croquis
#    (le croquis écrit via le Bridge dans /tmp/ldr.txt côté Linux),
#    et l'archive en CSV horodaté.
cat > /root/logger.py << 'EOF'
import time, os
while True:
    try:
        with open('/tmp/ldr.txt') as f:
            v = f.read.strip
        with open('/root/ldr.csv', 'a') as out:
            out.write('%s,%s\n' % (int(time.time), v))
    except Exception as e:
        with open('/root/err.log', 'a') as err:
            err.write(repr(e) + '\n')
    time.sleep(60)
EOF

# 3) Planification : redémarre le logger à chaque boot
crontab -e
#   @reboot python3 /root/logger.py &

Côté croquis Arduino, une ligne suffit à publier la mesure :

Bridge.runShellCommand("echo " + String(analogRead(A0)) + " > /tmp/ldr.txt");

Vérification attendue

tail -f /root/ldr.csv fait défiler une ligne par minute avec epoch et valeur ADC. Test de robustesse : reboot côté SSH — après le boot, le logger repart seul grâce à @reboot et le CSV continue de grossir. df -h montre l'occupation de la partition overlay : c'est votre jauge de survie.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels