ESP32マイコン
マイコンの概要と筆者
ESP-WROOM-32(以下ESP32と略します)は、上海のEspressif Systems社が開発するマイコンボードで、デュアルコアかつWi-FiとBluetoothに対応しているのが特徴的です。スペックを確認すると(【】内はArduinoによく搭載されているATMega328P比)、動作クロックは240MHz【15倍】、RAMは520KB【260倍!】などと、各部分で圧倒的な性能を秘めています。それでいて、他のArduino純正品よりも安価で入手可能という優れモノです。
少々脱線しますが、筆者は高校時代の2018年から2020年ごろまでロボカップジュニアに参画しており、その際はArduino Mega/Nano、Tennsyをメインのマイコンとして使用していました。大学生となり、当時を振り返りつつ、当時の仲間と話し合ううちに電子工作熱が再燃してきたのも相まって、新しいマイコンを導入してみようといった経緯です。この度WSL2 (Ubuntu 20.04)環境でESP-IDFに手を出しつつ、詰まったところを備忘録的にまとめようと思います。
ボードの選定
ひとくちにESP32搭載ボードといっても、Arduinoと同様、純正品から互換品まで多彩なラインナップが揃っており、性能も当然異なってきます。結論から申し上げますと、今回はこちらの純正品をAmazonで購入しました。
値段は2,890円(22年12月購入)で、LEDと電流制限抵抗まで付属しているので、スターターキットとして必要十分な内容であるという判断です。
ESP-IDFの導入
Arduino IDEでも開発はできます
ESP32ボードの制御をするにあたって、Arduino IDEでも開発が可能です。ですが、今回はEspressif社が無料で公開しているESP-IDFを利用して開発していきたいと思います。茨の道を突き進んでやろうって話ですね。しかしながら2年半もマイコン界隈から離れていたもので、感覚を取り戻すのにも必死、先行きが非常に不安ですが頑張っていきたいと思います。
ESP-IDFのダウンロード
以下に導入までのフローをまとめておきます。こちらの内容、および公式サイトを参考にしていますので併せてご覧ください。WSL2の導入についてはこちらをご覧ください。
まずはLinuxのアップデートを念のため行っておきます。
ESP-IDFに必要なツール類一式をダウンロードします。少々長いですが、全て必要なので漏れなくコピーします。
Python3とpip3をデフォルトに設定します。ここで、pipとは、Pythonのパッケージマネージャです。
ユーザーのディレクトリまで戻り、"esp"という名前のディレクトリを新規作成し、そのディレクトリへ行きます。
続いて、ESP-IDFのgitリポジトリをクローンします。
さらに、espディレクトリ内のesp-idfディレクトリへ移動し、コンパイラーやデバッガーといったその他のセットアップツールの類を導入します。
さらに、環境変数のセットアップを行います。.(ドット)間のスペースに気をつけてください。
これにより環境変数がセットアップされました。ちなみに、追加された環境変数は、
を実行することで確認可能です。私の環境ですと、PATHに多数のディレクトリが追加されたほか、
IDF_TOOLS_EXPORT_CMD=/home/<user>/esp/esp-idf/export.sh
IDF_TOOLS_INSTALL_CMD=/home/<user>/esp/esp-idf/install.sh
が追加されました。なお、ESP-IDFを使用する際は毎回実行する必要があるため、~/.bashrc に以下のコードを追加するとよいでしょう。viはエディターの一種です。操作方法は追記するかもしれません。
ここで確認のため、一度別のターミナルを開いて、環境変数が通っているか先ほどの env コマンドで確認してみてください。また、起動時に毎回
Adding ESP-IDF tools to PATH...(略)
が表示されたら大丈夫です。
まとめ
以上で、基本的なセットアップは終了です、お疲れさまでした!!それでは次回、サンプルを利用してHello, Worldをターミナルに表示させ、Lチカするまで駆け抜けたいと思います。以上!!
Discussion
コメントはまだありません。
ログインするとコメントできます!