利用可能なすべてのArduinoライブラリの中央リポジトリはどこにありますか?


11

現在; 新しいハードウェアで新しいArduinoプロジェクトを開始するとき、私が最初に行うことは、このハードウェアのArduinoサポートをもたらすサードパーティライブラリを探すことです。

私が最初に見る場所は:

一般的に、サポートライブラリがないか、いくつかの異なるライブラリ(1つだけが見つかることは非常にまれです)が、さまざまなレベルのドキュメント、さまざまなレベルのテストでさまざまな場所に見つかります...

必要なライブラリを見つけたら(場合によっては、いくつか試してみる必要があります)、Arduinoライブラリフォルダーにダウンロードし、使用しましたが、忘れてしまいました。

このプロセスは面倒です。

  • さまざまなオプションを使用した手動検索、必ずしも十分に文書化されていない
  • Arduinoライブラリへの手動ダウンロードとインストール
  • プロセスにバージョン管理はありません(ライブラリのすべてのバージョンは同じ名前を持っているため、Arduinoライブラリフォルダーに共存できません)。

arduinoで利用可能なすべてのライブラリを備えた中央リポジトリがあればよいのですが、次のものがあります。

  • 説明(サポートされているハードウェア、サポートされているボード)
  • ソースコード
  • ドキュメンテーション
  • バージョン

また、プロジェクトのビルド時にこのリポジトリにアクセスするためのツール(Arduino IDEまたは外部)。

実際、Arduinoの一種の魔術師です。

かつてArduinoフォーラムでいくつかの議論が行われたのを見てきましたが、彼らはどこにもリードしていなかったようです:

(コミュニティや個人から、なぜそうではないのか)何かを使用可能にする他のオプションはありますか?


これは、誰かが別の言語の類似体を必要とする場合、PythonのPyPi pypi.python.org/pypiおよびvirtualenvに似ています。
サイバーギボンズ2014

もう1つの優れたソースは、PJRC pjrc.com/teensy/td_libs.htmlです
Cyber​​gibbons

ライブラリタグwikiは、そのようなデータベースを作成するのに適した場所になると私に言います。35,000文字までは、非常に包括的なリストを作成するための十分なスペースを提供する必要があります。
asheeshr 2014

@AsheeshRなんで?ただし、最初に、各ライブラリエントリに必要なもの(およびオプション)の明確な説明を定義して、追加された各エントリに対してこの3template3を追跡できるようにします。
jfpoilpret 14

@jfpoilpretそれはArduinoメタディスカッションのトピックです。
asheeshr 2014

回答:


4

私が働いている会社が解決しようとしている問題について説明しました。最近、biicodeと呼ばれる製品を発表しました。それはまさにあなたが探しているもののようです。

biicodeは、コードのオンライン中央リポジトリであり、次の機能を備えたクライアントツールです。

  • 初心者が使いやすく、上級ユーザー向けに構成可能
  • mavenと同じように推移的に依存関係を解決しますが、構成ファイルはありません。依存関係をソースコードから直接読み取ります。
  • 中央リポジトリ、誰でも自分のライブラリをアップロードできます。ウェブで探索、ナビゲート、発見できます
  • バージョン管理:バージョンの互換性をチェックし、依存関係の安全な更新を可能にします
  • 任意のテキストエディターで使用できます(オプションのEclipseサポートがあります)。
  • プロジェクトのセットアップとコンパイルを管理し、生成されたファームウェアをボードにフラッシュします
  • それはプラスとして素晴らしいシリアルモニターを持っています

ここで簡単なデモを見ることができ、ドキュメントで詳細を読むことができます


2014年に回答、2018年はまだ生産中ですか?
パロフィ、

いいえ、jfrogのconan.ioになり、arduinoがサポートされているかどうかはわかりません
hithwen '20 / 08/20

4

この質問が最初に行われたので、Arduino IDEに組み込まれたArduino Library Managerがあります。そこでライブラリを検索してインストールできます。

ライブラリマネージャーの動作に関する情報は、https//github.com/arduino/Arduino/wiki/Library-Manager-FAQにあります。

ただし、ライブラリを一覧表示する公式のWebサイトはないため、Arduino Library Managerの同じデータに基づいて、この非公式のサイトを最近作成しました。

http://www.arduinolibraries.info/


3

Arduinoの遊び場LibraryList標準ライブラリのリストは、そのための公式ページのように見えます。


