2019年1月20日ESP32をはじめよう!(開発環境を準備)ESP32マイコン格安マイコンの1つであるESP32を使います。開発環境「ESP-IDF」の使い方を説明します。ダウンロードするMSYS2の環境設定でESP-IDFのパスを通すPCと接続してUSBドライバの設定とシリアルポート確認サンプルプロジェクトの実行PCでESP32を開発するには?手持ちのPC(windowsまたはLinux)に、「ESP-IDF」をインストールして開発環境をつくります。ESP32は開発できます。全ての機能を使うことがまだできません。公式の「ESP-IDF」を使うともっといろいろな機能が使えます。gccコンパイラなどのUNIXコマンドが使えるソフトです。ESP32用のC言語ソースをgccコンパイラでコンパイルするために、このMSYS2を使います。ESP-IDFの注意点IDFは日々アップデートされており、数か月後には使い方が変わっている可能性があります。ESPRESSIF社のGitHubの以下のページに英語版使用方法がありますので、最新情報はこちらを確認してください。当サイトでは、windows7(32bit)を使っています。windows10やLinuxOSでも開発可能です。※価格は多少変動する場合があります。Guide」の以下のページを開いて下さい。Setup」に、ZIPファイルリンクがあります。ここをクリックしてダウンロードしてください。2019/01/15現在、20181001というバージョンですが、最新版に更新されていたらそれを使って下さい。ファイルサイズが1GBを超えますのでダウンロードに時間がかかりますので注意してください。3ダウンロードしたzipを解凍します。解凍したら、下図のように解凍後フォルダの中の「msys32」フォルダをDドライブ直下(またはCドライブ直下)にコピーします。コマンドラインでフォルダのパスを指定を頻繁に使います。Cドライブ直下か、またはその他のドライブ直下の方が長いパス名を入力しなくて済む為このようにしました。ひとつストレージがある場合は、システムドライブとは別のDドライブ直下に置きました。※コピーするだけでも多量のファイルがある為、5分以上の長い時間がかかりますので注意してください。4コピーが完了したら、コピー先のmsys32フォルダを開きます。「mingw32.exe」をクリックして起動します。64bitパソコンをお使いの方も「mingw32.exe」を使用してください。現時点では、mingw64.exeがうまく動作せず不安定です。ウィンドウが開きます。今後、ここにコマンドを入力します。6msys32フォルダの中にhomeフォルダがありますが、その中にご自分のユーザー名フォルダが作成されます。ファイルやプロジェクトを作成していきます。D:\msys32/home/user/このフォルダ以外で作成するとうまく動作しませんのでご注意ください。GitHubで公開されていています。C言語ソースファイルやライブラリ、環境設定ファイル、Makeコマンド設定ファイルなどが一式そろっています。clone」するか、以下のサイトからダウンロードします。→get-started-get-esp-idf1「msys32/home/自分のユーザー」フォルダの中に、「esp」というフォルダを作成します。D:\msys32/home/user/esp/2msys32.exeを起動して、以下のようなコマンドを入力してカレントディレクトリを移動します。ところはご自分のユーザー名フォルダに書き換えてください。3以下のコマンドを入力して、esp-idfを取得します。ある最新のプログラムをダウンロードできます。–recursive上記のオプションコマンドを入れないとサブモジュールが最新版になりませんので気を付けてください。cloneには少々時間がかかります。完了すると、以下の様な感じでGitHub上の「ESP-IDF」と同じものができます。GitHubからZIPファイルをダウンロードして解凍しても同じことができます。MSYS2の環境設定でESP-IDFのパスを通す1再度mingw32.exeを起動します。2以下のコマンドを入力してカレントディレクトリを「esp」直下まで移動します。移動したら、esp-idfをcloneしたパスを確認します。esp-idfcygpathパス表記をWindows/UNIX形式に変換します。以下のようなパスが表示されます。D:/msys32/home/user/esp/esp-idf3IDFのパスを通すため、設定ファイル「export_idf_path.sh」を作成します。/etc/profile.d/export_idf_path.sh以下の内容を記述します。IDF_PATH="D:/msys32/home/User-Name/esp/esp-idf"※User-Nameはお使いのPCのユーザ名に変えてください。以下のコマンドを入力してvimを終了します。:wq以下のパスに「export_idf_path.sh」が作成されます。d:\msys32\etc\profile.dD:\msys32/etc/profile.d/export_idf_path.sh「export_idf_path.sh」は、メモ帳などを使って作成することも可能です。文字コードや余計な改行コードが入ってしまうため、vimコマンドで作成することをお勧めします。記述してもパスが通らなくて苦労しました。4このファイルはmingw32.exeの起動時に読み込まれる為、一度bashを終了して再度起動します。ファイル作成が出来ていれば以下のコマンドを入力した時にパスが表示されます。IDF_PATHD:/myss32/home/user/esp/esp-idfパスが表示されない場合は設定出来ていませんので、export_idf_path.shの保管場所やコマンドの文字が間違っていないか等を確認しましょう。PCと接続してUSBドライバの設定とシリアルポート確認1USBケーブルをESP32のボード接続します。すると、PCに自動でドライバがインストールされます。2コントロールパネル→デバイスマネージャー→ポート(COMとLPT)に、esp32のデバイス名が表示されます。Bridge(COM3)」ここで表示されるCOMポート番号はプロジェクトをビルドした後の書き込みで使用するので控えておいてください。シリアル通信の変換チップを特定してインターネットでドライバを検索してインストールします。Drivers」のドライバをインストールする必要があります。1コントロールパネル→デバイスマネージャー→ポート(COMとLPT)に、esp32のデバイス名が表示されます。driver」でググッたら、以下のサイトを見つけました。(デフォルト)」をクリックしてドライバをダウンロードします。4ダウンロードしたファイルを解凍して、フォルダ内の「CP210xVCPInstaller_x86.exe」をクリックしてインストールします。(64bitをお使いの方は、x64)サンプルプロジェクトの実行サンプルプロジェクトをコピーしてビルド・書き込みします。1espディレクトリ直下にサンプルプログラム「hello_world」をコピーします。.以下のようになるか確認してください。D:\msys32\home\user-name\espesp-idf/hello_world※ESP-IDFではパスのスペース(空白)は対応していません。単語を区切りたい場合は_(アンダーバー)で区切り、日本語文字などの2バイト文字も避けましょう。その前に...portの設定2ビルド時や書き込みの設定をGUIのメニューから行います。下のコマンドを実行してhello_worldプロジェクトに移動し、GUIを表示させます。menuconfig以下のように表示されます。3シリアル通信のポートがデフォルトではLinux用になっているのでWindows用に修正します。config」を選択し、<Select>が青い状態でEnterを押します。port」を選択してEnterを押し、ポートのパス設定を「/dev/COMxx」に修正してを選択してEnterを押します。※COMxxはデバイスマネージャーで調べたCOM番号です。5設定変更したら<Save>を選択して設定を保存します。6保存したらでEnterを押してメニューを閉じます。プロジェクトをビルドして書き込み以下のコマンドでビルド・成功後は書き込みを行います。flashこれにより全てのESP-IDFコンポーネントがコンパイルされます。以下のバイナリが生成されESP32ボードに書き込まれます。ブートローダパーティションテーブルアプリケーション7書き込みが成功すると以下のような画面になります。書き込んで動作しているespボードからPCのCOMポートへデバッグ用のデータが出力されています。Termなどのターミナルソフトで接続してもよいですが、以下のコマンドでbashウィンドウに出力する事ができます。world!」とデバッグ出力で表示し、10秒後に再起動を繰り返すというサンプルプログラムです。Ctrl+Cでキャンセルできます。これでビルド・書き込み環境が構築できました。