ESP32でインターネット呼び鈴を作ってみた(ESP32、Arduino IDE) | a24a24a24のブログ

a24a24a24のブログ

アメピグ残党。
釣り、温泉、お出かけ、パソコン。最近、電子工作。

 

 

ESP32を使い始めて3日目。サンプルソースを組み合わせながらプログラムして、

「インターネット呼び鈴」を試作しました。

 

 

すごくくだらないんですけど。

「インターネットの向こう側の人が、こちらでチャイムを鳴らすことができる」

というモノです。

使い道としては、ネットゲームやチャットの相手を24時間呼び出しできたり(冗談です)

 

 

 

 

 

 

インターネット呼び鈴のイメージは、こんな感じ。

インターネット越しに、昼だろうが夜だろうがパソコンをシャットダウンしてようが、

不特定多数の人が、ネコダ自宅のESP32からチャイムやブザー音を鳴らせます。

 

具体的には、無線LAN接続したESP32自体が簡易の「Webサーバ」になっていて

スマホやパソコンのブラウザからブログ等に貼ったURLをクリックすると、GETリクエストが飛んで

受信したESP32が指定に応じた処理をします。

(目的はESP32がインターネット越しに動くかの実験なので、ルータ設定等の説明は省略します)

 

 

 

 

回路図。めちゃくちゃシンプルです。

 

ESP32はAliExpressで398円。牛丼並盛の値段?

OLED表示は、I2C接続とSSD1306ライブラリでさっくり動きました。

無線LANの接続、IP周り、Webサーバについても、ライブラリとサンプルソースで楽に動きます。

 

チャイム・ブザーの音ですが、ESP32はD25,D26pinに8ビットのDAコンバータを持っているので

WAVファイルから変換した音声データを垂れ流して再生、スピーカーを直結してみました。

調整すれば効果音くらいなら出せます。

この辺はArduino nanoと比べると、本当に使いやすいです。

 

 

 

 

簡易Webサーバの待機画面。

インターネット時計(NTP)と、ESP32のIPアドレス、MACアドレスを表示してみました。

WiFiが切れた時は、IPが「0.0.0.0」にクリアされて気付けます。

 

 

 

 

Webサーバが外部からGETリクエストを受け取ると、

自動でhttpログ表示画面に切り替わり、アクセスがあったことを知らせるようにしました。

5秒後、時計表示に復帰。

 

 

 

 

OLED表示器の右下に、青いリード線。

これがタッチセンサーになっていて、触るとログ画面を10秒間表示、視認できるようにしました。

ESP32のタッチセンサー、めっちゃ便利です。

 

 

 

 

スマホからインターネット越しに、ESP32の簡易Webサーバへ接続した様子です。

http://(IPアドレス)/ でトップ画面を表示、「here」をクリックすると以下のURLに飛びます。

 

・内蔵LEDオン   http://(IPアドレス)/H

・内蔵LEDオン   http://(IPアドレス)/L

・チャイムを鳴らす http://(IPアドレス)/C

・ブザーを鳴らす  http://(IPアドレス)/B

 

ここでURL末尾の/Cとか/Bというのは、HTMLのような実ファイルはありません。

あくまで合図として扱います。

ESP32自前のWebサーバなので、C言語のプログラム次第で好き放題に処理できるのです。

結果、ESP32がチャイムを鳴らしたり、LEDオンオフを実行します。

 

https:ではなくhttp:なので、ブラウザによっては弾かれるようです。

またキャッシュなどの影響か、やや不安定だったり遅延があります。この辺は仕方ないですね。

 

 

 

 

 

 

短時間ですが、ブログにリンクを貼って、さらにチャットの方々にも試してもらいました。

(ご協力くださった皆様、ありがとうございました)

インターネット越しに誰かが操作しては、手元の機械が「ピンポーン」「ブー」など動作するので、

不思議な感覚というか、遊びとしてはなかなか面白いと思います。

 

 

※今回のようにインターネット側に手元の機器を公開するのは、セキュリティ面でリスクがあります。

 同様のことを試す方は、十分にリスクを検討・承知した上で、自己責任でお願いします。

 

 

 

・・・。

インターネットで誰かが操作したら、夜中に人形の首が動く、ってのも面白そう。やらないけど。

おしまい。