IOT: Firebase 最近問題已解決 作者 已更新 firebase-arduino
最近忙都沒再碰這一塊,
突然在
突然在
IOT 雲端控制LED Arduino+Google Firebase 篇
有留言說:連不上了....
****先講已解決****
firebase-arduino 作者已更新
我是先刪掉原本的 libraries 內的 firebase-arduino-master
再重開 IDE 再用ZIP 安裝一遍就好了
然後 這一行金鑰我拿掉了
#define FIREBASE_AUTH ""
*******************************
原因:(HTTPS 問題)
我本以為是資料庫金鑰的問題....但無關(一開始就無關)
在查找原因時...(本來是沒空....但一根針就在那..不知原因睡不好)
發現有人用Node.js 或是台灣有一家賣套裝的圖形式開發
在連接 firebase 時根本就沒有設 金鑰 也行
所以詳細研究之後
關鍵在 firebase "規則設定" 設讀寫 true 就是都不需認證 就是不用金鑰
當初被誤導...也是人云亦云
所以 #define FIREBASE_AUTH "" 改成這樣也行
由於 firebase 只提供 js Android IOS 幾種程式庫
我想用 C# 去了解他們的作用
不過就是傳 Json 有那麼麻煩嗎?
先是下載 FirebaseDatabase.net 來看還是真麻煩......
後來在 Youtb 上看到 C# 如何用 WebRequest 直接 新增 刪除 更新 資料
其實跟我想的差不多 撇開 認證問題
麻煩的就是如何處理 JSON
然後就是送連接資料
var request = WebRequest.CreateHttp("https://xxxxx.firebaseio.com/.json");
request.Method = "POST";
request.ContentType = "application/json";
var buffer = Encoding.UTF8.GetBytes(json);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
var respon = request.GetResponse();
json = (new StreamReader(respon.GetResponseStream())).ReadToEnd();
變更 request.Method
request.Method = "POST"; 新增
request.Method = "PATCH"; 更新
request.Method = "GET"; 讀取
request.Method = "DELETE"; 刪除
就是這樣
對 IOT 來說 可以 撇開 認證問題 因為只是簡單動作
想說既然這樣要不要就用
ESP8266 的 HTTPClient 來搞一下不就好了
........
不對
是 Https 跟 Http 差很多...Google 一直在推這個,該不會改了吧
看一下C++原始碼,雖功力沒他好,但應該是這問題了
這下要研究 WiFiClientSecure
越弄越複雜
我想 原作者 應該也是會發現這問題才對,
所以我就回去看一下
如果沒人提醒他..那我至少用破英文告知一下
他如果能改...就天下太平
結果一看有更新了...更新完正常了
天下太平
***************************
另外
JsonObject& tempTime = temperatureObject.createNestedObject("timestamp");
這不是日期時間..我認知錯了
想問下~我視窗出現 以下錯誤,是在FirebaseArduino.h裡面,這有人遇過嗎?Arduino版本用1.8.5
回覆刪除/Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp: In member function 'virtual std::string FirebaseHttpClientEsp8266::errorToString(int)':
/Users/huifengchen/Documents/Arduino/libraries/firebase-arduino-master/src/FirebaseHttpClient_Esp8266.cpp:83:11: error: 'errorToString' is not a member of 'HTTPClient'
return HTTPClient::errorToString(error_code).c_str();
開發版管理員的esp8266要更新到最新版
刪除我用2.0.0也不行
用2.4.1就好了
執行後出現這樣的錯誤,可以幫忙我嗎,已經試過很多地方了 還是不行
回覆刪除謝謝~
In file included from D:\2.ALL WORK\arduino\arduino\DATA_MCU\DATA_MCU.ino:1:0:
C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src/Firebase.h:26:25: fatal error: ArduinoJson.h: No such file or directory
#include
^
compilation terminated.
exit status 1
開發板 NodeMCU 1.0 (ESP-12E Module) 編譯錯誤。
到程式資料庫將ArduinoJson 降級5.13.2版本試試
刪除