Vraag:
Waar kan ik een centrale opslagplaats vinden van alle beschikbare Arduino-bibliotheken?
jfpoilpret
2014-02-23 17:23:49 UTC
view on stackexchange narkive permalink

Momenteel; wanneer ik een nieuw Arduino-project start met wat nieuwe hardware, is het eerste wat ik doe zoeken naar bibliotheken van derden die Arduino-ondersteuning bieden voor deze hardware.

De eerste plaatsen die ik zoek zijn:

Over het algemeen vind ik ofwel geen ondersteunende bibliotheek of verschillende bibliotheken (het is vrij zeldzaam om er maar één te vinden) op verschillende locaties met verschillende documentatieniveaus, verschillende testniveaus ...

Zodra ik de bibliotheek heb gevonden die ik nodig heb (soms moet ik er meerdere proberen), download ik deze naar mijn Arduino-bibliothekenmap, ik gebruik hem en vergeet hem.

Ik vind dit proces omslachtig:

  • handmatig zoeken met verschillende mogelijke opties, niet altijd goed gedocumenteerd
  • handmatig downloaden en installeren in Arduino-bibliotheken
  • geen versiebeheer in het proces (alle versies van een bibliotheek heeft dezelfde naam en kan dus niet naast elkaar bestaan ​​in de Arduino-bibliotheekmap).

Ik wou dat er een centrale repository met alle beschikbare bibliotheken voor arduino, met:

  • beschrijving (ondersteunde hardware, ondersteunde kaarten)
  • broncode
  • documentatie
  • versies

En een tool (Arduino IDE of extern) om toegang te krijgen tot deze repository tijdens het bouwen van het project.

Een soort maven voor Arduino.

Ik heb gezien dat er ooit verschillende discussies plaatsvonden op het Arduino-forum, maar het lijkt erop dat ze nergens toe leidden:

Zijn er andere opties die er iets bruikbaars van maken (van de gemeenschap of individuen, waarom niet)?

Dit zou vergelijkbaar zijn met PyPi https://pypi.python.org/pypi en virtualenv in Python, als iemand een analoog in een andere taal nodig heeft.
Een andere goede bron is PJRC https://www.pjrc.com/teensy/td_libs.html
Iets zegt me dat de [tag: library] -tagwiki een goede plek zou zijn om zo'n database te maken. ~ 35.000 tekens zouden voldoende ruimte moeten bieden om een ​​zeer uitgebreide lijst te maken.
@AsheeshR waarom niet? Maar eerst moet er een duidelijke beschrijving worden gegeven van wat vereist is (en wat optioneel is) voor elk bibliotheekitem, zodat deze 3template3 kan worden gevolgd voor elk toegevoegd item.
@jfpoilpret Dat is een onderwerp voor een [meta] discussie.
@AsheeshR alleen als we besluiten deze kant op te gaan; Voorlopig zou ik graag willen horen wat anderen te zeggen hebben, vooral als er al enkele tools zijn die in deze richting kunnen helpen.
Drie woorden over het bijhouden van een 'database' in een tag-wiki: "main" "tien" "ance". Ik geloof niet dat een handvol Arduino.SE-gebruikers zo'n lijst actueel en compleet kunnen houden. Merk op dat een bibliotheek die niet langer wordt onderhouden, ook als verwijderd moet worden beschouwd. Maar bewijs me vooral dat ik ongelijk heb, dat is eerder gebeurd.
@jippie een niet-onderhouden bibliotheek kan in gebruik zijn door projecten, daarom mag deze niet worden verwijderd, maar moet deze worden gemarkeerd als "niet-onderhouden sinds ..."
@jfpoilpret Goed argument. Ik zou zeggen dat je dan versie v.vv.vv en releasedatum jjjj-mm-dd moet opnemen.
Deze vraag gaat ervan uit dat er een verband is tussen alle verschillende entiteiten die een bibliotheek kunnen schrijven. Ik garandeer je dat ik bibliotheken heb geschreven die je in geen enkele andere opslagplaats dan mijn eigen github-site zult vinden. Het is niet dat u ze niet mag gebruiken. Alleen dat ik er geen voordeel in zie om ze actief te promoten.
Acht antwoorden:
#1
+5
njh
2016-08-04 03:44:44 UTC
view on stackexchange narkive permalink

