|
发表于 2020-7-30 17:42:39
|
显示全部楼层
本帖最后由 dscao 于 2020-8-12 23:23 编辑
今天发现个问题,换了MQTT服务器的IP后,重新配置 MQTT服务器的IP总是改不过来。清除wifi配置后再设置或者重OTA固件后再设置,wifi可以修改生效,就是mqtt服务器还是连接在老的IP上面,无法更新新的MQTT配置。难道是ota也并不能清除以前的配置。
代码逻辑有点问题
_________________________
将
if (settings_available != "1") { #这种情况只要保存过配置就不再保存新的
strcpy(MQTT_HOST, CUSTOM_MQTT_HOST.getValue());
strcpy(MQTT_PORT, CUSTOM_MQTT_PORT.getValue());
strcpy(MQTT_USER, CUSTOM_MQTT_USER.getValue());
strcpy(MQTT_PASS, CUSTOM_MQTT_PASS.getValue());
}
修改为:
if (shouldSaveConfig) { #判断需要保存配置时改变配置,或者与后面的合并处理
strcpy(MQTT_HOST, CUSTOM_MQTT_HOST.getValue());
strcpy(MQTT_PORT, CUSTOM_MQTT_PORT.getValue());
strcpy(MQTT_USER, CUSTOM_MQTT_USER.getValue());
strcpy(MQTT_PASS, CUSTOM_MQTT_PASS.getValue());
}
之后测试终于可以修改mtqq服务配置了。
刷完固件,直接不能正常使用。需要关闭周围环境中与配置中一样的wifi信号,重启esp,配置热点会打开,进入热点重新配置网络及mqtt,保存,重新打开Wifi,即可正常使用新的配置了。
|
|