こんにちわ。
小ネタです。
Arduinoで.localIP()とかのIPアドレス拾うやつ、お馴染みの
xxx.xxx.xxx.xxx`へ変換するのはちょっと小細工が必要だったのでメモって置きます。
// 例: 192.168.0.13 の場合
(String)WiFi.localIP();
// そのままStringにcastすると...
// => "218147008"
// "218147008"を2進にすると...
// 00001101 00000000 10101000 11000000
// 8bitずつ10進にすると...
// 13 0 168 192
// お分かり頂けただろうか...
// つまりこうじゃ!
String ipToString(uint32_t ip){
String result = "";
result += String((ip & 0xFF), 10);
result += ".";
result += String((ip & 0xFF00) >> 8, 10);
result += ".";
result += String((ip & 0xFF0000) >> 16, 10);
result += ".";
result += String((ip & 0xFF000000) >> 24, 10);
return result;
}
Serial.println(ipToString(WiFi.localIP()));
// => "192.168.0.13"
// パワープレイは正義。めでたしめでたし。