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にあります。

コメント
コメントを投稿