ESP-WROOM-02(以下ESPと略) のマニュアルから抜粋

ESPをソフトAPモードに設定するとスマホから無線LANのアクセスポイントに見えるようになる。

 

図中 UARTホストPC で実行されるターミナルソフトの動作をPIC上でプログラムしておく。

このPICがWEBサーバーのふりをすれば、スマホからはWEBページを見ることができて、簡単なボタンなどの操作ができるようになる。

 

ということで、以前に作ったLED版テニススコアボードの心臓部を取り替えてしまいます。

新規にESPを制御する部分、WEBサーバーのふりをする部分、LEDダイナミック点灯でパターンを表示する部分、のプログラムを作っていきます。

 

で、ハードのほう完成。

 

ESPはサイズが大きいのでスコアボードからはみ出てしまいました。

 

持ち運びでぶつかって折れてしまいそうなので、塩ビ板でカバーを作成。

 

全体。点灯。

 

プログラムのほうはC言語で書きますが、その中にHTML文書を埋め込まないとなりません。

スマホのブラウザからくるHTTP要求にはHTMLで書かれた文を返さないといけないので。

久しぶりにHTML(ハイパーテキストマークアップランゲージ)書きました。

 

スマホからのリクエスト要求をログしていたら、/favicon.ico ファイルをスタート直後から欲しがっていることがわかりました。

これは、フェイバリットアイコンファイル=通称ファビコンというものらしく、ホームページ毎にタブやブックマークについてる小さいアイコンのことみたいです(知らなかった;)。いま記事を書いているときも左上のほうに出てます。

↓これね。

ファイルシステムを持っていないし記憶領域も2K程度のPICに、アイコンファイルを用意できないのでこれはスルーすることにしました。

 

あとは、GET要求(WEBページを見せてくれ)とPOST要求(このボタン押しました)にだけ応えられる作りにしました。

スマホのブラウザ(クローム)の画面

 

手持ちのXBEE無線通信では、10m先と通信できなかったので実用を断念していたテニススコアボードですが、今回のESP-WROOM-02では、スマホを使った場合、13ヤード(テニスのネットからエンドライン、つまりコート長辺の半分)で通信実験できました。

 

ネット付近にボードを設置しておけば、サーブを打つ位置から操作できるということです。

 

スマホを持ちながらテニスするのは危ないので、WEBクライアント側も試作しました。

3.3Vでよいのですが、電流が100mA程度(立ち上がり500mA)必要らしく、電池の問題は発生しそうです。

 

ボタンをつけて電池接続

 

最後に動画。

最初はスマホのブラウザで操作するスコアボード

 

 

 

次はスマホの代替コントローラで操作した場合。