Actuellement; lorsque je démarre un nouveau projet Arduino avec du nouveau matériel, la première chose que je fais est de rechercher des bibliothèques tierces qui apportent un support Arduino pour ce matériel.
Les premiers endroits que je regarde sont:
En général, je ne trouve aucune bibliothèque de support ou plusieurs bibliothèques différentes (il est assez rare d'en trouver une seule) à différents endroits avec différents niveaux de documentation, différents niveaux de test ...
Une fois que j'ai trouvé la bibliothèque dont j'ai besoin (parfois je dois en essayer plusieurs), je la télécharge dans mon dossier de bibliothèques Arduino, je l'utilise et je l'oublie.
Je trouve ce processus lourd:
- recherche manuelle avec différentes options possibles, pas toujours bien documentée
- téléchargement manuel et installation dans les bibliothèques Arduino
- aucun contrôle de version dans le processus (toutes les versions d'une bibliothèque ont le même nom et ne peuvent donc pas coexister dans le dossier de la bibliothèque Arduino).
Je souhaite qu'il y ait un référentiel central avec toutes les bibliothèques disponibles pour Arduino, avec:
- description (matériel pris en charge, cartes prises en charge)
- code source
- Documentation
- versions
Et un outil (Arduino IDE ou externe) pour accéder à ce référentiel au moment de la construction du projet.
Une sorte de maven pour Arduino en fait.
J'ai déjà vu plusieurs discussions sur le forum Arduino, mais il semble qu'elles n'aient mené nulle part:
- Recensement et référentiel des bibliothèques Arduino
- Téléchargeur de bibliothèque Arduino
- Téléchargeur de bibliothèque Arduino (2)
Y a-t-il d'autres options, qui sont rendues utilisables (par la communauté ou les individus, pourquoi pas)?
Réponses:
Vous venez de décrire les problèmes que l'entreprise pour laquelle je travaille tente de résoudre. Nous avons récemment lancé un produit appelé biicode . Il semble exactement ce que vous recherchez.
biicode est à la fois un référentiel central en ligne pour le code et un outil client qui comprend:
Vous pouvez voir une démo rapide ici et en savoir plus dans la documentation .
la source
Depuis que cette question a été posée pour la première fois, il y a maintenant le gestionnaire de bibliothèque Arduino, intégré à l'IDE Arduino. Là, vous pouvez rechercher et installer des bibliothèques.
Il y a des informations sur le fonctionnement du gestionnaire de bibliothèque ici: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
Il n'y a cependant pas de site officiel répertoriant les bibliothèques, j'ai donc récemment créé ce site non officiel, basé sur les mêmes données dans le gestionnaire de bibliothèque Arduino:
http://www.arduinolibraries.info/
la source
L' Arduino Playground LibraryList et la liste des bibliothèques standard semblent être les pages officielles pour cela.
la source
Si vous souhaitez créer un tel registre vous-même, vous pouvez jeter un œil à npm , le gestionnaire de packages de Node.js , qui est open-source et dont la portée est très similaire à celle que vous souhaitez décrire. Npm est à la fois:
Voir par exemple la page d'une bibliothèque populaire et le fichier JSON contenant ses métadonnées.
la source
Il n'y en a pas. Malheureusement, vous devrez rechercher manuellement chaque bibliothèque qui vous intéresse.
Si vous êtes intéressé à créer un tel référentiel central, alors que ce serait génial, ce n'est pas le forum approprié pour le faire.
la source
Arduino IDE et les bibliothèques associées sont inclus en tant que logiciel installable dans la plupart des référentiels OS. Malheureusement, les versions de ces référentiels sont généralement obsolètes, voire plusieurs mois. Il semblerait que le vrai problème consiste à faire en sorte que les gestionnaires de référentiels OS intègrent les nouvelles versions à mesure qu'elles deviennent disponibles.
Ce problème est aggravé lorsque la version de votre système d'exploitation n'a pas été mise à jour vers la dernière version, car cela vous oblige à utiliser un référentiel de logiciels obsolète.
Bien que ce ne soit pas une réponse parfaite, vous devez probablement vous assurer que vous utilisez la dernière version de votre système d'exploitation, puis encourager les gestionnaires de référentiels pour ce système d'exploitation à incorporer la dernière version d'Arduino IDE.
Une alternative serait d'aller sur la page d'accueil Arduino.org et de suivre les instructions pour télécharger et installer la dernière IDE et les bibliothèques associées. Ce sera probablement sous la forme d'un fichier .tar.gz, vous devrez donc savoir comment décompresser, décompresser et créer le logiciel nécessaire.
la source
Je pense que votre souhait ne se réalisera pas. J'espère pour cela, car avoir un seul endroit pour tous les bibliothèques Arduino, sans aucune bibliothèque autorisée, ne serait pas là et toutes ces bibliothèques seraient obligées de respecter toutes les normes commerciales de qualité, de test et de documentation (+ qualité du code, efficacité et lisibilité). signifie que seuls des professionnels et des équipes qualifiées similaires seraient autorisés à publier une bibliothèque Arduino et que tout serait régi par une seule entité, ce qui imposerait la suppression des bibliothèques fonctionnellement en double ou similaires. Et une telle entité sonnerait ou deviendrait plus tard mauvaise.
J'aime que l'Arduino soit gratuit et cela signifie également que je suis libre d'écrire une bibliothèque pour prendre en charge certaines fonctionnalités (que je veux utiliser) de certains matériels (que j'ai, l'intention d'acheter ou que je veux faire moi-même - même fortement expérimental et peut-être instable, mais amusant pour moi).
Avec votre grande autorité centrale efficace, je choisirais simplement une autre plate-forme gratuite, plutôt que d'être poursuivi pour le résultat moins que parfait et certifié commercialement de mon passe-temps à jouer avec l'électronique et forcé de travailler pour eux, PAS mes objectifs sur MON temps libre.
Et si votre Big Central Athority ne m'obligeait pas à forcer le travail libre pour eux, alors que feriez-vous à propos de ma bibliothèque permettant une utilisation spéciale de certains matériels courants, et à propos de le partager avec quiconque le veut, même si ce n'est pas le cas résoudre toutes les fonctionnalités HW entièrement en matière professionnelle et documenté seulement autant que je serais à l'aise de passer mon propre temps libre avec de la documentation. Et que se passerait-il s'il surgissait une autre bibliothèque pour le même matériel, qui permettrait une autre partie de la fonctionnalité ou utiliserait une autre API et une autre approche pour l'ensemble de la problématique?
À savoir, j'ai acheté un module multi 7 segments et il y avait une "bibliothèque officielle" pour son fabricant. J'ai fait une autre bibliothèque pour le même module. Et maintenant? Ma bibliothèque devrait-elle être dans le référentiel central en tant que "la seule bibliothèque pour ce matériel" ou devrait-elle être "la bibliothèque officielle du fabricant"? Notez que s'il y avait les deux, cela casserait votre "un et un seul" point de bibliothèque demandé. Si vous interdisez celui du fabricant, alors "le seul" manquerait de nombreuses fonctionnalités, comme un tampon intégré pour les nombres, une interface d'objet simple, un exemple simple, comment l'utiliser et il y aurait une forte dépendance à un temporisateur spécifique et générique API non objet, juste fonctionnelle, qui obligerait l'utilisateur à diviser les entiers en chiffres uniques - ne semble pas trop bon. Si vous interdisez ma bibliothèque, l'utilisateur aurait ce qui précède, mais son affichage ne serait actualisé que 10 fois par seconde avec des clignotements et des fantômes d'autres chiffres partout, tout en utilisant pleinement le processeur et la documentation serait principalement en chinois. Et l'utilisateur manquerait un taux de rafraîchissement de 100x par seconde avec presque aucune utilisation du processeur, de beaux chiffres et caractères propres (éventuellement définis par l'utilisateur). - Pas bon non plus.
Dans l'état actuel du chaos, l'utilisateur (peut-être vous ou quelqu'un d'autre) peut utiliser la bibliothèque, qui convient mieux à ses besoins (que ce soit la simplicité et la prise en charge des nombres entiers natifs, ou que ce soit un rafraîchissement rapide et propre et une faible utilisation du processeur) ou combiner les deux ensemble, faire le troisième avec un rafraîchissement rapide ET une manipulation simple des entiers ET un jeu de caractères défini par l'utilisateur, AVEC une belle API d'objet et une riche documentation. Il n'a besoin que d'une personne avec un peu de temps et de dévouement, ce qui facilite les débutants et certaines compétences en anglais et les connaissances de base des objets et comment les "bibliothèques Arduino officielles" sont emballées, afin que l'EDI puisse facilement les importer. (Et cette personne devrait le faire et le contribuer au conditionneur de bibliothèque Arduino).
Je ne le ferais pas - car mes besoins sont des API fonctionnelles bien meilleures et plus simples à utiliser, prennent moins d'octets de la mémoire et moins de cycles CPU et je n'ai aucune envie d'améliorer la bibliothèque d'une manière que je n'utiliserais pas. De plus, je n'utilise pas Arduino IDE, j'utilise un simple Makefile pour construire et télécharger les programmes, donc je peux facilement utiliser un bon éditeur de texte (vim dans mon cas) et ne pas me battre avec IDE-Notepad-parody.
Sous Big Central Authority appliquant votre modèle, je ne me soucierais pas du tout d'utiliser Arduino et vous serez coincé avec la version chinoise, le cas échéant (car elle n'y arriverait pas faute d'une bonne documentation en anglais et d'un format de package approprié) .
la source
http://downloads.arduino.cc/libraries/library_index.json fournit une liste de toutes les bibliothèques disponibles dans Arduino Library Manager.
J'ai utilisé ce fichier pour créer https://github.com/scls19fr/arduino_libraries_search C'est un script Python Pandas pour rechercher des bibliothèques Arduino correspondant à certains mots clés et pour les exporter vers un fichier Excel
Vous pouvez également trouver des bibliothèques Arduino en utilisant:
la source