Я пытаюсь установить соединение с брокером 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?