我正在尝试建立与mqtt代理的连接,但是我必须设置不是const char的ssid和密码,因为它们是由网页设置的。这是我到目前为止所做的:
// before setup
EspMQTTClient client(
"myssid",
"password",
onConnectionEstablished, // callback function
"broker_ip"
);
当我有一个已知的ssid和相对密码时,这很吸引人,但是现在我的esp8266NodeMCU wifi凭据是通过wifiManager设置的:WiFiManager,因此它们不再是常量。当我将以下内容传递给我的mqtt客户端时:
EspMQTTClient client(
WiFi.SSID(),
WiFi.psk(),
onConnectionEstablished, // callback function
"broker_ip" // broker name ?
);
Thi在编译时给我错误:没有匹配的函数来调用'ESPMQTTClient :: ESPMQTTClient(String,String,void,const char [])'。该问题似乎与以下事实有关:WiFi.SSID()和WiFi.psk()是String而不是cons char *。我怎么解决这个问题?当我建立连接时,如何将我的代理名称设置为myBroker而不是192.168.X.X?