LoginSignup
19
11

More than 5 years have passed since last update.

ArduinoからFirebase(データベース)にアクセスする

Posted at

Arduinoの準備

スイッチサイエンスさんで販売されているESPr Develper(ピンソケット実装済み)を使いました。
このESPr Developer(に載っているESP-WROOM-02)をArduino IDEで開発できるようにします。
手順はスイッチサイエンスさんにて公開されています。
ESP-WROOM-02開発ボードをArduino IDEで開発する方法

Firebaseの準備

FirebaseのRealtime Databaseを用意します。
手順はネットにたくさん公開されているので、ここでは省略します。
データベースのルールは以下のように誰でも読み書きできるようにしておきます。

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

FirebaseArduino

ArduinoからFirebaseのAPIを叩くためのFirebaseArduinoというライブラリが公開されています。これをArduinoIDEに取り込みます。
まずzipファイルでダウンロードします。

次にArduinoIDEから「スケッチ-ライブラリをインクルード-.zip形式のライブラリをインストール...」と選択して、さきほどダウンロードしたzipファイルを選択します。

ライブラリに付属するサンプルをベースに作成します。
「ファイル-スケッチの例-FirebaseArduino-FirebaseDEMO_ESP8266」と選択してサンプルを開きます。

WIFI_SSIDとWIFI_PASSWORDは自身の環境ものに書き換えます。
FIREBASE_HOSTはFirebaseのRealtimeDatabaseのところで表示されている

https://XXXXX.firebaseio.com/

の「XXXX.firebaseio.com」に置き換えます。
FIREBASE_AUTHは今回は使わないのでテキトーでいいです。
以下の部分を書き換えます。

//Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.begin(FIREBASE_HOST);

Firebase.beginのパラメータからFIREBASE_AUTHを外します。
これで書き込もうとするとFirebaseArduinoのライブラリ内でコンパイルエラーになりました。
とりあえず対処療法としてコンパイルエラーにならないように直接編集しておきます。

Config kDefaultConfig = {
    "",  // firebase host
    "",  // firebase auth
    "/fthing",  // path in firebase
    "",  // wifi ssid
    "",  // wifi key
    0.1,  // analog activation threshold
    0,//D1,  // digital in //←とりあえず0に
    BUILTIN_LED,  // digital out
    A0,  // analog in
    0,//D1, // analog out // ←とりあえず0に
    0,//D0, // config mode button // ←とりあえず0に
  };

D1、D0が見つからない、というエラーなので上記ではとりあえず適当な数字で置き換えています。

さて、これでArduinoに書き込んでからFirebaseのRealtimeDatabaseを見ていると、刻々と値が更新されているのが分かると思います。

19
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
11