如何使用 Github 开发 Arduino 库

How to use Github for developing an Arduino library

我想知道如何使用 Github 开发 Arduino 库,以便在安装 .ZIP 后 Arduino 库可以立即识别该库。

我知道 Git 我知道(一点)Arduino 和 似乎 Arduino 如何构建他的库文件使得很难使用 GitHub 一直没有复制文件.

在 Arduino 端,我的库文件应该位于以下结构中,由 Arduino 指定,因此 Arduino IDE 可以识别它。

My Documents > Arduino > libraries > Foo_lib

如果我想使用 GitHub 跟踪这个文件夹,我需要给它一个存储库名称。在这样做并尝试 download/clone 将跟踪的项目返回到我的 PC 之后,我采用了千种方式之一,如下所示,

  1. 我将 GitHub 软件指向 My Documents > Arduino > libraries >
  2. 按克隆。

但是,我最终得到以下文件夹结构

My Documents > Arduino > libraries > +GitHub_Repository_Name+ >Foo_lib

现在,由于我的 Foo_lib 不直接位于 libraries 文件夹下,Arduino IDE 无法识别它。

对于第 3 方库,我一直手动下载库并将其复制到 libraries 文件夹,但是,这是我自己开发的库的持续工作,所以我不要进行更改,然后将更改复制到跟踪文件夹。 (不是说这很难,而是说实在的,它杀了我 :)

另一方面,如果我选择在克隆后永久地将 Foo_lib 文件夹向上移动一个级别,现在我的 README 文件会留在以前的文件夹中并且 Git 怪胎那一堆文件被删除了,整个事情变得一团糟。

那些开发 Arduino 库的人是否有关于如何做到这一点的建议?

您需要将库放在存储库的根目录中。这不仅会解决您将存储库与 Arduino IDE 一起使用的问题,还会提供一些额外的好处:

  • 允许人们使用存储库主页上的克隆或下载 > 下载 ZIP 按钮从 GitHub 下载存储库,然后通过 [=27] 安装库=]Sketch > Include Library > Add .ZIP Library...,这要求库位于 .zip 文件的根目录中。
  • 允许您提交您的库以包含在 Arduino 库管理器索引中,这也需要此文件夹结构。

请注意,这并不一定意味着您的库的源文件必须位于存储库的根目录中。如果您不关心与 Arduino 的向后兼容性 IDE 1.0.x 您可以使用“1.5 库格式”,它允许您将库源文件放在名为 src 的子文件夹中:

https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#source-code

因此,要继续,您只需在克隆中重组存储库文件夹结构,提交更改,然后推送它们。

以下是 Arduino 如何构建其“1.5 库格式”库存储库的示例:

https://github.com/arduino-libraries/Ethernet

如您所见,该库位于存储库的根目录中。