установить ESPMQTTClient ssid и pswd динамически - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь установить соединение с брокером mqtt, но мне нужно установить ssid и пароль, которые не являются const char, потому что они устанавливаются веб-страницей.Это то, что я сделал до сих пор:

// before setup

EspMQTTClient client(
  "myssid",
  "password",
  onConnectionEstablished, // callback function
  "broker_ip"
);

Это работает как заклинание, когда у меня есть известный ssid и относительный пароль, но теперь мои учетные данные Wi-Fi esp8266NodeMCU устанавливаются через wifiManager: WiFiManager так что они больше не являются постоянными.Когда я передаю следующее в мой клиент mqtt:

EspMQTTClient client(
      WiFi.SSID(),
      WiFi.psk(),
      onConnectionEstablished, // callback function
      "broker_ip" // broker name ?
    );

Это дает мне ошибки при компиляции: нет соответствующей функции для вызова 'ESPMQTTClient :: ESPMQTTClient (String, String, void, const char [])',Кажется, проблема связана с тем, что WiFi.SSID () и WiFi.psk () являются String вместо cons char *.Как я могу решить эту проблему?Когда я получаю соединение, как я могу установить имя моего брокера на что-то вроде myBroker вместо 192.168.XX?

...