修改Tasmota 14.2.0代码后ESP8266 HTTP连接故障求助
Tasmota 14.2.0修改Webserver后ESP8266 HTTP连接故障排查求助
问题概述
使用Tasmota 14.2.0版本固件,修改xdrv_01_9_webserver.ino文件内容后,ESP8266设备无法通过HTTP连接。除以下修改外,其余为标准配置且原运行正常。
具体修改内容
1. 嵌入的JavaScript函数
const char HTTP_SCRIPT_EZSALT[] PROGMEM = "function transitionToEZsaltGo(){" "var mqttClient = \"%s\".trim();" // Placeholder for mqtt_client "alert(mqttClient);" "alert(mqttClient.length);" "document.getElementById('btnTransitionToEZsaltGo').style.display = 'none';" "document.getElementById('divFinalStep').style.display = 'block';" "var countdown = 10;" "setInterval(function(){" " countdown--;" " document.getElementById('divFinalStep').innerHTML = 'Transferring to EZsaltGo<br>in ' + countdown + ' seconds...';" " if(countdown < 1){" " location.href = 'https://ezsaltgo.com/AddSensor.php?SensorID=XXXXX';" " }" "}, 1000);" "}";
2. 注入TasmotaGlobal.mqtt_client到JS函数
char buffer[650]; snprintf_P(buffer, sizeof(buffer), HTTP_SCRIPT_EZSALT, TasmotaGlobal.mqtt_client); WSContentSend_P(buffer);
3. 注入含调用按钮的HTML代码
WSContentSend_P(PSTR(D_SUCCESSFUL_WIFI_CONNECTION "<br><br></div><div style='text-align:center;'><button id='btnTransitionToEZsaltGo' onclick='transitionToEZsaltGo()'>Continue Setup</button><div id='divFinalStep' style='display: none'>Transferring to EZsaltGo<br>in 10 seconds...</div><br><br></div>"));
已知信息
- 按钮与JS逻辑在纯HTML页面测试正常
- 固件编译过程无报错
- 怀疑注入
TasmotaGlobal.mqtt_client的步骤是故障诱因,但具体原因不明
求排查故障原因。
内容的提问来源于stack exchange,提问作者HerrimanCoder
相关产品推荐
相关产品推荐