Aangezien deze vraag voor het eerst werd gesteld, is er nu de Arduino Library Manager, ingebouwd in de Arduino IDE. Daar kunt u bibliotheken zoeken en installeren.

Hier vindt u informatie over hoe de bibliotheekbeheerder werkt: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

Er is echter geen officiële website met een lijst van de bibliotheken, dus ik heb onlangs deze niet-officiële site gemaakt, gebaseerd op dezelfde gegevens in de Arduino Library Manager:

http://www.arduinolibraries.info/

#2
+4
hithwen
2014-03-26 13:36:56 UTC
view on stackexchange narkive permalink

U heeft zojuist de problemen beschreven die het bedrijf waarvoor ik werk, probeert op te lossen. We hebben onlangs een product gelanceerd met de naam biicode . Het lijkt precies wat u zoekt.

biicode is zowel een online centrale opslagplaats voor code als een clienttool met:

  • Eenvoudig te gebruiken door beginners, configureerbaar voor meer geavanceerde gebruikers
  • Resolutie van afhankelijkheden, tijdelijk, zoals maven doet, maar zonder configuratiebestanden: leest afhankelijkheden rechtstreeks uit de broncode.
  • Centrale opslagplaats, iedereen kan zijn bibliotheken uploaden. Ze kunnen worden verkend, genavigeerd en ontdekt op internet
  • Versiebeheer: het controleert de compatibiliteit van versies en staat veilige updates van afhankelijkheden toe
  • U kunt het gebruiken met elke teksteditor (het heeft optionele eclipse-ondersteuning)
  • Het beheert projectinstellingen en compilaties, flitst gegenereerde firmware naar het bord
  • Het heeft een mooie seriële monitor als een plus

U kunt hier een korte demo bekijken en meer lezen in de documentatie.

Beantwoord 2014, zijn 2018 nog in productie?
Nee, is nu conan.io van jfrog en weet niet of het arduino meer ondersteunt
#3
+3
The Guy with The Hat
2014-02-23 22:20:24 UTC
view on stackexchange narkive permalink

De Arduino Playground LibraryList en de standaard bibliotheeklijst lijken daarvoor de officiële pagina's te zijn.

Ja, maar ze zijn slechts een mix van korte documenten met links naar bibliotheken, en lijken een "beste poging" -onderhoud te volgen, wat leidt tot iets dat op een puinhoop lijkt als we het van een soort pakketbeheerder zouden willen gebruiken.
#4
+2
Edgar Bonet
2016-05-27 14:52:35 UTC
view on stackexchange narkive permalink

Als u zelf zo'n register wilt maken, kunt u even kijken naar npm, de pakketbeheerder van Node.js, die open-source is en zeer vergelijkbaar in omvang als u wilt beschrijven. Npm is beide:

  1. een centraal register met metadata over elke bibliotheek:
    • naam, beschrijving, trefwoorden, homepage, auteur, bijdragers
    • versienummer, in principe voldoen aan semantische versiebeheer
    • URL van bronrepository (svn, git, github, gitlab, bitbucket ...)
    • compatibiliteitsinformatie (in deze als het om de versies van Node gaat)
    • licentie
    • afhankelijkheden
  2. een opdrachtregelprogramma voor:
    • doorzoeken in het register
    • pakketten downloaden en installeren, recursief hun afhankelijkheden volgen
    • uw eigen pakketten publiceren en bijwerken in het register.
  3. Zie bijvoorbeeld de pagina van een populaire bibliotheek en het JSON-bestand met de metadata ervan.

#5
+1
Connor Wolf
2014-02-23 20:50:02 UTC
view on stackexchange narkive permalink

Er is geen. Helaas zul je handmatig moeten zoeken naar elke bibliotheek waarin je geïnteresseerd bent.

Als je geïnteresseerd bent in het maken van zo'n centrale repository, hoewel het geweldig zou zijn, is dit niet het juiste forum om te doen het.

