动态设置ESPMQTTClient ssid和pswd

时间:2019-06-16 09:29:53

标签: arduino wifi mqtt esp8266

我正在尝试建立与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?

0 个答案:

没有答案