我正在尝试将 ip 地址存储到外部字符串中。我的 ip 地址值在 .cpp 中,但后来我想将它存储在我的 .h 文件中。我将它存储为字符串,因为我想将其作为链接。(http://"ip 地址"/)
我的 .h 文件
extern std::string ipadd1 = "";
Run Code Online (Sandbox Code Playgroud)
我的 .cpp 文件
if (connectWifi("", "") == WL_CONNECTED) {
DEBUG_WM(F("IP Address:"));
DEBUG_WM(WiFi.localIP());
ipadd1 = String(WiFi.localIP());
//connected
return true;
}
Run Code Online (Sandbox Code Playgroud)
Ker*_*g73 13
将 the 转换IPAddress为 a String,然后获取 theconst char *并将其转换为 an std::string。
ipadd1 = WiFi.localIP().toString().c_str();
Run Code Online (Sandbox Code Playgroud)
5 分钟的搜索给了我WiFi.localIp() 函数描述,从那里我知道它返回了IPAddress对象。跟随forum.arduino.cc主题:如何操作IPAddress变量/转换为字符串您可以使用以下函数将其转换为字符串:
// author apicquot from https://forum.arduino.cc/index.php?topic=228884.0
String IpAddress2String(const IPAddress& ipAddress)
{
return String(ipAddress[0]) + String(".") +
String(ipAddress[1]) + String(".") +
String(ipAddress[2]) + String(".") +
String(ipAddress[3]);
}
Run Code Online (Sandbox Code Playgroud)
IPAddress可以像 4 ints数组一样处理。
小智 5
如果我们想写入Wifi.localIP()或oled(SSD1306)串行,只需写入WiFi.localIP().toString()。像这样:
Serial.print("Connected, IP address: ");
Serial.print(WiFi.localIP().toString());
display.clear();
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10);
display.drawString(0, 0, " WiFi is Connected." );
display.drawString(0, 10, " IP address: " + WiFi.localIP().toString() );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9706 次 |
| 最近记录: |