ESP32Pingを使う(2021年梅雨)
1. はじめに
Ardino-IDEを用いてESP32でpingをするためには、ライブラリが必要なようです。今回は、ESP32Pingライブラリを試して見ました。ただ、Arduino-IDEに候補として上がってこなかったため、スケッチと同梱し(手動インストールせずに)利用しました。(この記事は2021年5月現在のものです。今後、Arduino-IDE上にpingライブラリの候補として上がるかもしれません)
2. ESP32pingライブラリをクローン
次のページからzipをダウンロードし展開します。(もしくは、このリポジトリをgit clone し、そのフォルダに移動します)
https://github.com/marian-craciunescu/ESP32Ping
3. サンプルを試す
ESP32Pingのフォルダ直下にある次の4つのファイルを examples\SimplePing
フォルダにコピー(or移動)します。
- ESP32Ping.cpp
- ESP32Ping.h
- ping.cpp
- ping.h
そのままでは動きません(ライブラリとしてインストールしていないため)ので、少し修正します。
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は都合が良い訳です。今回の例のように、とても簡単に作ることができました。
Author And Source
この問題について(ESP32Pingを使う(2021年梅雨)), 我々は、より多くの情報をここで見つけました https://qiita.com/dzonesasaki/items/a3915013cb6134ec8664著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .