Ardiuno Library Manager

Arduinoで自分用のlibraryやセンサーを扱うものを使った人はとても多いと思う。というか使ったことが無い人は居ないと思うほど。
既存のlibraryを使うのもだけど、自分で作ったライブラリを公開して広く多くの人に使って、フィードバックを貰うことが出来る。ZIPファイルとして用意して個別にダウンロードしてもらうというのもアリだけど、Arduinoのlibrary群に追加することも出来る。

メニューの[スケッチ]->[ライブラリをインクルード]->[ライブラリを管理]で自分で作ったライブラリを公開することが出来る。その方法を適当に書いておく。

これは自分が公開しているCoAPライブラリ

■ ライブラリを作る

公開するまでの大まかな流れは…

1. github上でライブラリを作る。
2. Arduinoのissueにあげる。

という非常に簡単な流れになる。ライブラリは開発してrelease tagを付けておくと自動で更新されて、Arduino IDE上でも更新された物をインストール出来るようになるという便利な感じ。

まず最初にライブラリを作る。自分のgithubのであれだけど、サンプルはこんな感じで。CoAP-simple-library このlibraryはCoAPというプロトコルの基本的なPUT/GET(その他)をコールバック形式のコード表現で使える。
内容はともかく、何かライブラリを作ったら次のファイルを含めておく。

library.properties
keybords.txt
license.txt

まぁ、ぶっちゃけ仕様はここに書いてあるArduino-IDE 1.5: Library specificationとおりに、自分のライブラリに合わせて記載しておく。あとreleaseも忘れずに適当にバージョンを付けてtagを付けておく。license.txt は必要じゃないけど、MIT/Apache/BSD…etc とかライセンスを記載しておいた方が良いっすね。

■ issueを送る

ライブラリを作ったらArduinoに対してissueを送る。自分の場合はこんな感じ。わりとすぐ返事が来る。指摘された所を修正&updateすると、Arduino libraryに登録されてIDEからも検索して見つけられる。
おまけでArduino IDE以外にも、なぜかPlatformIOでもlibraryが検出できるようになっていた。

運用は全然難しくなくて、コードを修正して新バージョンにしたくなったら、github上でreleaseをするとArduino/PIOともに反映される。リードタイム的には半日以下でIDEでも新しいバージョンを見ることが出来るようになる。

■ おまけ

内容は全部英語で書くこと(当然だけど)。あと、リリースするとissueやPull Requestがあったりする。自分の場合は他のMQTT libraryもだけど、多くは「つかえねぇ」「うごかねぇ」というのが大半で、MITなOSSだからコード見れば&しらねーよ的な感じではあるけど、この辺のやりとりで英語力が鍛えられた気がする。たまに、英語のタイポ・表現ミスのPRもあったりして、何気に嬉しかったりも。あと論文とかでも使われたりとかもね、上のCoAPのやつだとちょっとググったら出てくるこの辺とか。

IoT Latency and Power consumption: Measuring the performance impact of MQTT and CoAP
Comparative Analysis of IoT Communication Protocols
MQTT i CoAP integracija Arduino uređaja sa thethigs.io cloud platformom

まぁ…折角作ったライブラリがあれば、多くの人に使ってもらってフィードバックを貰った方が間違いなく良いから、Arduino IDE library(あとPIO)に登録してみるのも良いと思われ。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください