Receive an Event

次にobnizOSからオンラインになったときにイベントを受け取り、オンラインの時にLEDを光らせるプログラムを作成します。

DevKitCで行った場合のサンプルプログラムを用意しました。
12ピンにLEDのアノード(足の長いほう)をつなぎ、GNDにLEDのカソード(足の短いほう)をつないでください。

#include <obniz.h>
#define LED_IO 12
bool onlineFlg = false;

void onEvent(os_event_t event, uint8_t* data, uint16_t length) {
  switch (event) {
  case PLUGIN_EVENT_NETWORK_CLOUD_CONNECTED:
    Serial.println("cloud Connected");
    onlineFlg = true;
    break;
  case PLUGIN_EVENT_NETWORK_CLOUD_DISCONNECTED:
    Serial.println("cloud Disconnected");
    onlineFlg = false;
    break;
  }
}

void setup() {
  Serial.begin(115200);
  Serial.println("online led start!");
  obniz.onEvent(onEvent);
  obniz.start();
  pinMode(LED_IO, OUTPUT);
}
void loop() {
  digitalWrite(LED_IO, onlineFlg);
  delay(500);
}

このコードを環境構築ずみのArduinoIDEでESP32のボードに書き込んでみましょう。

前もってネットワークにつながるように設定をしておきましょう。

起動して、しばらくたつとシリアルモニターに「cloud Connected」と表示されLEDが点灯することを確認できたでしょうか?

今回は、obnizクラウドに接続できた時のイベントのみ使用していますが、ほかのイベントも複数あります。詳細はドキュメントをご覧ください。