我遇到了带有ESP8266和ArduinoIDE的NodeMCU的问题:
我希望使用softAP,并且每次设备启动时都应该随机生成密码,它应该是8位数,足以显示在我的8digit 7段显示器上。 我创建了一个长度为8位且直接转换为String的数字。可悲的是," WiFi.softAP"命令只接受括号中的变量类型常量字符。我怎么能以某种方式将字符串放入带括号的字符串中,或者让WiFi.softAP吞下String类型?
我已经到目前为止了:
MAX7219_7segment PWScreen(14,12,13);
String A,B,C;
const char *ssid = "Sellerie";
ESP8266WebServer server(80);
/* Just a little test message. Go to http://192.168.4.1 in a web browser
* connected to this access point to see it.
*/
void handleRoot() {
server.send(200, "text/plain", C);
}
void setup() {
int pw = random(10000000,99999999);
String spassword = String(pw);
//const char *password = spassword;
pinMode(0, INPUT); // D0
pinMode(5, INPUT); //D1
pinMode(LED_BUILTIN, OUTPUT);
pinMode(14, OUTPUT);
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point...");
WiFi.softAP(ssid, spassword);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started");
PWScreen.write_number(pw);
祝你好运 SELLERIE
答案 0 :(得分:1)
要解决此问题,我只需将整数取消注释为字符串行
//const char *password = spassword;
并将const char *password = spassword;
改为const char *password = spassword.c_str();
,因为Bence Kaulics在我的帖子中的评论中回答,该评论完美无瑕。
谢谢!