XIAO ESP32C3を使ってみる その4(WiFi AccessPoint、二輪ロボット)
はじめに
今回はXIAO ESP32C3をWiFiのアクセスポイントにして、ブラウザから操作できるようにしてみました。
そもそもなぜこの機能を試したのかというと、展示会やイベントで使いやすいかなと思ったからです。来場者の方のスマートフォンで接続して操作することができます。会場のWiFiで接続するよりはよっぽど使いやすいでしょう。
▼実際に小型のロボットを2機作って、ボランティアのイベントに持って行きました。費用は2500円くらいに抑えています。

WiFiのアクセスポイントとして起動する
まずはESP32C3をWiFiのアクセスポイントにして、スマホに接続してみます。
▼Seeed Studioのページに最小限のサンプルがあります。
https://wiki.seeedstudio.com/XIAO_ESP32C3_WiFi_Usage/#use-as-an-access-point
▼プログラムはExamplesのものをベースに作成しました。

サンプルではLEDの点灯をブラウザから操作できるようになっています。
私のプログラムではコメントなどを省いて、シリアルモニタで確認できるようにしました。SSIDはESP32C3、パスワードは123456789にしています。適宜変更してください。
なお、パスワードは短すぎると接続できません。
▼プログラムはこちら
▼プログラムが実行されると、WiFiの接続先にESP32C3が表示されます。

▼接続すると、シリアルモニタにも状態が表示されます。

表示されているIPアドレスにブラウザからアクセスします。数字だけ入力するとhttps通信になるかもしれませんが、httpにしてください。
▼ブラウザの画面はこちら。hereがリンクになっています。

▼リンクを押すと、マイコンでも認識していることが分かります。

小型の二輪ロボットを操作してみる
ハードウェア・ソフトウェアの設計
設計についてここでは詳しく触れませんが、イベント用に小型のロボットを作成しました。
▼こんな感じで設計して、3Dプリンターで作成しました。




▼回路図はこちら。電源は単三電池3本のみです。マイコンにはDC/DCコンバーターで5Vに昇圧しています。

▼連続回転サーボの制御については、前回の記事をご覧ください。
▼プログラムはこちら
実際に動かしてみる
プログラムを書き込み、スマホと接続してブラウザからアクセスします。
▼リンクを選択すると、サーボモーターが回転します。UIはあとでちゃんと作ります...

▼リンクを選択した後にURLを見ると、遷移していることが分かります。

▼実際の動作はこちら
最後に
XIAO ESP32C3をWiFiのアクセスポイントにして操作することができました。超音波センサーも動作確認をして、衝突回避の機能を追加したいところです。
HTMLの書き方があまり分かっていないので、勉強してからUIをちゃんと作ろうかなと思います。
実際に大学のボランティアのイベントにロボットを持って行って、子どもたちに操作を体験してもらいました。楽しんでもらえたようです。
▼大勢の子どもたちが来場していました。はにわは不気味と言われました...




