投稿

4月, 2024の投稿を表示しています

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 の内容を設定した後ビルドして書き込めば動作する・・・はずです。 使い方 GitHu