レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

福箱に入っていたマイコンを動かす ESP32-S3-BOX-Lite編(ESP-IDF)

2024年02月08日 | 電子工作

前回、ESP32-S3-BOX-LiteのプログラムをArduino IDEで作りました。開発環境としてはこれで十分なのですが、ESP32-S3-BOX-Liteの機能をフルに使いたくなったときの為にESP-IDFの環境も作っておくことにしました。

ESP-IDFをWindows環境で構築するときは色々なツールをインストールしていく必要があり面倒なので、aptコマンド一発で全てインストールできるLinux(Ubuntu23.10)環境で構築することにしました。

ESP-IDFの構築作業は、このページに従うだけです。Step1~Step4の作業を行います。Step4の環境設定のエイリアスは.bashrcに登録しておくといいでしょう。

ESP32-S3-BOX-LiteをUbuntuに接続したときのシリアルポートは/dev/ttyACM0になっていましたが、このデバイスへのアクセス権がないと書き込みできませんので、スーパーユーザになって/etc/groupの中のrootとdialoutのグループに自分のグループ名を追加しておきます。

続いてESP32-S3-BOXの為のフレームワークをコピーします。場所はESP-IDFをインストールした~/espが分かりやすくていいでしょう。この場所で次のコマンドを入力します。

git clone --recursive https://github.com/espressif/esp-box.git

これで準備完了です。端末を開いてエイリアスに登録した下記のコマンドを入力すればESP-IDFを利用できます。

get_idf

まずはサンプルプログラムをコンパイルしてESP32-S3-BOX-Liteに書き込んでみます。~/esp/esp-box/examples/image_displayに移動して次のコマンドを入力します。

idf.py menuconfig

ダイアログが表示されたら右カーソルで"Serial flasher config"を選択して以下のように設定します。

左カーソルでメインメニューにもどったら"HMI Board Config"でESP32-S3-BOX-Liteを選択します。

最後に'Q'キーでメニューを出し、'Y'キーでセーブして終了します。

ESP32-S3-BOX-LiteをPCにつなぎ、次のコマンドを入力するとサンプルプログラムが書き込まれます。

idf.py flash monitor

デモ起動後はCtrl+]でシリアルコンソールから抜けることができます。これでESP-IDFが使えるようになりました。

ESP32-S3-BOX-Liteのサンプルプログラムでは表示にLVGLというグラフィックライブラリを使っています。せっかくなのでこのライブラリの利用手順だけ確認しておきましょう。

まずは雛形となるプロジェクト~/esp/esp-idf/examples/get-started/sample_project/を任意の場所にコピーしておきます。フォルダ名は自分で分かりやすい名前に変えておくといいでしょう。

ESP32-S3-BOX-Liteのcomponentsを参照できるようにします。コピーしたフォルダの中のCMakeLists.txtの"project(main)"の上の行に以下の一行を追加します。

set(EXTRA_COMPONENT_DIRS  ~/esp/esp-box/components)

端末を開いてこのフォルダに移動し、次のコマンドを入力します。

get_idf (すでに入力済みなら必要ありません)

idf.py set-target esp32s3

さらに次のコマンドを入力します。

idf.py menuconfig

ここで上記で行ったmenuconfigと同様の設定を行います。
続いて以下のコマンドを入力します。

idf.py create-manifest

これで準備は完了です。

次はプログラムの作成です。main/main.cを開いて以下の内容をコピーします。

main.c

最後にESP32-S3-BOX-LiteとPCをつなぎ、プログラムをコンパイルして書き込みます。

idf.py flash

これでLVGLが利用できるようになりました。



最新の画像もっと見る

コメントを投稿