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);
}
}