Forum Linux.embarqué [Raspberry pi 3] Accéder à une clé USB via un code python

Posté par  . Licence CC By‑SA.
Étiquettes :
1
21
déc.
2018

Bonjour à tous,
je développe actuellement un application embarqué sur Raspberry pi (Raspbian Jessie)en python.

En gros ma pi doit écrire des valeurs sur un fichier excel dans une clé usb nommé "DATA"

Problème
mon app doit être un minimum robuste : c'est à dire pouvoir être utilisé avec n'importe quelle clé usb nommée "DATA" et résister à un mauvais démontage.

Actuellement, j'ai écris le chemin de montage en dur sur mon code (du genre : )

try os.mkdir('/media/pi/DATA3/NouveauDossier')
Pourquoi DATA3 ? parce que parfois, si la clé usb est mal démonté ou utilisé sur un autre ordi, la pi crée un nouveau point de montage..
j'ai donc dans mon repertoire /media/pi/ une 10aine de fichier "DATA1" "DATA2" "DATA3" etc…

Une solution possible : essayer d'ouvrir DATA puis DATA[i] en incrémentant i dans mon code mais je trouve ça vraiment cracra

Sinon je sais qu'il existe des choses à faire du coté de udev mais j'avoue être vraiment perdu sur ce dernier point….

Merci d'avance pour votre aide !

  • # la solution c'est udev

    Posté par  . Évalué à 3.

    Une solution possible : essayer d'ouvrir DATA puis DATA[i] en incrémentant i dans mon code mais je trouve ça vraiment cracra

    Sinon je sais qu'il existe des choses à faire du coté de udev mais j'avoue être vraiment perdu sur ce dernier point….

    ben justement, entre faire un truc cracra et faire du udev,
    ca vaut surement le coup de regarder udev et les libs python qui s'y rattache

    1°) tu peux forcer le montage de tes clefs, toujours dans DATA plutot que de laisser faire data1, data2, dataX que tu ne maitrises pas

    2°) tu peux faire executer automatiquement un script quand la clef est inserée (clonage des données du Pi vers la clef USB, purge des données du Pi

  • # Label

    Posté par  (site web personnel) . Évalué à 3.

    J'imagine que "DATA" est le label de la partition sur ta clé. Tu pourrais peut être essayer, au lancement de ton script:

    • Tester si la clé est montée au bon endroit
    • Sinon, démonter /dev/disk/by-label/DATA
    • Puis monter /dev/disk/by-label/DATA dans le dossier de ton choix

    Par contre il faudra peut-être que ton script ait des droits root pour faire ça… Donc si tu arrives à faire avec UDEV, c'est probablement mieux.

    Un LUG en Lorraine : https://enunclic-cappel.fr

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.