HOME
VitconMQTTは、ArduinoデバイスでVitcon WIFI-LINKでMQTTサービスを使用するためのライブラリです。
Compatiblity
AVR MCUを使用するArduino機器でのみ正常に動作します。他の機器や他のMCUを使用する場合の動作は保証できません。
Installing
Arduino sketchのLibrary Managerから、VitconMQTTと検索しインストールします。
もしくは、ReleaseファイルをArduino libraryフォルダから圧縮ファイルをダウンロードし、
Arduino libraryフォルダに圧縮ファイルを解凍することでライブラリのインストールが完了します。
一般的なArudino libraryフォルダの場所は、
C:\Users\(ユーザーID名)\Documents\Arduino\libraries\
gitコマンドを使用する場合
git clone https://github.com/vitcon-iot/VitconMQTT.git
から、VitconIOT保存場所全体を読み込むことができます。
Arduino sketchが実行されている状態でライブラリをインストールした場合、
Arduino sketchを再起動するか、Library Managerを一度実行すれば正常に使用することができます。
Modules
VitconIOTは2つのモジュールで構成されています。
・VitconMQTTComm
・VitconMQTTItem
VitconMQTTItemモジュールは、publishするMQTT topicとdataの定義です。
VitconMQTTCommモジュールはVitcon WIFI-LINKとの通信を担当するモジュールです。
How to use
Arduino sketchからVitcon IoTサーバーとの通信を行うためには、まずVitconMQTTCommヘッダをincludeしてvitcon namespaceを使用するように宣言します。
#include “VitconMQTTComm.h”
using namespace vitcon;
次は、defineでアイテム数を宣言します。
#define ITEMCOUNT 4
or
const int ITEMCOUNT 4
アイテム数の指定が終わったらpublishするアイテムを宣言します。アイテム宣言時に
は、引数としてtopic名を入力する必要があります。
MQTTItem Analog0(“A0”);
MQTTItem Analog1(“A1”);
MQTTItem Analog2(“A2”);
MQTTItem Analog3(“A3”);
Publishするアイテムの宣言が終わったら、アイテムの配列を宣言してアイテムを一つの配列で管理します。
MQTTItem *Items[ITEMCOUNT] = { &Analog0, &Analog1, &Analog2, &Analog3 };
MQTTCommクラスを宣言します。
MQTTCommはアイテム情報、個数とSerial port一つを引数として受け、入力した情報をもとに、WIFI-LINKにデータを転送するようになります。
該当Serial portにはWIFI-LINKが接続されていなければなりません。
MQTTComm comm(&Serial, Items, ITEMCOUNT);
topicをsubscribeしたい場合、callback関数を宣言しなければなりません。
Subscribe callback関数は文字列二つの引数を受けなければなりません。
void Subscribe(const char* topic, const char* data)
{
String gettopic = String(topic);
String getdata = String(data);
…
}
setup関数でクラスの初期化とSubscribe callback関数を設定します。
void setup()
{
comm.Init();
comm.SetSubscribe(Subscribe);
}
loop関数でアイテムにどのデータを送るかを決めることができます。
void loop()
{
Analog0.Set(analogRead(A0));
}
プロセスが継続的に実行できるように、loop関数comm.Run();を追加します。
void loop()
{
Analog0.Set(analogRead(A0));
comm.Run();
}
Examples
この項目は、VitconMQTTライブラリに含まれている例題になります。