GreenPAK(SLG46826)をI2C経由で触ってみる その5 ブラウザ操作の実験

概要

前回はシリアルコンソールから読み出し、初期化、書き込み、リセットをできるようにしました。今回はESP32のWebServer機能を使ってブラウザ経由でアクセスできるようにしたいと思います。

スケッチ

上記にスケッチがあります。ごりごりESP32のWebServerを実装しています。

※現在ライブラリマネージャに登録されましたので、1.0.1をリリースしました。ライブラリマネージャよりSLGで検索するとダウンロードできます。その中のスケッチ例にもあります。

SSIDの変更

WiFi.begin();

上記で引数無しでWi-Fiを初期化しています。これは最後に接続したSSIDとKEYを利用して接続するという意味になります。これまでWi-Fiに接続したことがないESP32の場合にはSSIDとKEYを指定して初期化をする必要があります。

WiFi.begin("SSID", "KEY");

上記のようにSSIDとKEYを指定して初期化してあげてください。一度初期化すればあとで消しても大丈夫です。本当は初期化する専用のスケッチを実行して、実際に使うスケッチは引数なしにしておくほうが自宅のSSIDとKEYをブログなどにまちがって書かないためおすすめです。

ブラウザで開く

実行するとWi-Fiに接続して、IPアドレスが表示されますのでそのアドレスをブラウザで開きます。

WiFi 
...
WiFi Connected.
IP = 192.168.0.2

上記のような出力になると思います。

ブラウザで開くと上記のようなページが開くと思います。まだデザインはまったく入っていません。そしてGreenPAKを接続していないと何も表示されないんだった。

とりあえず現状のIOの確認と、回路データの読み込み、初期化、書き込みがブラウザ経由でできるようにしておきました。

※IO8が出力専用と間違えていますのでGit上では修正してあります。

URLの処理

server.on("/write", handleWrite);

こんな感じでon関数でコールバック関数を指定できるんですね。結構いまっぽい感じです。ただし、私が試したところ「/write?controlCode=0&data=」みたいにdataが空だとコールバック関数が呼ばれません。なんで!!!

まとめ

機能の実装確認まで終わりましたので、もう少し見た目とか作り込みを今後していきたいと思います。

続編

コメント