Je débute, j'ai déjà réalisé un projet un peu a l'arrache ( suis pas fort patient ) et je suis devant un petit problème pratique.
Comment ranger et transférer proprement les bibliothèques d'un pc a un autre, et dans le prolongement comment sauvegarder proprement un projet pour pouvoir le ressortir plus tard sans devoir réinstaller ou retrouver toutes les bibliothèques utilisées.
J'ai fait une recherche mais comme je n'arrive pas a bien cerner le problème je n'ai rien trouvé de concluant.
En résumé, comment réaliser un fichier ou un dossier projet qui permettrai de lancer le programme sur n'importe quel pc sans devoir copier coller les bibliothèques.
L'IDE ARDUINO est un outil rudimentaire et très figé. Il ne dispose pas de mécanisme automatique de téléchargement de librairies en fonction du projet.
Certains outils comme CMake le permettent, mais encore faut-il écrire un fichier de description correct pour le projet, avec ses dépendances externes, URLs, dossiers cibles, etc.
Mais avec ce genre d'outil tu vas perdre autant que tu vas gagner, car l'IDE ARDUINO fait beaucoup de choses que CMake ne fera pas de lui-même.
Ce serait déjà pas mal de documenter le projet dans un fichier texte (README) indiquant les URLs des librairies à installer.
Ensuite quand je change de machine, je re-télécharge les librairies au fur et à mesure des besoins soit depuis GitHub ou leur support d'origine, soit de plus en plus par le biais de l'outil de Recherche et installation des librairies directement dans l'IDE.
Personnellement, j'installe, le plus souvent, les librairies à la main dans le répertoire sketchbook/libraries donc les librairies ne sont pas perdues/modifiées lors de changement de l'IDE.
De plus le répertoire en question est situé dans une branche de l'arborescence disque que je synchronise sur Hubic. Du coup, sur tout mes PC, je retrouve la même arborescence de travail avec les mêmes fichiers toujours à jour.
Au passage, Hubic est multi-plateforme ce qui fait que l'on peut même passer d'une machine Windows à une machines Linux sans problèmes.
mettre la biblio dans le meme répertoire que l'ino
en tant que fichiers
dossier "monprojet"
fichier monprojet.ino
fichier biblio1.h
ficher biblio1.cpp
fichier biblio2.h
fichier biblio2.ccp
etc..
le dossier "monprojet" est transportable d'un pc à un autre
j'utilise cette méthode quand j'ai plusieurs biblios avec meme nom et pas les meme fonctions
dans l'IDE, avec DHT.h par exemple, il faut remplacer #include <DHT.h> par #include "DHT.h"
comme çà le comilateur de "monprojet.ino" ira chercher la biblio "DHT.h" qui se trouve dans le meme dossier que l'ino et pas "plusieurs librairies trouvées pour "
il faut évidemment que l'autre pc ait un environnement IDE arduino fonctionnel
avec les biblios hardware\ spi, wire, eeprom, etc..
"C:\Program Files\Arduino\hardware\arduino\avr\libraries"
désolé pas facile à expliquer avec des mots
PS : sur le meme pc, je n'ai pas encore trouvé le moyen d'indiquer le chemin d'acces au fichier .h que je désire que le compilateur utilise, genre #include "C:\Program Files\Arduino\libraries\mesbibliospersos\biblio1\biblio1.h"
certains biblios ont dossier 'nom123" et les fichiers nom123.h et .cpp dans un sous répertoire SRC
je ne comprends déjà pas pourquoi on doit creer un dossier "libraries" dans "C:\Users\mypc\Documents\Arduino\libraries" alors que je mets toutes les biblios ici "C:\Program Files\Arduino\libraries"
ni pourquoi on ne pourrait pas les mettre toutes ici "C:\Program Files\Arduino\hardware\arduino\avr\libraries"
bon avec les esp8266 etc.. c'est une autre histoire
"C:\Users\mypc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries"
comme je l'ai écrit dans un autre topic arduino IDE devient une usineagaz, mais c'est un autre débat
d'ailleurs je viens encore de "trouer ma main" de 25€ en passant une commande de modules arduino inutiles sur ebay
elektrax:
je ne comprends déjà pas pourquoi on doit creer un dossier "libraries" dans "C:\Users\mypc\Documents\Arduino\libraries" alors que je mets toutes les biblios ici "C:\Program Files\Arduino\libraries"
ni pourquoi on ne pourrait pas les mettre toutes ici "C:\Program Files\Arduino\hardware\arduino\avr\libraries"
Les répertoires dans "C:\Program Files\Arduino" ne sont pas pérennes. Ils sont perdus lors d'une mise à jour de l'IDE. Ils sont aussi partagés par tous les utilisateurs de la machine ce qui peut poser problème dans certains cas.
Le fait de placer les librairies dans "C:\Users\mypc\Documents\Arduino\libraries" permet aussi de faire tourner plusieurs versions de l'IDE mais de partager les mêmes librairies.
fdufnews:
Les répertoires dans "C:\Program Files\Arduino" ne sont pas pérennes. Ils sont perdus lors d'une mise à jour de l'IDE. Ils sont aussi partagés par tous les utilisateurs de la machine ce qui peut poser problème dans certains cas.
Le fait de placer les librairies dans "C:\Users\mypc\Documents\Arduino\libraries" permet aussi de faire tourner plusieurs versions de l'IDE mais de partager les mêmes librairies.
ok Merci pour les éclaircissements, et justement pour 2 versions ide sur meme pc je ne veux PAS qu'ils partagent les memes biblios ni croquis
A mon avis ce n'est possible sans gérer deux repertoires libraries dans ton compte .
Quand il existait 2 IDES concurrentes (1.6xxx et 1.7xx xx) je l'avais fait en écrivant un script qui renomait ce répertoire et qui lançait ensuite l'ide.
C'était sous Linux et ce doit être possible sous windaube .
portable en effet
j'ai 1.6.4 en "portable" sur une partition indépendante du hdd, bien que je ne l'utilise plus
théoriquement une version portable pourrait se loger sur une clef usb, et fonctionner sur n'importe quel pc sans arduino installé, juste en respectant l'os, si on a installé la version portable windows sur la clef, l'ide sur la clef devrait etre utilisable sur n'importe quel pc win7,8,10 ?
jamais testé
"L’orthographe étymologique et ancienne, clef, et l’orthographe moderne, clé, s’emploient toutes deux selon des critères qui ne sont pas objectivement définissables."