はい。しかし、それらはライブラリへのリンクを含む短いドキュメントの単なる組み合わせであり、「ベストエフォート」のメンテナンスを行っているようで、何らかのパッケージマネージャからそれを使用したい場合、混乱のように見えます。
jfpoilpret 2014

2

このようなレジストリを自分で作成したい場合は、Node.jsのパッケージマネージャーであるnpmを見てください。これは、オープンソースであり、説明する範囲が非常に似ています。Npmは両方です:

  1. 各ライブラリに関するメタデータを備えた中央レジストリ:
    • 名前、説明、キーワード、ホームページ、作者、寄稿者
    • バージョン番号、原則としてセマンティックバージョニングに準拠
    • ソースリポジトリのURL(svn、git、github、gitlab、bitbucket ...)
    • 互換性情報(この場合は、Nodeのバージョンに関するものです)
    • ライセンス
    • 依存関係
  2. コマンドラインツール:
    • レジストリを検索する
    • パッケージをダウンロードしてインストールし、依存関係を再帰的に追跡する
    • レジストリで独自のパッケージを公開および更新する。

たとえば、人気のあるライブラリのページと、そのメタデータを保持しているJSONファイルをご覧ください。


1

なにもない。残念ながら、関心のある各ライブラリを手動で検索する必要があります。

このような中央レポジトリの作成に興味がある場合、それはすばらしいと思いますが、これを行うための正しいフォーラムではありません。


それでは、このようなリポジトリを作成する場合、何をアドバイスしますか?
jfpoilpret 2014

ええと… どういう意味ですか?基本的にはウェブサイトです。もしあなたが本当にそれが好きなら、arduinoテキストエディタにパッケージマネージャのものを追加するかもしれませんか?いつものように、主要な問題は人々に実際にそれを使わせることです。
コナーウルフ

1
率直に言って、たとえarduinoテキストエディターにファンシーなパッケージマネージャーを追加したとしても、arduinoエディターは恐ろしいものであり、人々はそれをすぐに使用するのをやめる傾向があるため、どのような採用になるかわかりません。。そのため、ほとんど別のパッケージマネージャーが必要になるため、ライブラリのインデックス、簡単な説明、およびそれらが実際にホストされている場所へのリンクを備えた基本的なWebサイトをお勧めします。
コナーウルフ

それも私の考えでした。目的はライブラリをホストすることではなく、有用なメタデータとともにライブラリへの参照を維持することです。Arduino IDEについては、私は同意しますが、あまり使用しませんが、外部ツールは後で簡単に統合できるはずです。
jfpoilpret 14

@jfpoilpret-外部ツールの問題は、パッケージマネージャーと同様に、依存関係の解決とバージョン要件の管理です。arduinoの人々は、後方互換性を維持することでそれほど煩わしく思われることはなく、多くのライブラリーには「arduino verson {blah}」が必要です。私は本当に参考文献のリストだけが最善の策だと思います。より複雑なものは後で来る可能性があります。
コナーウルフ

0

Arduino IDEと関連ライブラリは、ほとんどのOSリポジトリにインストール可能なソフトウェアとして含まれています。残念ながら、これらのリポジトリのバージョンは通常、数か月または数年古くなっています。これは、本当の問題は、OSリポジトリマネージャーに新しいリリースが利用可能になったときに組み込むようにすることです。

この問題は、OSのバージョンが最新のリリースに更新されていない場合に悪化します。これは、古いソフトウェアリポジトリを使用する必要があるためです。

完璧な答えではありませんが、OSの最新リリースを使用していることを確認し、そのOSのリポジトリマネージャーにArduino IDEの最新バージョンを組み込むように奨励する必要があります。

別の方法としては、Arduino.orgホームページにアクセスし、指示に従って最新のIDEと関連ライブラリをダウンロードしてインストールします。これはおそらく.tar.gzファイルの形式になるため、必要なソフトウェアを解凍、解凍、およびビルドする方法を知る必要があります。


0

あなたの願いはかなわないと思います。すべてのArduinoライブラリが1か所しかなく、ライブラリがないことは許されず、すべてのライブラリは品質、テスト、およびドキュメント(+コードの品質、有効性、読みやすさ)のすべての商業基準に耐える必要があるためです。つまり、専門家と同様の資格のあるチームのみが一部のArduinoライブラリを公開することが許可され、すべてが単一のエンティティによって管理され、機能的に重複または類似するライブラリの削除が強制されます。そして、そのような実体は落ち着くか、後で悪になります。

