ESP32のベースプロジェクトを作る

ESP32のベースプロジェクトを作る

ESP32のベースプロジェクトを作る

以下の仕様で各種プロジェクト用のベースとなるプロジェクトを作ってみました。
こんな感じのです。

  • Wi-Fi接続中はLED点灯、Wi-Fi接続後に消灯
  • Wi-Fi接続後はQRコードでURLを表示
  • Wi-FiのSSDとかパスワードなどの設定はSDカードから読み込み
  • Web用のHTMLもSDカードから読み込み
  • SDカードとSSD1306ディスプレイは個別にFreeRTOSのタスクにする

これだけです。

作成したのは今年の1月くらいだったはず。
これを作ってる最中にFreeRTOSのタスクとメッセージキューの扱い方を(なんとなく)覚えました。

Web画面

QRコードからアクセスした際のWebページは以下のようになってます。

メモを入力してSaveボタンを押すと、内容がSDカードのsaveファイルに保存されます。
再読み込み時にはSDカードの内容を表示します。SDカードへの書き込みサンプルですね。

回路図

回路図は以下のようになります。

ソースコード

ソースコードや回路図はGetHubに纏めて置いてあります。以下を参照してください。

WiFiCOntrolBase

フォルダ 説明
/Front Webアプリのソースが入っています。Vue.jsです。
/KiCad 回路図です。KiCad のプロジェクトが入ってます。

ソースの構造

ソースはC++になります。
各ソース毎にFreeRTOSのタスクにしています。

ソース 説明
main.cpp メイン処理。他のコードの初期化などを行います。
wifi.cpp Wi-Fi関連処理。
web.cpp Webサーバー。
sd_card.cpp SDカード制御用。
save_data.cpp SDカードへのデータ書き込み・読み込み。
oled_display.cpp SSD1306の128x64ディスプレイの制御用。

ビルド

menuconfigで sdkconfig の内容を設定した後ビルドして書き込めば動作する・・・はずです。

使い方

GitHubのREADME.mdにあります。

README.md

コメント

このブログの人気の投稿

(真)ESP32の開発環境をVSCodeで作る

ESP32にmicroSD接続

ESP32でデバッグ