我想从esp32在我的web服务器上发送数据。ESP32无法访问网站并重新启动。
我用了Arduino IDE的例子。我试图发布(htt.POST(“X”))一些东西,并得到了同样的错误。我标记了代码以找出引起问题的行。谷歌搜索过。
...
msg="192.168.4.22/parametr";
if(WiFi.status() == WL_CONNECTED){
if(client.connect(host,httpPort)){
http.begin(msg);
Serial.print("0");
Serial.print("[HTTP] GET...\n");
int httpCode = http.GET();
Serial.print("1");
...我希望访问网站,但现在esp32在实现http.GET()时重新启动,并且从不打印"1“。错误信息:古鲁冥想错误:核心1恐慌‘’ed (LoadProhibited)。异常没有得到处理。
发布于 2019-06-07 15:48:23
您要传递给http.begin()的URL是不正确的。您需要包含http://前缀(参见这里)。在语义上,将这个变量命名为url而不是msg更有意义。
还有..。检查http.begin()的返回值,以防它仍然失败。
const char *url = "http://192.168.4.22/parametr";
// Check Wi-Fi connected, etc.
if (!http.begin(url)) {
Serial.println("HTTP client failed to connect ...");
}
else {
int httpCode = http.GET();
// etc.
}LoadProhibited致命错误表示试图读取或写入无效内存位置。当库无法解析您提供的URL时,HTTPClient对象的某些成员可能未初始化。
测井输出
要帮助调试,请尝试将Arduino IDE中的“核心调试级别”设置为“debug”。
Arduino IDE -> Tools ->核心调试级别->调试
这将确保ESP日志消息(例如可能打印的如果HTTP客户端的初始化失败 )将在串口上打印。
例如,如果我未能在URL中包含http://协议说明符(在更改核心调试级别之后),我就会看到这个日志输出。

https://stackoverflow.com/questions/56496706
复制相似问题