VitconIOTItem

このモジュールは、Vitcon IOTサーバーとの通信に使用されるIOTアイテムを定義したもので、
1つの抽象クラスと、ここから継承されている4つの派生クラスで構成されています。

Class

・IOTItem:基本抽象クラス
・IOTItemBin:binaryデータを扱う
・IOTItemInt:int32_t型のデータを扱う
・IOTItemFlo:float型のデータを扱う
・IOTItemStr:文字列データを扱う
・IOTItemPsh:Push通知の呼び出し時に使用
各派生クラスは、生成時に呼び出されるコンストラクタによって、データの転送方向が変化します。

Public Memeber Function

Common

抽象クラスで提供される仮想関数です。
・virtual const uint8_t * GetData():サーバーから取得した値をreturnする。
・virtual void SetData(const uint8_t *):サーバーに転送する値を設定する。
・virtual void Written():サーバーで値が書かれたときに実行される関数

Specific

派生クラスごとにそれぞれ存在するメンバー関数です。
・[type] Get():サーバーから取得した値をreturnする。クラスごとにreturnタイプが異
なる。
・void Set([type]):サーバーに転送する値を設定する。クラスごとに引数の型が異な
る。

Usage

各派生クラスは、引数がない形態、関数を引数として受け取る二つの形態のコンスト
ラクタを持ち、呼び出しコンストラクタによって、データの転送方向が変化します。

class IOTItemBin: public IOTItem
{
  public:
    IOTItemBin();
    IOTItemBin(void (* func)(bool));
    .
    .
    .

サーバーにデータを転送するように設定するためには、

IOTItemBin item; // Like this、transfer「item」data to server

サーバーに転送するデータを設定するためには、Set()関数を使用します。

void loop()
{
  .
  .
  item.Set([data]);
  .
  .

アイテムを、サーバーからデータを持ってくるように設定するためには、

IOTItemBin item(callback_function); // This way、request「item」data from the
server

データを持ってくると、引数として渡されたcallback関数が呼び出され、該当関数からデータ処理が可能になります。

void callback_function(bool val)
{
  .
  .
  blah blah
  .
  .
}

他のメンバー関数はVitconBrokerCommモジュールで使用するためのもので、ユーザーが

Set()

以外のメンバー関数を呼び出すことはありません。

GitHub-VITCON