简体   繁体   English

为什么我在连接 Firebase 时遇到 Arduino 中的这个问题?

[英]Why am I facing this Problem in Arduino when connecting Firebase?

Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp: In member function 'bool FirebaseObject::isNullString(const String&) const':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp:71:57: warning: 'const char* ArduinoJson::Internals::JsonVariantCasts<TImpl>::asString() const [with TImpl = ArduinoJson::JsonVariant]' is deprecated: use as<char*>() instead [-Wdeprecated-declarations]

   71 |   return variant.is<const char *>() && variant.asString() == NULL;

      |                                                         ^

In file included from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariantBase.hpp:7,

                 from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariant.hpp:13,

                 from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\jsonbuffer.hpp:12,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Deserialization/JsonParser.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonBufferBase.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonBuffer.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

                 from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.h:24,

                 from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp:17:

c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariantCasts.hpp:28:28: note: declared here

   28 |   FORCE_INLINE const char *asString() const {

      |                            ^~~~~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp: In member function 'ArduinoJson::JsonVariant FirebaseObject::getJsonVariant(const String&) const':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp:91:26: warning: 'ArduinoJson::JsonObject& ArduinoJson::Internals::JsonVariantCasts<TImpl>::asObject() const [with TImpl = ArduinoJson::JsonVariant]' is deprecated: use as<JsonObject>() instead [-Wdeprecated-declarations]

   91 |     json = json.asObject().get<JsonVariant>(start);

      |                          ^

In file included from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariantBase.hpp:7,

                 from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariant.hpp:13,

                 from c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\jsonbuffer.hpp:12,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Deserialization/JsonParser.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonBufferBase.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonBuffer.hpp:7,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

                 from C:\Users\Jordan\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

                 from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.h:24,

                 from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseObject.cpp:17:

c:\users\jordan\documents\arduino\libraries\arduinojson\src\arduinojson\JsonVariantCasts.hpp:23:28: note: declared here

   23 |   FORCE_INLINE JsonObject &asObject() const {

      |                            ^~~~~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'int FirebaseRequest::sendRequest(const string&, const string&, char*, const string&, const string&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:78:1: warning: no return statement in function returning non-void [-Wreturn-type]

   78 | }

      | ^

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'void FirebaseStream::startStreaming(const string&, const string&, const string&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:91:16: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   91 |   analyzeError("STREAM", status, path_with_auth);

      |                ^~~~~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'String FirebaseArduino::push(const String&, const ArduinoJson::JsonVariant&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:65:54: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   65 |   int status = req_.get()->sendRequest(host_, auth_, "POST", path.c_str(), buf);

      |                                                      ^~~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::set(const String&, const ArduinoJson::JsonVariant&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:94:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

   94 |   req_.get()->sendRequest(host_, auth_, "PUT", path.c_str(), buf);

      |                                         ^~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::getRequest(const String&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:101:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

  101 |   req_.get()->sendRequest(host_, auth_, "GET", path.c_str());

      |                                         ^~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'virtual void FirebaseArduino::remove(const String&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:147:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

  147 |   req_.get()->sendRequest(host_, auth_, "DELETE", path.c_str());

      |                                         ^~~~~~~~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'virtual const String& FirebaseArduino::error()':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:201:32: warning: returning reference to temporary [-Wreturn-local-addr]

  201 |   return error_.message().c_str();

      |          ~~~~~~~~~~~~~~~~~~~~~~^~

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:50: error: no matching function for call to 'begin(const char*, const char [60])'

   47 |     http_.begin(url.c_str(), kFirebaseFingerprint);

      |                                                  ^

In file included from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\Jordan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: candidate: 'bool HTTPClient::begin(String, uint16_t, String)' (near match)

  166 |     bool begin(String host, uint16_t port, String uri = "/")  __attribute__ ((error("obsolete API, use ::begin(WiFiClient, host, port, uri)")));

      |          ^~~~~

C:\Users\Jordan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note:   conversion of argument 2 would be ill-formed:

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'uint16_t' {aka 'short unsigned int'} [-fpermissive]

   47 |     http_.begin(url.c_str(), kFirebaseFingerprint);

      |                              ^~~~~~~~~~~~~~~~~~~~

      |                              |

      |                              const char*

In file included from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\Jordan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: candidate: 'bool HTTPClient::begin(String, const uint8_t*)' (near match)

  167 |     bool begin(String url, const uint8_t httpsFingerprint[20])  __attribute__ ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));

      |          ^~~~~

C:\Users\Jordan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note:   conversion of argument 2 would be ill-formed:

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive]

   47 |     http_.begin(url.c_str(), kFirebaseFingerprint);

      |                              ^~~~~~~~~~~~~~~~~~~~

      |                              |

      |                              const char*

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&, const string&)':

