LoginSignup
6
13

More than 5 years have passed since last update.

ESP32でping

Last updated at Posted at 2018-01-26

ESP32 で ping が使えるようになった。

正確には、 Arduino core for the ESP32 において、ping 応答は前からできていたのだが、ping 発信の機能が無かったのが最近できるようになった。

試してみた記録。

インストール

こちらからダウンロード&解凍ないし、cloneする。
今回は、ZIPでダウンロードした。

それをESP32_ping-masterというフォルダができるので、ESP32_pingという名前にリネームし、

~/Arduino/hardware/espressif/esp32/libraries

の中に移動。

~/Arduino/hardware/espressif/esp32/libraries/ESP32_ping
という感じにする。

試してみる

こちら
https://github.com/espressif/arduino-esp32/issues/564
を参考にして、


#include <WiFi.h>
#include "ping.h"

void setup()
{
  Serial.begin(115200);
  WiFi.begin("myESSID","mypassphase");

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

}
bool pingtest (IPAddress ia) {
  IPAddress adr = IPAddress(ia[0], ia[1], ia[2], ia[3]);
  Serial.printf("Ping : %d.%d.%d.%d : ", ia[0], ia[1], ia[2], ia[3]);
  if (ping_start(adr, 4, 0, 0, 5)) {
    Serial.println("OK");
    return true;
  } else {
    Serial.println("Request time out");
    return false;
  }
}

void loop()
{
  pingtest( IPAddress(192,168,179,2));
}


6
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
13