Wat zou u dan adviseren als we zo'n repository zouden maken?
Uh ... aan de slag? Wat bedoel je met adviseren? Het is eigenlijk een website. Misschien een pakketbeheerder ding toevoegen aan de Arduino-teksteditor als je er echt van hield? Het belangrijkste probleem, zoals altijd, is dat mensen het daadwerkelijk * gebruiken *.
Eerlijk gezegd, zelfs als je een pakketbeheerder van fancypants aan de arduino-teksteditor toevoegt, weet ik niet wat voor soort adoptie je gaat krijgen, omdat de arduino-editor ** vreselijk ** is en mensen de neiging hebben om ermee te stoppen in vrij korte tijd. Als zodanig heb je bijna een aparte pakketbeheerder nodig, dus ik zou bijna zeggen dat een eenvoudige website met een index van bibliotheken, een korte blurb en links naar waar ze * daadwerkelijk * worden gehost, de beste gok is .
Dat was ook mijn idee, het doel zou niet zijn om bibliotheken te hosten, maar eerder verwijzingen ernaar te bewaren, samen met nuttige metadata. Wat betreft Arduino IDE, ben ik het ermee eens, ik gebruik het niet vaak, maar een externe tool zou er later gemakkelijk mee te integreren moeten zijn.
@jfpoilpret - Het probleem met een externe tool is, net als bij pakketbeheerders, het oplossen van afhankelijkheden en het beheer van versievereisten. De arduino-mensen lijken niet al te veel moeite te hebben met het behouden van achterwaartse compatibiliteit, en veel bibliotheken hebben "arduino verson {blah}" nodig. Ik denk echt dat alleen een lijst met referenties de beste keuze is. Later komen er nog meer complexe dingen.
#6
  0
arvid
2016-05-26 23:36:57 UTC
view on stackexchange narkive permalink

Arduino IDE en bijbehorende bibliotheken zijn als installeerbare software opgenomen in de meeste OS-repositories. Helaas zijn de versies in deze repositories meestal enkele maanden of zelfs jaren verouderd. Het lijkt erop dat het echte probleem is om OS-repositorymanagers zover te krijgen dat ze nieuwe releases opnemen zodra deze beschikbaar komen.

Dit probleem wordt verergerd wanneer uw OS-versie niet is bijgewerkt naar de laatste release, omdat dit u dwingt om een ​​verouderde software-opslagplaats te gebruiken.

Hoewel het geen perfect antwoord is, zou u verzeker u er waarschijnlijk van dat u de laatste versie van uw besturingssysteem gebruikt, en moedig vervolgens de repositorymanagers voor dat besturingssysteem aan om de nieuwste versie van Arduino IDE op te nemen.

Een alternatief zou zijn om naar de Arduino.org-startpagina te gaan en volg de instructies om de nieuwste IDE en bijbehorende bibliotheken te downloaden en te installeren. Dit zal waarschijnlijk de vorm hebben van een .tar.gz-bestand, dus je zult moeten weten hoe je de benodigde software moet uitpakken, untarren en bouwen.

#7
  0
gilhad
2018-06-17 01:59:23 UTC
view on stackexchange narkive permalink

Ik denk dat je wens niet zal uitkomen. Ik hoop het, omdat het hebben van slechts één plaats voor alle Arduino-bibliotheken, zonder dat bibliotheken zijn toegestaan, er niet zijn en al die bibliotheken zouden worden gedwongen om alle commerciële normen van kwaliteit, testen en documentatie (+ codekwaliteit, effectiviteit en leesbaarheid) te doorstaan betekent dat alleen professionals en vergelijkbare gekwalificeerde teams een Arduino-bibliotheek mogen publiceren en dat alles wordt beheerd door één enkele entiteit, die het verwijderen van functioneel dubbele of vergelijkbare bibliotheken zou afdwingen. En zo'n entiteit zou soner worden of later kwaadaardig worden.

Ik hou van de Arduino omdat hij vrij is en dat betekent ook dat ik vrij ben om een ​​bibliotheek te schrijven voor ondersteuning van sommige functies (die ik wil gebruiken) van sommige hardware (die ik heb, van plan ben te kopen of die ik zelf wil maken - zelfs zeer experimenteel en misschien onstabiel, maar leuk voor mij).

Nu je Grote Centrale Autoriteit effectief is, zou ik gewoon een ander gratis platform kiezen , liever dan aangeklaagd te worden voor een minder dan perfect en commercieel gecertificeerd resultaat van mijn hobby spelen met elektronica en gedwongen te werken voor hun, NIET mijn doelen in MIJN vrije tijd.

