題:
在哪裡可以找到所有可用Arduino庫的中央存儲庫?
jfpoilpret
2014-02-23 17:23:49 UTC
view on stackexchange narkive permalink

當前;當我使用一些新硬件開始新的Arduino項目時,我要做的第一件事就是尋找能夠為該硬件帶來Arduino支持的第三方庫。

我首先看到的是:

通常,我在不同位置使用不同級別的文檔,不同級別的測試找不到支持庫或幾個不同的庫(很少找到一個庫)。

一旦找到所需的庫(有時需要嘗試幾個),我將其下載到我的Arduino庫文件夾中,使用它後我就忘記了。

我發現此過程很麻煩:

p>
  • 帶有不同可能選項的手動搜索,不一定總是有據可查
  • 手動下載並安裝到Arduino庫
  • 在此過程中沒有版本控制(所有版本的一個庫具有相同的名稱,因此不能在Arduino庫文件夾中共存。

我希望有一個中央存儲庫,其中包含所有可用的arduino庫,

  • 說明(受支持的硬件,受支持的板)
  • 源代碼
  • 文檔 ​​li>
  • 版本

以及在項目構建時訪問此存儲庫的工具(Arduino IDE或外部)。

一種 maven a

我實際上已經在Arduino論壇上進行了幾次討論,但似乎沒有結果:

是否還有其他選擇可以使某些東西可用(來自社區或個人,為什麼不可以)?

如果有人需要另一種語言的類似物,則類似於Python中的PyPi https://pypi.python.org/pypi和virtualenv。
另一個很好的來源是PJRC https://www.pjrc.com/teensy/td_libs.html
有人告訴我[tag:library]標籤wiki是創建此類數據庫的好地方。約35,000個字符應提供足夠的空間來開發非常全面的列表。
@AsheeshR為什麼不呢?但首先,要定義每個庫條目的要求(以及可選的)的清晰描述,以便每個添加的條目都可以遵循此3template3。
@jfpoilpret這是[元]討論的主題。
只有在我們決定採用這種方式的情況下,@AsheeshR才可以;暫時,我想听聽別人怎麼說,特別是如果已經有一些工具可以朝這個方向發展。
關於在標記Wiki中保留“數據庫”的三個詞:“主要”“十”“ ance”。我不相信少數Arduino.SE用戶可以將這樣的列表保持最新和完整。注意,不再需要維護的庫也必須被考慮刪除。但是一定要證明我是錯的,那是以前發生的。
@jippie一個未維護的庫可能正在由項目使用,因此不應刪除它,而應將其標記為“自...以來未維護”。
@jfpoilpret很好的論點。我想說,您必須包括v.vv.vv版本,然後發布日期yyyy-mm-dd。
這個問題假設所有可能編寫庫的不同實體之間都有某種聯繫。我保證我已經編寫了在我自己的github站點以外的任何存儲庫中找不到的庫。並非不歡迎您使用它們。只是我認為積極推廣它們沒有任何優勢。
八 答案:
njh
2016-08-04 03:44:44 UTC
view on stackexchange narkive permalink

自從首次提出這個問題以來,現在就在Arduino IDE中內置了Arduino庫管理器。您可以在其中搜索和安裝庫。

此處提供有關庫管理器工作方式的信息: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

但是,沒有一個正式的網站列出這些庫,因此我最近根據Arduino庫管理器中的相同數據創建了這個非官方網站:

http://www.arduinolibraries.info/

hithwen
2014-03-26 13:36:56 UTC
view on stackexchange narkive permalink

您剛剛描述了我正在為之工作的公司正在嘗試解決的問題。我們最近發布了一種名為 biicode 的產品。看來正是您要找的東西。

biicode 既是一個在線代碼中央存儲庫,又是一個客戶端工具,具有以下功能:

  • 易於初學者使用,可進行更多配置高級用戶
  • 與maven一樣,可傳遞依賴項解析,但沒有配置文件:直接從源代碼讀取依賴項。
  • 中央存儲庫,任何人都可以上傳其庫。可以在Web上瀏覽,導航和發現它們
  • 版本控制:它可以檢查版本兼容性並允許安全更新依賴項
  • 您可以將其與任何文本編輯器(它具有可選的Eclipse支持)
  • 它管理項目的設置和編譯,將生成的固件刷新到板上
  • 它具有一個不錯的串行監視器作為加號

您可以在此處觀看快速演示,並在文檔中閱讀更多內容。

回答2014年,其2018年仍在生產?
不,現在是jfrog的conan.io,不知道它是否還支持arduino
The Guy with The Hat
2014-02-23 22:20:24 UTC
view on stackexchange narkive permalink

Arduino Playground LibraryList標準庫列表似乎是其官方頁面。

是的,但是它們只是簡短文檔的一部分,帶有指向庫的鏈接,並且似乎遵循“盡力而為”的維護,如果我們想從某種程序包管理器中使用它,將會導致混亂。
Edgar Bonet
2016-05-27 14:52:35 UTC
view on stackexchange narkive permalink

如果您想自己創建這樣的註冊表,則可能需要看看 npm,它是 Node.js的軟件包管理器,它是開源的,非常有用。要描述的範圍類似。 Npm都是:

  1. 具有有關每個庫的元數據的中央註冊表:
    • 名稱,說明,關鍵字,首頁,作者,貢獻者
    • 版本號,原則上符合源庫的語義版本
    • URL(svn,git,github,gitlab,bitbucket ...)
    • 兼容性信息(在此有關Node版本的情況)
    • 許可證
    • 依賴項
  2. 用於以下目的的命令行工具:
    • 搜索註冊表
    • 下載並安裝軟件包,並按照其依賴性進行遞歸
    • 在註冊表上發布和更新自己的軟件包。
  3. 請參見例如流行庫的頁面以及保存其元數據的 JSONfile

Connor Wolf
2014-02-23 20:50:02 UTC
view on stackexchange narkive permalink

沒有。不幸的是,您將不得不手動搜索您感興趣的每個庫。

如果您對創建這樣的中央存儲庫感興趣,儘管這很棒,但這不是正確的論壇它。

那麼,如果我們要創建這樣的存儲庫,您會提出什麼建議?
嗯...開始吧?你是什​​麼意思建議?它基本上是一個網站。如果您真的喜歡arduino文本編輯器,也許可以添加一個軟件包管理器?與往常一樣,主要的問題將是使人們真正*使用*它。
坦白說,即使您在arduino文本編輯器中添加了fancypants程序包管理器,我也不知道您將採用哪種採用方式,因為arduino編輯器“太糟了”,人們往往會停止使用它在相當短的時間內。這樣,您幾乎需要一個單獨的程序包管理器,所以我幾乎只想說一個基本的網站,上面有一個庫索引,一個簡短的內容以及指向“實際”託管它們的位置的鏈接是最好的選擇。
這也是我的想法,目的不是託管庫,而是保留對它們的引用以及有用的元數據。關於Arduino IDE,我同意,我不經常使用它,但是以後應該很容易將其與外部工具集成。
@jfpoilpret-外部工具的問題在於,與程序包管理器一樣,依賴關係解析和版本要求管理。 arduino人們似乎並不因保持向後兼容性而感到困擾,並且許多庫都需要“ arduino verson {blah}”。我真的認為,最好只是參考列表。任何更複雜的內容都可以在以後出現。
arvid
2016-05-26 23:36:57 UTC
view on stackexchange narkive permalink

在大多數OS存儲庫中,Arduino IDE和關聯的庫均作為可安裝軟件提供。不幸的是,這些存儲庫中的版本通常已經過了幾個月甚至幾年。這似乎是真正的問題在於,使OS存儲庫管理器在新版本可用時將其合併。

當您的操作系統版本尚未更新到最新版本時,此問題會更加複雜,因為這會迫使您使用過時的軟件存儲庫。

雖然不是完美的答案,但您應該可能要確保您使用的是最新版本的操作系統,然後鼓勵該操作系統的存儲庫管理器集成最新版本的Arduino IDE。

另一種方法是轉到Arduino.org主頁。並按照說明下載並安裝最新的IDE和關聯的庫。這可能是.tar.gz文件的形式,因此您將需要知道如何解壓縮,解壓縮和構建必要的軟件。

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

我認為,您的願望不會實現。我希望如此,因為所有Arduino庫只有一個地方,不允許有任何庫,所有這些庫將被迫接受質量,測試和文檔(+代碼質量,有效性和可讀性)的所有商業標準。意思是,只有專業人士和具有類似資格的團隊才能被允許發布一些Arduino庫,並且全部由一個實體來管理,這將強制刪除功能上重複的或類似的庫。這樣的實體會變遷或變壞。

我喜歡Arduino的免費性,這也意味著,我有自由編寫庫來支持某些功能(我想使用)硬件(我打算購買或想要使自己成為硬件-甚至處於試驗階段,甚至可能不穩定,但對我來說很有趣)。

在您的大中央政府有效的情況下,我只會選擇另一個免費平台,而不是因為我的業餘愛好玩電子產品而被起訴,獲得了不完美的商業證明,並被迫為電子產品工作,而不是我的業餘時間目標。

如果您的“大中樞”不會強迫我強迫他們免費工作,那麼我將如何對我的庫進行某種處理,以使其可以特殊使用一些通用硬件,並且即使我不能完全解決所有硬件功能,也要與我共享它?並且只記錄了這麼多資料,以至於我很願意花自己的空閒時間來參加documentat離子。而且如果針對同一硬件會出現另一個庫,該庫將啟用功能的另一部分,或使用另一個API和另一種方法來解決整個問題,那麼該怎麼辦?

也就是說,我購買了一些多7段模塊,並且它的製造商提供了“官方庫”。我為同一模塊製作了另一個庫。現在怎麼辦?應該將我的圖書館作為“該硬件的唯一一個圖書館”存儲在中央存儲庫中,還是應該將“製造商的正式圖書館”存儲在中央存儲庫中?請注意,如果同時存在這兩個圖書館,則將破壞您要求的“一個圖書館”。只有一個”庫點。如果不允許製造商一個庫點,那麼“唯一的”庫將缺少許多功能,例如數字的集成緩衝區,簡單的對象接口,簡單的示例,如何使用它以及存在硬依賴性在一個特定的計時器和通用的非對像上,僅是功能性API,這將要求用戶以某種方式將整數轉換為個位數-聽起來不太好。如果您不允許我的庫,則用戶將擁有以上內容,但其顯示將刷新每秒只有10x的速度,閃爍並留下其他數字的鬼影,而充分利用處理器和文檔主要是中文的。用戶幾乎沒有使用處理器,漂亮的干淨數字和字符(可能也是用戶定義的)而錯過了每秒100倍的刷新率。 -也不好。

在當前混亂的狀態下,用戶(也許您或其他任何人)都可以使用該庫,該庫更適合其需求(無論是簡單性還是本機整數支持,還是乾淨的)快速刷新和較低的CPU使用率)或將兩者結合在一起,從而以快速刷新,簡單的整數操作以及用戶定義的字符集,漂亮的對象API和豐富的文檔排在第三位。它只需要一個人的時間和奉獻精神,使初學者和一些英語技能以及對象的基本知識以及“官方Arduino庫”的打包方式變得很容易,因此IDE可以輕鬆導入它們。 (這樣的人應該這樣做,並將其貢獻給Arduino庫打包程序。)

我不會這樣做-因為我的需求是功能API更好,更簡單地使用,從內存中佔用更少的字節,更少的CPU週期,而且我不希望以我不會使用的方式來改進庫。另外,我不使用Arduino IDE,而是使用簡單的Makefile來構建和上傳程序,因此我可以輕鬆使用出色的文本編輯器(在我的情況下為vim),而不必與IDE-Notepad-parody戰鬥。

在大中央政府為您的模型提供支持的情況下,我根本不會在意使用Arduino,並且您會被中文版(如果有的話)所困擾(因為缺少良好的英文文檔和正確的軟件包格式,它無法在該版本中使用)也是如此)。

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

http://downloads.arduino.cc/libraries/library_index.json提供了Arduino Library Manager中所有可用庫的列表。

我使用此文件來創建 https://github.com/scls19fr/arduino_libraries_search這是一個Python Pandas腳本,用於搜索與某些關鍵字匹配的Arduino庫並輸出到Excel文件

您還可以找到Arduino庫使用:



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...