我在 ESP8266 和 SIM800 上使用 MQTT,它们都工作正常。
我需要根据 WiFi 的可用性在 WiFi 和 GPRS 之间进行动态更改。
我的问题是,我不能动态地更改 PubSubClient,它就是行不通。
我所做的一个简化示例:
TinyGsm SIM800(Serial);
TinyGsmClient GPRSclient(SIM800);
WiFiClient WiFiclient;
if(WiFi.status()!=WL_CONNECTED){
USE_GPRS=1;
PubSubClient mqtt(GPRSclient);
}
if(WiFi.status()==WL_CONNECTED){
USE_GPRS=0;
PubSubClient mqtt(WiFiclient);
}