私はArduinoが無料であることを気に入っています。これは、いくつかのハードウェア(私が持っている、購入したい、または自分で作りたいと思っている)のいくつかの機能(使用したい)をサポートするためのライブラリを自由に作成できることも意味します実験的で不安定かもしれませんが、私にとっては楽しいです)。

Big Central Authorityが有効であれば、私は別の無料のプラットフォームを選択するだけでなく、私の趣味であるエレクトロニクスで遊ぶ趣味の完璧ではなく商業的に認定された結果よりも訴えられ、私の自由時間の目標ではなく、彼らのために働くことを余儀なくされます。

そして、あなたのBig Central Athorityが私に彼らのために自由労働の仕事を強制することを強制しない場合は、いくつかの一般的なハードウェアの1つの特別な使用を可能にする私のライブラリーについてどうしますか?すべてのHW機能を留年問題で完全に解決し、ドキュメントで自分の自由な時間を過ごすのが楽になるほどだけドキュメント化します。そして、同じHWに対して別のライブラリが発生し、機能の別の部分が有効になるか、問題のある全体に対して別のAPIと別のアプローチが使用されるとしたらどうでしょうか。

つまり、私はいくつかのマルチ7セグメントモジュールを購入し、その製造元からの「公式ライブラリ」がありました。同じモジュール用に別のライブラリを作成しました。今何?私のライブラリーは「このHWの唯一のライブラリー」として中央リポジトリーにあるべきですか、それとも「メーカーの公式ライブラリー」があるはずですか?両方が存在する場合、要求された「1つだけ」のライブラリポイントが破損することに注意してください。製造元の1つを許可しない場合、「唯一の1つ」は、数値の統合バッファ、単純なオブジェクトインターフェイス、簡単な例、その使用方法など、多くの機能が欠落し、特定の1つのタイマーとジェネリックに強く依存します。非オブジェクト、単なる関数型API。整数を1桁に分割する必要があります。あなたが私のライブラリを許可しない場合、ユーザーは上記のものを持っていますが、彼のディスプレイは毎秒10倍しか更新されず、点滅し、他の数字のゴーストがいたるところに残りますが、プロセッサーとドキュメントは完全に中国語で使用されます。また、プロセッサをほとんど使用せず、すっきりした数字と文字(おそらくユーザー定義)を使用すると、ユーザーは毎秒100倍のリフレッシュレートを逃すことになります。-また、よくありません。

現在の混乱状態のユーザー(多分あなたまたは他の誰でも)は、ライブラリを使用できます。これは、彼のニーズにより適した(単純でネイティブな整数のサポート、またはクリーンで高速な更新と低いCPU使用)か、両方を組み合わせて使用​​できます。高速な更新とシンプルな整数操作とユーザー定義の文字セットを使用して3番目のオブジェクトを作成します。オブジェクトAPIとドキュメントが充実しています。少しの時間と献身で1人で十分であり、初心者やいくつかの英語スキルとオブジェクトの基本的な知識が簡単になり、「Arduinoの公式ライブラリ」がどのようにパックされているので、IDEはそれらを簡単にインポートできます。(そしてそのような人はそれを行い、Arduinoライブラリパッケージャーに寄稿する必要があります)。

私はそれをしません-私のニーズは、機能的なAPIがはるかに良く、使いやすく、メモリからのバイト数を減らし、CPUサイクルを少なくすることです。そして、私が使用しない方法でライブラリを改善する衝動はありません。また、私はArduino IDEを使用せず、簡単なMakefileを使用してプログラムをビルドおよびアップロードするため、優れたテキストエディター(私の場合はvim)を簡単に使用でき、IDE-Notepad-parodyと戦う必要がありません。

Big Central Authorityがモデルを強制する場合、私はArduinoを使用することをまったく気にしません。中国語版があっても、それで立ち往生します(英語のドキュメントが適切でなく、適切なパッケージ形式もないため、中国語版はありません)。 。


0

http://downloads.arduino.cc/libraries/library_index.jsonは、Arduino Library Managerで利用可能なすべてのライブラリのリストを提供します。

このファイルを使用してhttps://github.com/scls19fr/arduino_libraries_searchを作成しましたこれは、いくつかのキーワードに一致するArduinoライブラリを検索し、Excelファイルに出力するためのPython Pandasスクリプトです

Arduinoライブラリは次を使用して見つけることもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.