C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:51:60: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive]

   51 |     http_.begin(host.c_str(), kFirebasePort, path.c_str(), kFirebaseFingerprint);

      |                                                            ^~~~~~~~~~~~~~~~~~~~

      |                                                            |

      |                                                            const char*

In file included from C:\Users\Jordan\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\Jordan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:168:70: note:   initializing argument 4 of 'bool HTTPClient::begin(String, uint16_t, String, const uint8_t*)'

  168 |     bool begin(String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20])  __attribute__ ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));

      |                                                        ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

When I faced the same issue, I rolled back to 2.7.4 on the board manager, which result in it compiling without a problem.当我遇到同样的问题时,我在 board manager 上回滚到 2.7.4,这导致它编译没有问题。 I guess the board software updated before the FireBase library did.我猜在 FireBase 库之前更新了板软件。 I found this solution on this page .我在这个页面上找到了这个解决方案。

I found out the mistakes as I was transferring the code from an old laptop to a new laptop.当我将代码从旧笔记本电脑转移到新笔记本电脑时,我发现了错误。

Guess What?你猜怎么着? The version of Arduino library that i recently download in my new laptop does not match the version in the old laptop.我最近在新笔记本电脑中下载的 Arduino 库版本与旧笔记本电脑中的版本不匹配。 That is why the error message had pop out.这就是弹出错误消息的原因。

with platformio, change in platformio.ini (work for me), for latest 2.x version:使用 platformio,更改 platformio.ini(为我工作),用于最新的 2.x 版本:

platform = espressif8266@^2平台 = espressif8266@^2

Solution from this page 此页面的解决方案

rolled back to 2.7.X version enter image description here回滚到 2.7.X 版本在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我在使用 flutter 从 firestore firebase 获取图像时遇到问题 - i am facing a problem in fetching image from firestore firebase using flutter 我在 android studio(java) 中添加“实现 'com.firebaseui:firebase-ui-database:8.0.1”时遇到问题 - I am facing problem for adding "implementation 'com.firebaseui:firebase-ui-database:8.0.1" in android studio(java) 我正在尝试将 AWS IoT 连接到我的 Arduino UNO,但我遇到了一些连接问题 - I am trying to connect AWS IoT to my Arduino UNO, but there is some connection issue i am facing 为什么我在使用 firebase 时收到尝试导入错误? - Why am I getting the attempted import error when using firebase? 将第二个应用程序连接到 firebase 时出现问题 - Problem in connecting second app to firebase 在 firebase 中部署我的站点时遇到问题 - Facing problem while deploying my site in firebase 我在 firebase 中的“onValue”语法和“set”语法之间存在连接问题 - I have a problem with connecting between 'onValue' syntax and 'set' syntax in firebase 为什么在将 env 变量加载到 Firebase function 时我得到未定义? - Why am I getting undefined when loading env variables into Firebase function? 为什么我在 iOS(颤振应用程序)中收到 Firebase AppCheck 错误 - Why am I getting a Firebase AppCheck error in iOS (Flutter app) 当我尝试从 firebase firestore 中提取数据时,为什么 Next.js 给我一个未定义的错误 - Why is Next.js giving me an error of undefined when I am trying to pull data from firebase firestore
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM