Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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を見ていると、刻々と値が更新されているのが分かると思います。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away