完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好!
我将 NodeMCU 连接到电容式土壤湿度传感器以发送湿度水平。我成功地将它连接到 ThingSpeak,并且能够每 30 秒记录一次数据。 然后我尝试对 Firebase 做同样的事情。我遇到了一些问题,不确定为什么它不起作用。因此,我重新上传了用于 ThingSpeak 的代码,结果发现它也突然停止工作了。 每当我将 ThingSpeak 代码上传到我的 NodeMCU 时,它都会成功连接到 WiFi,记录第一条数据并将其发送到 ThingSpeak。之后,在循环中,它尝试重新连接到 WiFiClient 但不断失败。 当我按下 NodeMCU 上的重置按钮时,它再次成功发送数据但在第一次后停止。 我很想弄明白为什么它能够第一次发送数据,客户端能够第一次连接,但所有后续请求都不通过? 这是我一直在使用的简短代码(在我使用 Firebase 进行测试之前有效): String apiKey = "XXXXX"; // Enter your Write API key from ThingSpeak const char *ssid = "XXXXX"; // replace with your wifi ssid and wpa2 key const char *pass = "XXXXX"; const char* server = "api.thingspeak.com"; WiFiClient client; int sensor_pin = A0; int output_value; void setup() { Serial.begin(115200); delay(10); Serial.println("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); } void loop() { output_value = analogRead(sensor_pin); output_value = map(output_value, 550, 0, 0, 100); if (client.connect(server, 80)) // "184.106.153.149" or api.thingspeak.com { String postStr = apiKey; postStr += "&field1="; postStr += String(output_value); postStr += "rnrn"; client.print("POST /update HTTP/1.1n"); client.print("Host: api.thingspeak.comn"); client.print("Connection: closen"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "n"); client.print("Content-Type: application/x-www-form-urlencodedn"); client.print("Content-Length: "); client.print(postStr.length()); client.print("nn"); client.print(postStr); Serial.print("Humidity: "); Serial.print(output_value); Serial.print("%"); Serial.println(" Send to Thingspeak."); } else { Serial.println("Did not connect to thingspeak"); } client.stop(); Serial.println("Waiting..."); // thingspeak needs minimum 15 sec delay between updates, i've set it to 30 seconds delay(10000); } 此代码之前运行良好,现在不再运行(除了每次重置期间的第一个实例)。我怎样才能第二次成功重新连接到 WiFiClient?这是 NodeMCU 模块的问题吗? 谢谢! |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1253浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2338浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2527浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:58 , Processed in 0.605162 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3920
