LoginSignup
1
1

More than 3 years have passed since last update.

ESP32Pingを使う(2021年梅雨)

Posted at

1. はじめに

Ardino-IDEを用いてESP32でpingをするためには、ライブラリが必要なようです。今回は、ESP32Pingライブラリを試して見ました。ただ、Arduino-IDEに候補として上がってこなかったため、スケッチと同梱し(手動インストールせずに)利用しました。(この記事は2021年5月現在のものです。今後、Arduino-IDE上にpingライブラリの候補として上がるかもしれません)

2. ESP32pingライブラリをクローン

次のページからzipをダウンロードし展開します。(もしくは、このリポジトリをgit clone し、そのフォルダに移動します)
https://github.com/marian-craciunescu/ESP32Ping
download_repzip.png

3. サンプルを試す

ESP32Pingのフォルダ直下にある次の4つのファイルを examples\SimplePing フォルダにコピー(or移動)します。

  • ESP32Ping.cpp
  • ESP32Ping.h
  • ping.cpp
  • ping.h

filecopy_esp32ping.png

そのままでは動きません(ライブラリとしてインストールしていないため)ので、少し修正します。

ESP32Ping.h を開きます。27行目にある

#include <ping.h>

#include "ping.h"

に変更します。つまり、不等号<>をダブルクオーテーション"に書き換えます。

SimplePing.inoも同様です。7行目にある

#include <ESP32Ping.h>

#include "ESP32Ping.h"

に変更します。

これらは、ESP32Pingライブラリをインストールせずに、スケッチと同梱して利用するための変更です。

あとは、SSIDとパスワード、pingしたいリモートIPアドレス(192.168.1.1など)を書き換えます。

たったこれだけです。

3. 実行

焼き込んだら、シリアルモニタを開きます。
Wi-Fiに接続されると、自身のIPアドレスが表示され、対象のIPアドレスが表示され、成功すると、Successと表示されます。

Connecting to WiFi
.......................................
WiFi connected with ip 192.168.1.3
Pinging ip 192.168.1.1
Success!!

(これは192.168.1.1 に対してpingした例です)

4. おわりに

ESP32でpingをする場合、別途ライブラリが必要という点に驚いたのですが、そのライブラリ多く、どれを選ぶか結構悩みました。
今回はESP32Pingを使いましたが、他にも色々とあるようです。例えば次の記事が、とても参考になります。ライブラリの手動インストール方法も説明されています。
https://qiita.com/nanbuwks/items/06f87b278a3d2269e39a

ライブラリがあれば、ping自体は手軽にできるということが伝わればと思います。

おっと、記載するのを忘れてました。
pingが何か分からない場合は、「ping コマンド 初心者」みたいな単語で検索すると良いでしょう。

pingをESP32に行わせる必要性ですが、基本的には無いでしょう。それぞれの目的のサービスにアクセスし、タイムアウトになれば、それはサーバが落ちていると判断して、その場合の処理を行う、という実装で良いと思います。今回私は、ESP32自身にネットワークの状態を把握させたいと思いpingについて調べました。自身のパソコンやラズパイで行うのも手軽で良いのですが、作業している最中に、いちいちコマンドで行うのも面倒です。そこで、状態をLEDで表示することを考えました。NGであれば赤、OKであれば緑のLEDを点灯させました。いわゆるパトライト(←(株)パトライトの商標とのこと)みたいなものです。 それにはESP32は都合が良い訳です。今回の例のように、とても簡単に作ることができました。

1
1
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
1
1