Différences entre versions de « FEATHER-M0-MicroPython-bibliotheque »
(Page créée avec « {{FEATHER-M0-EXPRESS-NAV}} {{traduction}} Part of what makes CircuitPython so awesome is its ability to store code separately from the firmware itself. Storing code sepa... ») |
|||
(42 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{FEATHER-M0-EXPRESS-NAV}} | {{FEATHER-M0-EXPRESS-NAV}} | ||
− | {{ | + | == Introduction == |
+ | Ce qui rend CircuitPython si génial, c'est la possibilité de stocker du code séparé du firmware proprement dit. Cette séparation entre code et firmware facilite la mise-à-jour du code que vous écrivez et des bibliothèques dont il dépend. Par conséquent, à la place de compiler les bibliothèques dans votre programme, vous les placer simplement dans votre répertoire {{fname|lib}} de votre lecteur {{fname|CIRCUITPY}}. | ||
− | + | Votre carte CircuitPython devrait déjà contenir un répertoire {{fname|lib}}, c'est un répertoire présent dans la racine du lecteur. S'il n'y est pas, vous pouvez simplement créer ce répertoire vous même (attention à la case, en minuscule uniquement). | |
− | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-01.png|480px}} | |
− | {{ | + | Les bibliothèques CircuitPython fonctionnent de façon identique aux modules Python traditionnels. Par conséquent [https://docs.python.org/3/tutorial/modules.html les docs Python] sont une excellente référence pour comprendre comment ces bibliothèques devraient fonctionner. En termes Pythonics, nous pouvons placer nos fichiers de bibliothèques dans le répertoire {{fname|lib}} parce que ce dernier est le répertoire par défaut de Python. |
− | + | L'inconvénient de cette approche des bibliothèques séparées c'est qu'elles ne sont "pas incluses". Pour les utiliser, il est nécessaire de les copier dans le lecteur {{fname|CIRCUITPY}} avant de pouvoir les utiliser. Par chance, Adafruit offre un ensemble complet de bibliothèque. | |
− | + | Le bundle Adafruit et les releases sont des versions optimisées des bibliothèques Adafruit avec l'extension de fichier {{fname|.mpy}}. Ces fichiers prennent moins de place sur le lecteur et un impact en mémoire moins important quand ils sont chargés. | |
− | + | == Installer un bundle == | |
+ | Adafruit améliore constamment ses bibliothèques, bibliothèques qui sont mises-à-jour régulièrement. La totalité des bibliothèques ne sont donc pas incluses (pour le moment) sur les cartes CircuitPython. Par conséquent, vous pourriez trouver des codes d'exemples qui utilise certaines bibliothèques (instruction {{fname|import}}) de chargement de bibliothèques). Certaines de ces bibliothèques pourraient être disponible depuis Adafruit, d'autres écrites par des membres de la communauté! | ||
− | + | Quoi qu'il en soit, une fois passer l'exemple blink (exemple simple qui fait clignoter une LED), vous aurez besoin de savoir comment obtenir la bibliothèque et la charger sur votre carte. | |
− | |||
− | |||
− | + | Jetons un petit coup d'oeil sur l'exemple, ci-dessous, utilisant le senseur de température SI7021 (bus I2C). | |
− | < | + | <syntaxhighlight lang="python">import adafruit_si7021 |
import busio | import busio | ||
import board | import board | ||
Ligne 28 : | Ligne 28 : | ||
sensor = adafruit_si7021.SI7021(i2c) | sensor = adafruit_si7021.SI7021(i2c) | ||
print("Temperature:", sensor.temperature) | print("Temperature:", sensor.temperature) | ||
− | print(" | + | print("Humidite:", sensor.relative_humidity) |
− | </ | + | </syntaxhighlight> |
− | + | ||
− | + | Après avoir sauvé ce code dans le fichier {{fname|code.py}} sur le lecteur, nous pouvons voir la LED NeoPixel affichier un statur d'erreur (elle flash). En utilisant la console série nous pouvons constater qu'une erreur '''ImportError''' s'est produite. | |
+ | |||
+ | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-02.png|480px}} | ||
− | {{ | + | L'erreur indique qu'il n'existe pas de module nommé {{fname|adafruit_si7021}}. C'est la bibliothèque que nous avons besoin de télécharger! Etant donné que le senseur provient d'Adafruit, il y a fortes chances d'y trouver la bibliothèque depuis [https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest le bundle officiel d'Adafruit]. S'il ne s'agit pas d'un composant Adafruit ou s'il est manquant dans le bundle officiel, vous pouvez vérifier le [https://github.com/adafruit/CircuitPython_Community_Bundle/releases/latest the Community bundle] (''le bundle communautaire'') qui dispose de bibliothèques auxquels contribue la communauté. |
− | + | {{download-box|Cliquer ici pour obtenir la dernière version du bundle d'Adafruit|https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest}} | |
− | + | Visiter la page release du bundle qui affiche des informations sur la dernière release incluant une liste de toutes les versions et liste des pilotes inclus dans la release. Faire défiller la page jusqu'en bas affiche les téléchargements ("''Downloads''"). Bien, commencons par le premier fichier zip qui commence par {{fname|adafruit-circuitpython-bundle}}. | |
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-03.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-03.png|480px}} |
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-04.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-04.png|480px}} |
− | + | Après avoir téléchargé le zip et extrait le contenu. Cela se fait habituellement en double-cliquant sur le fichier zip. Sur un Mac OSX cela extrait les fichiers dans le même répertoire que le fichier zip. Le fichier zip contient un répertoire {{fname|lib}}. | |
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-05.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-05.png|480px}} |
− | == Express | + | == Les cartes Express == |
− | + | Si vous utilisez un Feather M0 Express, Metro M0 Express ou Circuit Playground Express (ex: carte "Express") alors votre carte CircuitPython dispose de 2 MB de mémoire Flash (pour le stockage). Cela représente ''beaucoup'' d'espace pour les fichiers de la bibliothèque, vous pouvez donc totes les installer! (Si vous disposez d'un Gemma M0 ou Trinket M0 ou autre carte ''non-Express'' alors passez à la section suivante) | |
− | + | Sur une carte Express, le répertoire {{fname|lib}} peut être copié directement sur le lecteur CIRCUITPY. | |
− | + | Faites un simple glisser/déposer du répertoire {{fname|lib}} sur le lecteur CIRCUITPY et 'replacez' tous les anciens fichiers présents (si jamais le système d'exploitation se plaint) | |
− | + | Voila, c'est fait! Vous pouvez maintenant retourner au codage de votre projet :) Le restant de cette page concerne les cartes '''non-Express'''. | |
− | == Non-Express | + | == Les cartes Non-Express == |
− | + | Si vous disposez d'un Gemma M0 ou Trinket M0 alors votre espace de stockage est sur la puce elle-même. Par conséquent, ces cartes ne dispose pas d'assez d'espace de stockage pour acceuillir le bundle complet des bibliothèques Adafruit. Si vous essayez de copier l'entièreté du répertoire {{fname|lib}} vous dépasserez le quota de l'espace de stockage. | |
− | + | A la place, copiez uniquement les fichiers dont vous avez besoin. Dans le répertoire {{fname|lib</code>}} il y a un fichier {{fname|adafruit_si7021.mpy}}. Celui-ci correspond au module manquant! Python importe les modules sur base de leur nom de fichier donc le module et le nom de fichier correspondent. Copiez le fichier {{fname|adafruit_si7021.mpy}} sur votre carte. | |
+ | |||
+ | Si cela fonctionne, vous pouvez passer directement [[FEATHER-M0-MicroPython-bibliotheque#Continuer_apr.C3.A8s_la_copie|à la prochaine section]]. | ||
+ | Poursuivez votre lecture si vous constatez une erreur. | ||
{{ADFImage|FEATHER-M0-MicroPython-bibliotheque-06.png|640px}} | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-06.png|640px}} | ||
− | + | === Cartes Non-Express - Plus d'espace? === | |
− | + | Le système de fichier est vraiment très petit (plus petit que les anciennes disquettes). Il y a donc de fortes chances que vous manquiez d'espace... mais pas de panique, il y a quelques trucs et astuces pour récupérer de la place. | |
− | |||
− | + | La carte contient un pilote série pour Windows 7 aussi! Vous pouvez l'effacer si vous n'en avez pas besoin ou s'il est déjà installé. ce fichier fait environ ~12KiB. | |
− | + | ==== Effacer quelque-chose! ==== | |
− | + | La façon la plus simple de récupérer de l'espace est d'effacer un fichier du lecteur. Il y a peut être des bibliothèques dans {{fname|lib}} que vous n'utilisez plus ou pour tester du code qui n'est plus utilisé. | |
− | + | ==== Utiliser les tabulations ==== | |
− | + | Une des fonctionnalités particulièrement unique de Python est l'indentation du code (utilisé pour pour les différents niveau du bloc). La recommandation habituelle est d'utiliser 4 espaces ou une tabulation pour chaque indentation de bloc. La recommandation générale est d'utiliser des espaces. | |
− | + | '''Cependant, une astuce consiste''' à utiliser une tabulation (un caractère de tabulation) au lieu de 4 espaces. Cela divise par 4 la quantité de caractères nécessaires pour assurer l'indentation du code... ce qui permet d'économiser de précieux octets. | |
− | |||
− | + | ==== Mac OSX aime ajouter des fichiers supplémentaires! ==== | |
+ | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-07.png|480px}} | ||
− | + | Par chance, il est possible de désactiver l'ajout de fichiers cachés par Mac OSX en exécutant quelques commandes permettant de désactiver l'index de recherche en créant un emplacement de stockage vide. | |
− | |||
− | + | Suivez les étape suivantes pour maximiser l'espace de stockage disponible sous OSX: | |
− | + | ||
− | + | ===== Enlever les fichiers cachés sur Mac OSX (empêcher leur création) ===== | |
+ | Pour commencer, il faut identifier le lecteur correspondant à la carte. Exécutez la commande suivante dans un terminal avec la carte branchée, cela permet de lister tous les volumes: | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
+ | ls -l /Volumes | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Cherchez un volume qui ne nomme '''CIRCUITPY''' (nom par défaut pour CircuitPython). La chemin complet est '''/Volumes/CIRCUITPY'''. | |
− | + | Suivez maintenant [http://apple.stackexchange.com/questions/6707/how-to-stop-os-x-from-writing-spotlight-and-trash-files-to-memory-cards-and-usb/7135#7135 les étapes de cette question] (''stackexchange.com'') en saisissant les commandes permettant d'arrêter la création de fichiers cachés sur la carte: | |
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Ligne 103 : | Ligne 108 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Dans les commandes ci-dessus, remplacez '''/Volumes/CIRCUITPY''' par le chemin de votre propre carte. Une fois fait, tous les fichiers cachés devraient être enlevés de la carte et le système d'exploitation ne devrait plus en créer. | |
− | + | Il reste cependant des cas où Mac OSX crée encore des fichier cachés. Plus particulièrement lorsque l'on copie des fichiers qui ont étés téléchargés depuis Internet, MAc OSX crée un fichier caché spécial contenant des métadonnée. Par chance, il est possible d'utiliser une commande de copie (dans le terminal) permettant de réaliser la copie de fichier '''sans''' le fichier de métadonnée caché. Voyez les étapes ci-dessous: | |
− | + | ===== Copier un fichier sur Mac OSX sans créer le fichier caché ===== | |
− | + | Une fois que vous avez désactivé (et enlevé) la création de fichier caché sur Mac OSX, il sera nécessaire de faire plus attention durant la copie des fichier sur la carte en utilisant une commande qui empêche la création de tels fichiers cachés durant la copie. | |
− | + | Vous '''ne pourrez malheureusement pas''' utiliser de glissé/déposé dans Finder parce que, dans certains cas, il crée des fichiers cachés renfermant des informations sur le fichier (pour les fichiers téléchargés d'Internet comme, par exemple, les modules Python Adafruit). | |
− | + | Pour copier un fichier ou un répertoire sans fichiers cachés, il faut utiliser l'option '''-X''' de la commande '''cp'''. Par exemple, pour copier le fichier '''foo.mpy''' sur la carte, nous utiliserons la commande: | |
− | |||
− | |||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="bash"> |
+ | cp -X foo.mpy /Volumes/CIRCUITPY | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Ou pour copier un répertoire entier (incluant fichiers et sous répertories), nous utiliserons la commande: | |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="bash"> |
− | cp -rX folder_to_copy /Volumes/CIRCUITPY | + | cp -rX folder_to_copy /Volumes/CIRCUITPY |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ===== Autres astuces Mac OSX ===== | |
− | + | Voici comment faire si vous désirez connaître l'espace utilisé sur la carte -ou- effacer les fichiers cachés manuellement. | |
+ | |||
+ | Pour commencer, listez l'espace disponible sur '''CIRCUITPY''' avec la commande {{fname|df}} : | ||
− | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-08.png|480px}} | |
− | |||
− | {{ | + | Commencez par retirer le fichier {{fname|._}} . |
− | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-09.png|480px}} | |
− | + | Voilà! Nous venons de récupérer 13Ki en une opération! | |
− | + | Passons maintenant à l'étape suivante. | |
− | + | == Continuer après la copie == | |
− | + | Génial! tout à été copié sur la carte. Voyons maintenant le moniteur série pour voir comment vont les choses. | |
− | |||
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-10.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-10.png|480px}} |
− | + | Oups! Un autre {{fname|ImportError}}! La bibliothèque peut dépendre d'autre'''s''' bibliothèque'''s''', par conséquent, la copie d'un seule fichier peut très bien ne pas être suffisant. Si vous inspectez le bundle d'Adafruit, il y a un répertoire {{fname|adafruit_bus_device}} . Ce répertoire est un paquet (''package'') en termes Python. Il contient des modules (''fichiers python''). Copions donc le répertoire sur la carte pour nous assurer d'avoir tout ce qui est nécessaire. | |
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-11.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-11.png|480px}} |
− | + | Si la copie échoue parce qu'il n'y a pas assez d'espace, [[FEATHER-M0-MicroPython-bibliotheque#Cartes_Non-Express_-_Plus_d.27espace.3F|alors voyez la section ci-dessus]] pour savoir comment retrouver de la place. Sinon vous pouvez simplement poursuivre votre exploration. | |
− | + | Vérifions une nouvelle fois la connexion série. Super,voyez, cela fonctionne! Nous n'avons plus d'erreur {{fname|ImportError}} et la température est enfin affichée (en Celsius) et l'humidité relative. | |
− | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-12.png| | + | {{ADFImage|FEATHER-M0-MicroPython-bibliotheque-12.png|480px}} |
{{FEATHER-M0-EXPRESS-TRAILER}} | {{FEATHER-M0-EXPRESS-TRAILER}} |
Version actuelle datée du 23 décembre 2017 à 15:31
Introduction
Ce qui rend CircuitPython si génial, c'est la possibilité de stocker du code séparé du firmware proprement dit. Cette séparation entre code et firmware facilite la mise-à-jour du code que vous écrivez et des bibliothèques dont il dépend. Par conséquent, à la place de compiler les bibliothèques dans votre programme, vous les placer simplement dans votre répertoire lib de votre lecteur CIRCUITPY.
Votre carte CircuitPython devrait déjà contenir un répertoire lib, c'est un répertoire présent dans la racine du lecteur. S'il n'y est pas, vous pouvez simplement créer ce répertoire vous même (attention à la case, en minuscule uniquement).
Crédit: AdaFruit Industries www.adafruit.com
Les bibliothèques CircuitPython fonctionnent de façon identique aux modules Python traditionnels. Par conséquent les docs Python sont une excellente référence pour comprendre comment ces bibliothèques devraient fonctionner. En termes Pythonics, nous pouvons placer nos fichiers de bibliothèques dans le répertoire lib parce que ce dernier est le répertoire par défaut de Python.
L'inconvénient de cette approche des bibliothèques séparées c'est qu'elles ne sont "pas incluses". Pour les utiliser, il est nécessaire de les copier dans le lecteur CIRCUITPY avant de pouvoir les utiliser. Par chance, Adafruit offre un ensemble complet de bibliothèque.
Le bundle Adafruit et les releases sont des versions optimisées des bibliothèques Adafruit avec l'extension de fichier .mpy. Ces fichiers prennent moins de place sur le lecteur et un impact en mémoire moins important quand ils sont chargés.
Installer un bundle
Adafruit améliore constamment ses bibliothèques, bibliothèques qui sont mises-à-jour régulièrement. La totalité des bibliothèques ne sont donc pas incluses (pour le moment) sur les cartes CircuitPython. Par conséquent, vous pourriez trouver des codes d'exemples qui utilise certaines bibliothèques (instruction import) de chargement de bibliothèques). Certaines de ces bibliothèques pourraient être disponible depuis Adafruit, d'autres écrites par des membres de la communauté!
Quoi qu'il en soit, une fois passer l'exemple blink (exemple simple qui fait clignoter une LED), vous aurez besoin de savoir comment obtenir la bibliothèque et la charger sur votre carte.
Jetons un petit coup d'oeil sur l'exemple, ci-dessous, utilisant le senseur de température SI7021 (bus I2C).
import adafruit_si7021
import busio
import board
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_si7021.SI7021(i2c)
print("Temperature:", sensor.temperature)
print("Humidite:", sensor.relative_humidity)
Après avoir sauvé ce code dans le fichier code.py sur le lecteur, nous pouvons voir la LED NeoPixel affichier un statur d'erreur (elle flash). En utilisant la console série nous pouvons constater qu'une erreur ImportError s'est produite.
Crédit: AdaFruit Industries www.adafruit.com
L'erreur indique qu'il n'existe pas de module nommé adafruit_si7021. C'est la bibliothèque que nous avons besoin de télécharger! Etant donné que le senseur provient d'Adafruit, il y a fortes chances d'y trouver la bibliothèque depuis le bundle officiel d'Adafruit. S'il ne s'agit pas d'un composant Adafruit ou s'il est manquant dans le bundle officiel, vous pouvez vérifier le the Community bundle (le bundle communautaire) qui dispose de bibliothèques auxquels contribue la communauté.
Visiter la page release du bundle qui affiche des informations sur la dernière release incluant une liste de toutes les versions et liste des pilotes inclus dans la release. Faire défiller la page jusqu'en bas affiche les téléchargements ("Downloads"). Bien, commencons par le premier fichier zip qui commence par adafruit-circuitpython-bundle.
Crédit: AdaFruit Industries www.adafruit.com
Crédit: AdaFruit Industries www.adafruit.com
Après avoir téléchargé le zip et extrait le contenu. Cela se fait habituellement en double-cliquant sur le fichier zip. Sur un Mac OSX cela extrait les fichiers dans le même répertoire que le fichier zip. Le fichier zip contient un répertoire lib.
Crédit: AdaFruit Industries www.adafruit.com
Les cartes Express
Si vous utilisez un Feather M0 Express, Metro M0 Express ou Circuit Playground Express (ex: carte "Express") alors votre carte CircuitPython dispose de 2 MB de mémoire Flash (pour le stockage). Cela représente beaucoup d'espace pour les fichiers de la bibliothèque, vous pouvez donc totes les installer! (Si vous disposez d'un Gemma M0 ou Trinket M0 ou autre carte non-Express alors passez à la section suivante)
Sur une carte Express, le répertoire lib peut être copié directement sur le lecteur CIRCUITPY.
Faites un simple glisser/déposer du répertoire lib sur le lecteur CIRCUITPY et 'replacez' tous les anciens fichiers présents (si jamais le système d'exploitation se plaint)
Voila, c'est fait! Vous pouvez maintenant retourner au codage de votre projet :) Le restant de cette page concerne les cartes non-Express.
Les cartes Non-Express
Si vous disposez d'un Gemma M0 ou Trinket M0 alors votre espace de stockage est sur la puce elle-même. Par conséquent, ces cartes ne dispose pas d'assez d'espace de stockage pour acceuillir le bundle complet des bibliothèques Adafruit. Si vous essayez de copier l'entièreté du répertoire lib vous dépasserez le quota de l'espace de stockage.
A la place, copiez uniquement les fichiers dont vous avez besoin. Dans le répertoire lib il y a un fichier adafruit_si7021.mpy. Celui-ci correspond au module manquant! Python importe les modules sur base de leur nom de fichier donc le module et le nom de fichier correspondent. Copiez le fichier adafruit_si7021.mpy sur votre carte.
Si cela fonctionne, vous pouvez passer directement à la prochaine section. Poursuivez votre lecture si vous constatez une erreur.
Crédit: AdaFruit Industries www.adafruit.com
Cartes Non-Express - Plus d'espace?
Le système de fichier est vraiment très petit (plus petit que les anciennes disquettes). Il y a donc de fortes chances que vous manquiez d'espace... mais pas de panique, il y a quelques trucs et astuces pour récupérer de la place.
La carte contient un pilote série pour Windows 7 aussi! Vous pouvez l'effacer si vous n'en avez pas besoin ou s'il est déjà installé. ce fichier fait environ ~12KiB.
Effacer quelque-chose!
La façon la plus simple de récupérer de l'espace est d'effacer un fichier du lecteur. Il y a peut être des bibliothèques dans lib que vous n'utilisez plus ou pour tester du code qui n'est plus utilisé.
Utiliser les tabulations
Une des fonctionnalités particulièrement unique de Python est l'indentation du code (utilisé pour pour les différents niveau du bloc). La recommandation habituelle est d'utiliser 4 espaces ou une tabulation pour chaque indentation de bloc. La recommandation générale est d'utiliser des espaces.
Cependant, une astuce consiste à utiliser une tabulation (un caractère de tabulation) au lieu de 4 espaces. Cela divise par 4 la quantité de caractères nécessaires pour assurer l'indentation du code... ce qui permet d'économiser de précieux octets.
Mac OSX aime ajouter des fichiers supplémentaires!
Crédit: AdaFruit Industries www.adafruit.com
Par chance, il est possible de désactiver l'ajout de fichiers cachés par Mac OSX en exécutant quelques commandes permettant de désactiver l'index de recherche en créant un emplacement de stockage vide.
Suivez les étape suivantes pour maximiser l'espace de stockage disponible sous OSX:
Enlever les fichiers cachés sur Mac OSX (empêcher leur création)
Pour commencer, il faut identifier le lecteur correspondant à la carte. Exécutez la commande suivante dans un terminal avec la carte branchée, cela permet de lister tous les volumes:
ls -l /Volumes
Cherchez un volume qui ne nomme CIRCUITPY (nom par défaut pour CircuitPython). La chemin complet est /Volumes/CIRCUITPY.
Suivez maintenant les étapes de cette question (stackexchange.com) en saisissant les commandes permettant d'arrêter la création de fichiers cachés sur la carte:
mdutil -i off /Volumes/CIRCUITPY
cd /Volumes/CIRCUITPY
rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir .fseventsd
touch .fseventsd/no_log .metadata_never_index .Trashes
cd -
Dans les commandes ci-dessus, remplacez /Volumes/CIRCUITPY par le chemin de votre propre carte. Une fois fait, tous les fichiers cachés devraient être enlevés de la carte et le système d'exploitation ne devrait plus en créer.
Il reste cependant des cas où Mac OSX crée encore des fichier cachés. Plus particulièrement lorsque l'on copie des fichiers qui ont étés téléchargés depuis Internet, MAc OSX crée un fichier caché spécial contenant des métadonnée. Par chance, il est possible d'utiliser une commande de copie (dans le terminal) permettant de réaliser la copie de fichier sans le fichier de métadonnée caché. Voyez les étapes ci-dessous:
Copier un fichier sur Mac OSX sans créer le fichier caché
Une fois que vous avez désactivé (et enlevé) la création de fichier caché sur Mac OSX, il sera nécessaire de faire plus attention durant la copie des fichier sur la carte en utilisant une commande qui empêche la création de tels fichiers cachés durant la copie.
Vous ne pourrez malheureusement pas utiliser de glissé/déposé dans Finder parce que, dans certains cas, il crée des fichiers cachés renfermant des informations sur le fichier (pour les fichiers téléchargés d'Internet comme, par exemple, les modules Python Adafruit).
Pour copier un fichier ou un répertoire sans fichiers cachés, il faut utiliser l'option -X de la commande cp. Par exemple, pour copier le fichier foo.mpy sur la carte, nous utiliserons la commande:
cp -X foo.mpy /Volumes/CIRCUITPY
Ou pour copier un répertoire entier (incluant fichiers et sous répertories), nous utiliserons la commande:
cp -rX folder_to_copy /Volumes/CIRCUITPY
Autres astuces Mac OSX
Voici comment faire si vous désirez connaître l'espace utilisé sur la carte -ou- effacer les fichiers cachés manuellement.
Pour commencer, listez l'espace disponible sur CIRCUITPY avec la commande df :
Crédit: AdaFruit Industries www.adafruit.com
Commencez par retirer le fichier ._ .
Crédit: AdaFruit Industries www.adafruit.com
Voilà! Nous venons de récupérer 13Ki en une opération!
Passons maintenant à l'étape suivante.
Continuer après la copie
Génial! tout à été copié sur la carte. Voyons maintenant le moniteur série pour voir comment vont les choses.
Crédit: AdaFruit Industries www.adafruit.com
Oups! Un autre ImportError! La bibliothèque peut dépendre d'autres bibliothèques, par conséquent, la copie d'un seule fichier peut très bien ne pas être suffisant. Si vous inspectez le bundle d'Adafruit, il y a un répertoire adafruit_bus_device . Ce répertoire est un paquet (package) en termes Python. Il contient des modules (fichiers python). Copions donc le répertoire sur la carte pour nous assurer d'avoir tout ce qui est nécessaire.
Crédit: AdaFruit Industries www.adafruit.com
Si la copie échoue parce qu'il n'y a pas assez d'espace, alors voyez la section ci-dessus pour savoir comment retrouver de la place. Sinon vous pouvez simplement poursuivre votre exploration.
Vérifions une nouvelle fois la connexion série. Super,voyez, cela fonctionne! Nous n'avons plus d'erreur ImportError et la température est enfin affichée (en Celsius) et l'humidité relative.
Crédit: AdaFruit Industries www.adafruit.com
Source: Adafruit Feather M0 Express - Designed for CircuitPython créé par LadyAda, Tony DiCola, Scorr Shawcroft, Dan Halbert pour AdaFruit Industries. Crédit AdaFruit Industries
Traduit par Meurisse D. pour MCHobby.be
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.