このモジュールは、Vitcon IOTサーバーと通信を行うことができます。
Class
・BrokerComm
Public Memeber Function
・void SetTimeout(uint32_t ms) : 通信Timeoutを設定します。単位ms. Timeout発生時
のサーバーとの接続を切断し、再接続を行います。
・void SetInterval(uint32_t ms) : 通信の成功後、次の通信までの待機時間を設定しま
す。単位:ms.
・void Run() : プロセス進行
Usage
BrokerCommクラスはコンストラクタでIOTItem配列と数、サーバーから割り当てられたdevice idとserial port1つを引数として要求します。
class BrokerComm
{
public:
.
.
BrokerComm(Stream *stream, const char *device_id, IOTItem **items, uint8_titem_count);
.
.
したがって、宣言時、少なくとも下記のようなコードが必要です。
IOTItem *items[ITEM_COUNT] = { &item1. &item2, … }; // your items
const char device_id[] = “12345678901234567890123456789012”; // your device id
BrokerComm comm(&Serial, device_id, items, ITEM_COUNT);
通信に使用するserial portは、コンストラクタでbeginを自動的行わないため、setupから手動で行います。使用baudrateは250000です。
void setup()
{
Serial.begin(250000);
.
.
.
Timeoutと interval 時間を設定します。設定しない場合default値は1000msです。
void setup()
{
.
.
comm.SetTimeout(2000);
comm.SetInterval(200);
.
.
loop 関数でRun()を実行すると自動的にサーバーとの通信が行われます。
void loop()
{
.
.
comm.Run();
.
.
Restrictions
該当モジュールを使用するときはArduinoの遅延関数であるdelay()を呼び出すと、問
題が発生することがあります。時間遅延が必要な場合、
millis()
などの時間関数を応用して使用しなければなりません
Delay Example
BlinkWithoutDelay