nefry
ESP32
NefryBT

NefryBT向けAzureIoTHubライブラリ紹介

Nefry Azure IoTHubライブラリ

このライブラリではAzure IoTHubに接続することができます。
Azure IoTHubと連携することでグラフ化や人工知能などの他のAzureのサービスと連携することができます。

紹介記事:ESP8266版 Azure IoTHubにつないでみた

どんなことができる?

Azure IoTHubと連携することでデータの蓄積、グラフ化や人工知能などの他のAzureのサービスと連携することができます。

関数情報

begin

Azure IoTHubにつなぐために必要な初期化処理をします。起動時に一度だけ呼び出してください。
引数が違うものが2つありますがどちらか一つ呼び出してください。

NefryのWebConfigで設定する値を設定する場合

ここの引数で設定した値がWebConfigで設定できる欄の値になります。

引数 int 0-9の間で入力してください。デフォルトは0になります。
返り値 bool true:初期化処理成功 fales:初期化処理失敗
具体例 Azure.begin(1);

直接プログラム内で設定する値を設定する場合

プログラム内で直接値を設定する場合はこちらで設定することができます。

引数 String IoTHubで取得したキーを入力します。一例として次のような値を設定します。HostName=YourHost.azure-devices.net;DeviceId=YourDevice;SharedAccessKey=
返り値 bool true:初期化処理成功 fales:初期化処理失敗
具体例 Azure.begin("HostName=YourHost.azure-devices.net;DeviceId=YourDevice;SharedAccessKey=");

connect

Azure IoTHubにつなぐために必要な処理をします。

引数 int リトライ回数を設定できます。デフォルトは3になります。
返り値 void
具体例 Azure.connect(1);

push

Azure IoTHubにデータを送信します。

引数 DataElement* IoTHubに送信するデータを指定します。
返り値 void
具体例 Azure.push(&data);

setCallback

Azure IoTHubからデータを受信したときにコールバックされるものになります。

引数 GeneralFunction コールバックで呼び出される関数を指定します
返り値 void
具体例 Azure.setCallback(azureCallback);

サンプルプログラム

ネットワークに接続している際に2秒ごとにA2ピンの入力値をAzureIoTHubにアップロードし、またAzureIoTHubから通知がある場合、それをシリアルポートで出力します。

AzureIoTHub
#include <NefryAzureIoTHub.h>
#include <Nefry.h>
void setup() {
  Azure.begin(); //YourKey Example:"HostName=YourHost.azure-devices.net;DeviceId=YourDevice;SharedAccessKey=" をConfigで入力します
  Azure.setCallback(azureCallback);
}

void azureCallback(String s) {
  Serial.print("azure Message arrived [");
  Serial.print(s);
  Serial.println("] ");
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    Azure.connect();
    DataElement a = DataElement();
    a.setValue("EspAnalog", analogRead(A2));
    Azure.push(&a);
    Nefry.println("pushed");
    delay(2000);
  } else {
    Nefry.println("Not connected to the Internet");
    delay(250);
  }
}