完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在 Arduino IDE 中设置了一个草图,以便在我的 ESP8266-12F 模块(AZ Delivery D1 mini NodeMCU)
ESP8266 板版本 2.7.4 FirebaseArduino 版本 0.3(从 2018 年开始?有更新的吗?我没能找到?)连同 ArduinoJson 5.13.1 或 FirebaseESP8266 版本 3.0.2 对于 Firebase 访问,我尝试了 FirebaseArduino 和 FirebaseESP8266,两者都存在基本相同的问题: 在 setup() 中,我打开一个 WiFi 连接,然后在 loop() 中,我访问 Firebase 以检索长度为 10 的字符串列表,这些字符串中大约有 160 个,但这些字符串的数量和键事先未知。到目前为止,一切都很顺利。我什至可以遍历 String[] 并显示所有检索到的 Firebase 键。 但是,一旦我使用打开 HTTPS 客户端连接 代码:全选WiFiClientSecure client; client.setinsecure(); // to avoid fingerprint stuff if(!client.connect()) { Serial.println("connection failed"); } else { ... // do stuff like client.print("GET ......") } 我将看到“连接失败”(对于 FirebaseArduino)或者我将获得软 WDT 重置(对于 FirebaseESP8266)。 打开与之前没有 Firebase 访问权限的 URL 的 HTTPS 客户端连接工作一致。 我想做什么:对于从 Firebase 检索到的每 10 个字符的字符串,我想连接到与该字符串相关的 HTTPS 服务器,并检索一些我想存储在 Firebase 中与该字符串相关的路径的信息。 顺便说一句,我还在我的 ESP8266 基本代码部分连接了一个 SSD1306 OLED 显示器: 代码:全选#include #include #include #include #include #include #include #include #define FIREBASE_HOST "xxxxxxxxxxxxxxxxxxxxxxx" #define FIREBASE_AUTH "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" #define OLED_ADDRESS 0x3C //you may need to change this, this is the OLED I2C address. SSD1306 display(OLED_ADDRESS, D2, D1); ESP8266WiFiMulti WiFiMulti; FirebaseData firebaseData; ... void setup() { ... WiFi.mode(WIFI_STA); WiFiMulti.addAP("aaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbb"); while(WiFiMulti.run() != WL_CONNECTED) { delay(500); Serial.print("."); } ... } void loop() { WiFiClientSecure client; client.setInsecure(); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); Firebase.reconnectWiFi(true); firebaseData.setBSSLBufferSize(3072, 512); firebaseData.setResponseSize(3072); if(Firebase.get(firebaseData, "/my/path")){ Serial.print("Read object of type "); Serial.println(firebaseData.dataType()); FirebaseJson& json = firebaseData.jsonObject(); size_t len = json.iteratorBegin(); String key, value = ""; int type = 0; String buffer[len]; for (size_t i = 0; i < len; i++) { json.iteratorGet(i, type, key, value); buffer = key; } json.iteratorEnd(); delay(500); // check single IDs for(size_t i = 0; i < len; i++) { String url = "/" + buffer; if (!client.connect(host, httpsPort)) { // the problems happen here Serial.println("connection failed"); } else { ... } client.stop(); } } } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
171个成员聚集在这个小组
加入小组350 浏览 0 评论
1196 浏览 1 评论
588浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
445浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 15:47 , Processed in 0.640062 second(s), Total 41, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号