質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

解決済

FirebaseでFirebase.setIntでデータアップロードしているだけなのに、ダウンロード課金される。

MaeharaKenji
MaeharaKenji

総合スコア83

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

1回答

0リアクション

1クリップ

1146閲覧

投稿2021/01/26 12:28

編集2021/01/27 05:07

Firebaseというgoogleのクラウドサービスを勉強しています。

Firebaseでは、データをアップロードする分にならば、課金は発生しないということを聞きました。

試しにM5Stackを、1秒間ごとにインクリメントしたデータをFirebase.setIntでクラウド側にアップロードするプログラムを作成して実行してみました。

3日程度実行してみると、無料枠の10Gbyteから訳150Mbyteが消費してしまいました。

クラウド側にアップロードして、特にFirebase.getIntなどのダウンロード行為はしていないのですが、150Mbyte分課金されたようになるのはなぜでしょうか?

どうぞ、ご教示の程よろしくお願い致します。

cpp

#include <ArduinoJson.h> #include <IOXhop_FirebaseStream.h> #include <IOXhop_FirebaseESP32.h> #include <M5Stack.h> #include <WiFi.h> #define WIFI_SSID "*********" #define WIFI_PASSWORD "*********" // FirebaseのデータベースURL(ご自身のデータベースURLに変更してください) #define FIREBASE_DATABASE_URL "https://*******-default-rtdb.firebaseio.com" //timer interrupt variable. volatile unsigned long usecCount = 0; hw_timer_t *interrupptTimer = NULL; portMUX_TYPE mutex = portMUX_INITIALIZER_UNLOCKED; int secCount = 0; int emgAramCount = -1; int emgAramSoundCount = -1; //Timer count void IRAM_ATTR usecTimer() { portENTER_CRITICAL_ISR(&mutex); usecCount += 5; portEXIT_CRITICAL_ISR(&mutex); if(((usecCount / 1000000) % 60) > 0){ if(secCount > -1) { secCount++; } usecCount = 0; } } void setup() { M5.begin(); // Wi-Fi接続 WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.print("connecting"); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); // Firebase初期化 Firebase.begin(FIREBASE_DATABASE_URL); // WiFi Connected Serial.println("\nWiFi Connected."); Serial.println(WiFi.localIP()); M5.Lcd.setTextSize(3); M5.Lcd.setCursor(10, 100); M5.Lcd.println("Button Click!"); //interrupt timer setting //timerBegin is count per 100 microsec. interrupptTimer = timerBegin(0, 80, true); //interrupt method setting timerAttachInterrupt(interrupptTimer, &usecTimer, true); //interrupt timing setting. timerAlarmWrite(interrupptTimer, 5, true); timerAlarmDisable(interrupptTimer); portENTER_CRITICAL(&mutex); timerAlarmEnable(interrupptTimer); portEXIT_CRITICAL(&mutex); } int countIncriment=0; void loop() { M5.update(); if(secCount > 0) { Firebase.setInt("/M5Stack/counter", countIncriment); countIncriment++; secCount=0; } }

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。