インターネット接続の不安定さに悩むユーザーにとって、ルーターやISPのどちらに問題があるのか判断に迷うことは少なくありません。しかし、わずか10ドル程度の費用でESP32ボードを用いたDIYガジェットを構築すれば、自宅のネットワーク状況を正確に把握し、トラブルシューティングを効率化できます。
わずか10ドルで実現するネットワーク監視の仕組み
このDIYインターネット診断デバイスの構築に必要なハードウェアは非常にシンプルです。主要部品はWi-Fi機能を備えたマイクロコントローラーであるESP32ボードで、特にESP32-S3は内蔵RGB LEDを備えているため、別途LEDを用意する手間を省けます。加えて、1.3インチのSH1106 OLEDディスプレイを組み合わせることで、より詳細な情報を視覚的に確認できるようになります。
ESP32-S3に搭載されたRGB LEDは、ネットワークの状態を色で直感的に示します。例えば、青色の点滅はWi-Fiへの接続試行中、緑色の点灯はインターネットが正常に機能している状態、赤色の点灯はインターネット接続がオフライン、そして赤色の点滅はWi-Fiネットワーク自体が利用できない状況をそれぞれ表します。
OLEDディスプレイには、現在接続しているWi-FiのSSID、ローカルIPアドレス、Wi-Fi信号強度、そしてインターネットの稼働時間または停止時間がリアルタイムで表示されます。ディスプレイとESP32-S3間の接続はI2Cプロトコルを介して行われ、配線もSDAとSCLの2本と電源・GNDのみと非常に簡単です。
インターネット接続の正確な診断方法
この自作ガジェットのソフトウェアは、驚くほど簡単な原理で動作します。Googleの8.8.8.8やCloudflareの1.1.1.1のような、常にオンライン状態にあると想定される信頼性の高いIPアドレスに対し、定期的にpingコマンドを送信します。ボードはpingの応答を監視し、インターネット接続の有無を確認します。
もし連続して3回pingの応答が得られなかった場合、デバイスはインターネット障害が発生したと判断し、内蔵RGB LEDを赤色に点灯させ、OLEDディスプレイの表示を更新します。この接続確認の間隔や、ping失敗と判断する閾値は、ユーザーのネットワーク環境に合わせて柔軟に調整が可能です。例えば、安定した回線であれば障害をより早く検知するために確認頻度を上げ、不安定な回線であれば誤検知を防ぐために閾値を高く設定できます。
OLEDディスプレイは、オンライン時には現在の稼働時間、ローカルIPアドレス、信号強度(RSSI)、および時刻を表示します。インターネット障害が発生すると、表示はアラートモードに切り替わり、障害が検出された正確な時刻と、それからの経過時間を表示します。さらに、半秒ごとに点滅するアラートバナーも表示されるため、デバイスが直接視界に入らない場所にあっても、障害の発生を見逃すことはありません。
自作ガジェットの組み立てと設定
ハードウェアの接続が完了したら、次はソフトウェアの設定です。ESP32ボードをコンピューターに接続し、Arduino IDEを起動します。IDE内で適切なESP32ボードとポートを選択した後、準備したスケッチ(プログラムコード)をアップロードします。
このプロジェクトでは、Arduinoライブラリマネージャーから「Adafruit SH110X」と「ESP32Ping by marian-craciunescu」の2つのライブラリをインストールする必要があります。デバイスは特定のネットワーク内で使用されるため、2.4GHz Wi-Fiネットワークの認証情報(SSIDとパスワード)をスケッチ内に直接記述します。ESP32-S3は5GHzネットワークには対応していませんが、インターネット接続の監視という目的においては、ルーターへの接続方式は問題になりません。
初回起動時には、OLEDディスプレイにネットワーク名が表示され、RGB LEDが青色に点滅します。ボードがIPアドレスを取得し、NTP(Network Time Protocol)サーバーと時刻を同期すると、すぐに監視モードへ移行します。この一連の起動プロセスは、一般的な家庭用ネットワークであれば数秒で完了します。
ルーターのランプだけでは分からない真のネットワーク状態
多くの人がインターネット接続の状態を確認する際にルーターのステータスランプに頼りがちですが、これは必ずしも正確な情報を示すとは限りません。ルーターのランプは、ルーター自体が電源に接続され、WAN(広域ネットワーク)に接続されていると認識しているかどうかを示すに過ぎません。これは、実際にインターネットにアクセスできるかどうかとは異なる場合があります。
例えば、ISP(インターネットサービスプロバイダ)のDNSサーバーに障害が発生していたり、PPPoEセッションが切断されたまま再確立されていなかったりするなど、ルーター自体は正常に動作しているように見えても、インターネット接続が機能していないケースは少なくありません。
この自作ネットワークモニターは、PCやスマートフォンといったクライアントデバイスと同じ視点でネットワークをテストします。そのため、モニターが「インターネットがダウンしている」と示した場合、それは実際にどのデバイスからもインターネットにアクセスできない状態であることを意味します。継続的にネットワークを監視することで、インターネットの障害発生時刻と復旧時刻を記録し、ISPに問題報告をする際の具体的な証拠として活用することも可能です。
こんな人におすすめ
- インターネット接続の不安定さに悩んでいる人
- ネットワークトラブルの原因を正確に特定したい人
- DIYや電子工作を通じて実用的なガジェットを作りたい人
まとめ
現代のデジタルライフにおいて、安定したインターネット接続は不可欠です。本記事で紹介したESP32を用いたDIYインターネット診断ガジェットは、わずかな費用と簡単な手順で、ネットワークの問題を正確に特定し、トラブルシューティングを大幅に効率化する強力なツールとなります。ルーターのランプだけでは判断できない「真のネットワーク状態」を可視化することで、ユーザーはISPとのコミュニケーションを円滑にし、より快適なオンライン環境を自ら構築できるようになるでしょう。
情報元:makeuseof.com

