「ブラウザでESP32」Kindle本出版しました。


ESP32-WROOM-32シリーズのマイコンは、Arduinoの豊富なライブラリを使うことができます。電子工作で使うデバイスなら大概ライブラリが公開されています。
例えば、大分前に入手したDDS信号発生器AD9851を載せたボードもAD9851のライブラリが公開されているのでESP32から簡単に出力周波数を設定できます。

しかし、ユーザーインターフェースをどうするかが問題です。ユーザーインターフェースもArduinoらしく簡単に作りたいものです。

そこでWi-Fiルーターの設定画面のように、ESP32の「Webサーバー」からブラウザに操作画面を提供することにしました。
ESP32で次の3つのサーバーを動作させます。
● C#やPythonから送られてくるコマンドを受信するための「TCPサーバー」
● ブラウザから送られてくるコマンドを受信するための「WebSocketサーバー」
● ブラウザに操作画面を提供するための「Webサーバー」
ESP32に接続したOLEDディスプレイにESP32のIPアドレス、TCPサーバーのポート番号、WebSocketサーバーのポート番号、Webサーバーのポート番号を表示するようにします。

ブラウザでESP32のIPアドレスを開くと、ESP32の「Webサーバー」から提供された操作画面が表示されます。
スライダーやスピナーを操作すると、ESP32の「WebSocketサーバー」にコマンド文字列が送信されます。
「TCPサーバー」も動作しているので、C#やPythonから普通のソケットでESP32にコマンド文字列を送信することもできます。