完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我正在尝试连接两个 Wemos D1 Mini pro(版本 1)。一个连接了 DHT22 模块,另一个使用 ESP8266HTTPClient.h 中的 HTTPClient.Get() 方法请求温度和热量指数。但我得到的只是一个“连接被拒绝”的错误。从 Web 浏览器调用“DHT22-服务器”,它就像一个魅力。
两个 Wemos 模块当然都连接到同一个 wifi 网络。我没有发布完整的客户端代码,因为它已经太长了。代码的工作原理: 只要 wifi 连接可用,自动收报机就会调用 SetBit2CallServer() 方法来设置一个标志,该标志将在 loop() 中检查以开始每 15 秒询问一次服务器。然后标志将被设置为假,直到自动收报机将其设置回真。 我在这里做错了什么?谢谢你的帮助! 爱好开发 代码:全选#include #include WiFiEventHandler wifiConnectHandler; #include const char* serverNameTemperatur = "http://192.168.178.96/KorrigierteTemperatur"; const char* serverNameHeatindex = "http://192.168.178.96/KorrigierterHeatIndex/"; Ticker CallServerTimer; float ServerTemperature = 0; float ServerHeatIndex = 0; bool CallServer = false; void SetBit2CallServer(){ CallServer = true; } String httpGETRequest(const char* serverName) { WiFiClient client; HTTPClient http; // http.begin(client, "192.168.178.96", 80, "/KorrigierterHeatIndex"); // http.begin(client, serverName); http.begin(client, "192.168.178.96", 80, "/KorrigierterHeatIndex"); int httpResponseCode = http.GET(); String payload = "--"; if (httpResponseCode>0) { Serial.print("HTTP Response code: "); Serial.println(httpResponseCode); payload = http.getString(); } else { Serial.print("Error code: "); Serial.println(httpResponseCode); payload = "Error calling the temperature server. Errorcode: " + String(httpResponseCode); } // Free resources http.end(); client.stop(); return payload; } void onWifiConnect(const WiFiEventStationModeGotIP& event) { Serial.println("Connected to Wi-Fi."); // Call DHT22 Server every 15 sec CallServerTimer.attach(15,SetBit2CallServer); } void setup() { .... // neu MQTT wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect); ... } loop() { ... if (CallServer == true){ const char* HttpResult; char * Position; HttpResult = httpGETRequest(serverNameTemperatur).c_str(); Position = strstr(HttpResult, "Error"); if (Position != NULL){ ServerTemperature = atof(HttpResult); } HttpResult = httpGETRequest(serverNameHeatIndex).c_str(); Position = strstr(HttpResult, "Error"); if (Position != NULL){ ServerHeatIndex = atof(HttpResult); } CallServer = false; } ... } |
|
相关推荐
1个回答
|
|
|
根据您提供的信息,看起来您的Wemos D1 Mini Pro无法连接到服务器。以下是一些可能的解决方案:
1. 确保您的Wemos D1 Mini Pro上的Wi-Fi连接配置正确。检查您使用的SSID和密码是否正确,并且Wemos是否连接到正确的Wi-Fi网络。 2. 检查您的服务器是否正在运行。使用浏览器或其他HTTP客户端尝试访问服务器,并确保它正在运行。 3. 检查您使用的HTTP请求是否正确。确保您使用的是正确的URL和HTTP方法(GET,POST等),并且您在HTTP请求中发送了正确的数据参数。 4. 检查您的Wemos D1 Mini Pro是否有任何网络问题。您可以尝试ping服务器,以确保Wemos可以与服务器通信。如果您的Wemos无法ping服务器,则可能存在网络问题。 5. 检查您的防火墙设置是否阻止了Wemos与服务器之间的通信。您可以通过关闭防火墙或打开适当的端口进行解决。 6. 最后,您可以尝试使用其他HTTP客户端库(如WiFiClient或ESP8266HTTPClient)进行HTTP请求,以确保问题不是与您使用的库有关。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
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评论
2336浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:18 , Processed in 0.651392 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
690
