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に纏めて置いてあります。以下を参照してください。
フォルダ | 説明 |
---|---|
/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にあります。
コメント
コメントを投稿