「簡単にインターネットにつながる」がコンセプトのIoT向け開発ボードNefryBTとenebularをいろいろ連携していきたいので、まずFirebaseと連携してみようと思います。
準備するもの
準備するものは以下のとおりです。
- NefryBT本体
- Nefry BT+専用小型ディスプレイセットで購入できます
- Firebase
- dotstudioさんの Nefry BTでFirebaseライブラリを使う を参考にFirebaseを作っておきましょう
ソースコード
ソースコードは以下のとおりです。 ソースコード内の // 設定を書き換える となっているだけ自分の設定に書き換えます。
#include <Nefry.h>
#include <NefryFireBase.h>
#include <NefryDisplay.h>
NefryFireBase firebase;
// Nefryメッセージ用Buffer変数
char NefryTextBuffer[50];
void setup() {
// ボタンの有効化
Nefry.enableSW();
// FireBaseに接続するための設定
firebase.begin("APPID.firebaseio.com"); // 設定を書き換える
}
void loop() {
// SWが押されたらダミーデータを送る
if (Nefry.readSW()) {
// ランダムの値を生成
int sensorValue = random(300, 500);
// ディスプレイ表示
Serial.print("sensorValue:");
Serial.println(sensorValue);
sprintf(NefryTextBuffer,"data: %d",sensorValue);
NefryDisplay.print(NefryTextBuffer);
// Firebaseにデータを送る
DataElement elem = DataElement();
elem.setValue("sensor", sensorValue);
firebase.write("Nefry", &elem);
// ディスプレイ表示
Serial.println("send ok...");
sprintf(NefryTextBuffer,"sended...");
NefryDisplay.print(NefryTextBuffer);
Nefry.ndelay(500);
}
}
書き換える設定は
// FireBaseに接続するための設定
firebase.begin("APPID.firebaseio.com");
APPID.firebaseio.com の部分は Nefry BTでFirebaseライブラリを使う 参考にして、今回使うFirebaseを反映しておきます。
Firebaseコンソールで確認してみる
まず、動作確認です。Nefry BTがネットワークにつながっている前提で動かしてみます。

押すと反応します。

ランダム値 321 が送られました。
早速、Firebaseコンソールで値を見てみましょう。

無事反映されています!
enebularと連携してみる
Discover Flowからフローを持ってくる
Discover Flowからフローを持ってきましょう。
今回のフローはこちら flow-simple-firebase-nefrybt です。

Discovering Assetsのドキュメントを参考にして、表示されたらForkボタンを押して読み込みます。
NefryBTと共通のFirebase設定を反映
NefryBTで使っているFirebaseの設定を使うようにフロー編集します。

取り込まれたフローを編集します。

表示するとこのようなフローが表示されています。

このノードをダブルクリックします。

設定が表示されるので、鉛筆ボタンを押して編集します。

APPIDのところを、NefryBTのFirebase設定でも使っていたURLの http:// と .firebaseio.com/ を取りのぞいたサブドメインの部分のみを入力します。例えば、
http://hogehoge123.firebaseio.com/
の場合は
hogehoge123
の部分です。

入力したらUpdateを押します。

すると、もう一つ前の設定画面に戻るので、赤枠のところが設定したAPPIDになっているかを確認してDoneを押します。

最後に設定を反映するためデプロイを押しましょう。

グレーになったらデプロイ完了です。

うまく設定ができるとFirebaseノードの下部がreadyになります!
enebularとのNefryBTの連携確認
先ほどのFirebaseコンソールで確認したときと同じように、enebularとのNefryBTの連携確認してみます。

差し込んで起動します。

右エリアのタブをdebugタブにします。

ボタンを何度も押してみます!

debugタブでリアルタイムに反応します!
うまくいきました
NefryBTとenebularをFirebaseと基礎的な連携ができました。NefryBT側でFirebaseのドキュメントがあり、enebular側でのつなぎ方と作法が近かったため、とても簡単につながったのはありがたいです。
すぐにインターネットにつながるIoTデバイスNefryBT、このFirebaseの仕組みを軸にして、enebularの機能とつないで行こうと思っています!