En als je Grote Centrale Athoriteit niet zou forceren mij om gratis arbeid voor hen te laten werken, wat zou je dan doen aan mijn bibliotheek die een speciaal gebruik van een aantal gewone hardware mogelijk maakt, en dat ik het deel aan iedereen die het wil, zelfs als het niet alle HW-functionaliteit volledig oplost in professionele aangelegenheden en alleen zo veel gedocumenteerd als ik het prettig zou vinden om mijn eigen vrije tijd met documentat door te brengen ion. En wat als er een andere bibliotheek voor dezelfde hardware zou ontstaan, die een ander deel van de functionaliteit mogelijk zou maken of een andere API en een andere benadering van de hele problematiek zou gebruiken?

Ik kocht namelijk een module met meerdere 7 segmenten en er was een "officiële bibliotheek" voor van de fabrikant. Ik heb een andere bibliotheek gemaakt voor dezelfde module. Wat nu? Zou mijn bibliotheek in de centrale opslagplaats moeten staan ​​als 'de enige bibliotheek voor deze HW' of zou daar de 'officiële bibliotheek van de fabrikant' moeten staan? Merk op dat als ze allebei zouden zijn, het de door jou gevraagde 'een en slechts één 'bibliotheekpunt. Als je de fabrikant een niet toestaat, dan zou' de enige 'veel functies missen, zoals geïntegreerde buffer voor getallen, eenvoudige objectinterface, eenvoudig voorbeeld, hoe het te gebruiken en er zou een harde afhankelijkheid zijn op één specifieke timer en generiek niet-object, alleen functionele API, waarvoor de gebruiker op de een of andere manier gehele getallen in enkele cijfers moet breken - klinkt niet zo goed. Als je mijn bibliotheek niet toestaat, zou de gebruiker het bovenstaande hebben, maar zijn weergave zou vernieuwen slechts 10x per seconde met knipperen en het achterlaten van spoken van andere cijfers overal, terwijl de processor volledig wordt gebruikt en de documentatie voornamelijk in het Chinees is. En de gebruiker zou een verversingssnelheid van 100x per seconde missen met bijna geen gebruik van de processor, mooie schone cijfers EN tekens (mogelijk ook door de gebruiker gedefinieerd). - Ook niet goed.

In de huidige staat van chaos kan de gebruiker (misschien jij of iemand anders) de bibliotheek gebruiken, die beter past bij zijn behoeften (of het nu gaat om eenvoud en native integer-ondersteuning, of om het nu schoon snelle vernieuwing en laag CPU-gebruik) of combineer beide samen, waardoor de derde plaats wordt met snelle vernieuwing EN eenvoudige manipulatie van gehele getallen EN door de gebruiker gedefinieerde tekenset, MET mooie object-API en rijke documentatie. Er is maar één persoon voor nodig met wat tijd en toewijding, waardoor het gemakkelijk is voor beginners en wat Engelse vaardigheden en basiskennis van objecten en hoe "officiële Arduino-bibliotheken" zijn verpakt, zodat de IDE ze gemakkelijk kan importeren. (En zo iemand zou het moeten doen en het moeten bijdragen aan de Arduino library packager).

Ik zou het niet doen - voor mijn behoeften is de functionele API veel beter en eenvoudiger te gebruiken, neemt minder bytes uit het geheugen en minder CPU-cycli en heb ik geen behoefte om de bibliotheek te verbeteren op manieren die ik niet zou gebruiken. Ik gebruik ook geen Arduino IDE, ik gebruik eenvoudige Makefile om de programma's te bouwen en te uploaden, dus ik kan gemakkelijk een goede teksteditor gebruiken (in mijn geval vim) en hoef niet te vechten met IDE-Notepad-parodie.

Onder de goedkeuring van uw model door Big Central Authority zou het mij helemaal niets schelen om Arduino te gebruiken en u zult vastzitten aan de Chinese versie, als die er al is (omdat het daar niet zou komen door gebrek aan goede Engelse documentatie en het juiste pakketformaat ook).

#8
  0
scls
2018-09-06 16:19:23 UTC
view on stackexchange narkive permalink

http://downloads.arduino.cc/libraries/library_index.json biedt een lijst van alle bibliotheken die beschikbaar zijn in Arduino Library Manager.

Ik heb dit bestand gebruikt om https://github.com/scls19fr/arduino_libraries_search Het is een Python Pandas-script om te zoeken naar Arduino-bibliotheken die overeenkomen met enkele trefwoorden en om uit te voeren naar een Excel-bestand.

Je kunt ook Arduino-bibliotheken vinden met:



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...