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

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

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

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

0回答

2652閲覧

Esp32(M5Stack)を使ってFirebaseと通信をしたい

CopanSassa

総合スコア18

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/07/19 11:48

編集2019/07/19 11:49

M5Stackを使って
https://www.mgo-tec.com/blog-entry-firebase-realtime-database-sever-sent-events-esp32-m5stack.html/2
を参考にして、Farebaseとの通信を行おうとしてます。

ですが、M5stackに以下のプログラムを入れて起動すると、「400 Bad Request」とでてきます。
これが出るときの対処法を教えてほしいです。

また、ほかにデータベースとの通信方法でもっといいものがあるのなら教えてほしいです。

#include <WiFi.h> #include <WiFiClientSecure.h> const char* ssid = "WIFIのSSID"; //ご自分のルーターのSSIDに書き換えてください const char* password = "WIFiのパスワード"; //ご自分のルーターのパスワードに書き換えてください const char* host = "Firebaseのホスト"; const char* firebase_auth = "Firebaaseのシークレットコード"; //database secrets String user_path = "test_user1"; WiFiClientSecure client; //*****セットアップ****************** void setup() { Serial.begin(115200); WiFi.begin(ssid, password); Serial.print( "connecting" ); while ( WiFi.status() != WL_CONNECTED ) { Serial.print( "." ); delay(500); } Serial.println(); Serial.print( "connected: " ); Serial.println(WiFi.localIP()); delay(2000); getServerSentEvents(); } //****メインループ******************** void loop() { checkServerRespons(); } //*********************************** void getServerSentEvents(){ Serial.println( "\nStarting connection to server..." ); if( !client.connect( host, 443 ) ){ Serial.println( "Connection failed!" ); }else{ Serial.println( "Connected to server!" ); String req_url_str; req_url_str = "GET /"; req_url_str += user_path + ".json?auth="; req_url_str += String( firebase_auth ) + " HTTP/1.1\r\n"; String req_header_str; req_header_str = "Host: "; req_header_str += String( host ) + "\r\n"; req_header_str += "Accept: text/event-stream\r\n"; req_header_str += "Connection: close\r\n"; req_header_str += "\r\n"; //空行 Serial.println( "Send Server-Sent Events GET request." ); //FirebaseサーバーへGETリクエスト送信 client.print( req_url_str ); client.print( req_header_str ); Serial.print( req_url_str ); Serial.print( req_header_str ); } } //*********************************** void checkServerRespons(){ while( client.available() ){ char c = client.read(); if( c == '\r' ) Serial.print( "\r"); //キャリッジリターン if( c == '\n' ) Serial.print( "\n"); //ラインフィード Serial.print( c ); } }

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問