Systems社のWi-Fi・Bluetooth内蔵するSoCです。240MHz)で可動する32bitのデュアルコアを内蔵し、520KBのメモリを持っています。Wi-FiとBluetooth両方を備えており、ハイスペックなデュアルコアCPUを持っているのに非常に安価な為、世界中で人気上昇中です。IDEにも対応しており、教育やホビー用としても扱いやすい製品です。IDEか公式SDKのESP-IDFが主流ですが、Arduinoだと使えない機能があったりデュアルコアの性能を活かせなかったりするそうなので、ここではESP-IDFのWindowsでの環境構築について書いていきます。公式のマニュアルはあるのですが、全文英語だったり途中で違うページに飛んだりしてわかりにくい部分があります。GitHub大きく分けて3つの工程となっています。プロジェクトをビルドして書き込みツールチェインの設定まずはツールチェインの設定です。以下のリンク先からツールチェインをダウンロードし、展開(解凍)します。https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip展開したら中身のmsys32を公式マニュアルに合わせてCドライブの直下(C:\)に保管します。Cドライブ直下で無くてもいいですが、マニュアルに合わせた方が不要なトラブルが防げます。保管したらmsys32内のmingw32.exeを起動するとLinuxのターミナル環境と同じbashが開きます。以下のコマンドを入力してespフォルダを生成し、espフォルダに移動します。~/espbashに慣れている人には常識ですが、pwdを入力すると現在のパスが表示されます。ちなみにmingw32.exeを起動時の現在パスはbash上では"/home/ユーザー名"で、Windows上の実際のパスは"C:\msys32\home\ユーザー名"です。次はSDKであるESP-IDFをGitHubから取得します。~/espに移動したら以下のコマンドを入力してクローンを作成します。https://github.com/espressif/esp-idf.git注意事項にありますが、--recursiveのオプションは必ず付けましょう。付けずにクローンしてしまった場合は以下のように~/esp/esp-idfフォルダに移動し、全てのサブモジュールを取得してください。--recursiveESP-IDFへの環境変数設定ツールチェインは環境変数IDF_PATHを使用してESP-IDFにアクセスします。bash上で手動で設定してもよいのですが、起動時に毎回設定するのは面倒なのでユーザープロファイルを作成してIDF_PATHを設定しておきましょう。-C:\msys32\etc\profile.d\フォルダ内にexport_idf_path.shという名前でテキストファイルを作成し、以下のコマンドを書いておきます。この作業はbash上でやるより普通にWindows上で操作した方が楽です。IDF_PATH="C:/msys32/home/<ユーザー名>/esp/esp-idf"このファイルはmingw32.exeの起動時に読み込まれる為、一度bashを終了して再度起動します。ファイル作成が出来ていれば以下のコマンドを入力した時にパスが表示されます。IDF_PATHパスが表示されない場合は設定出来ていませんので、export_idf_path.shの保管場所やコマンドの文字が間違っていないか等を確認しましょう。起動時に手動で設定したい場合はexport_idf_path.shに書くコマンドをbashで入力すればOKです。USBドライバの設定とシリアルポート確認ESP32に書き込む前にUSBドライバの設定とシリアルポートの確認をします。シリアル通信の変換チップを特定してインターネットでドライバを検索してインストールします。評価ボードの場合はモノによってドライバが異なります。Driversドライバーをダウンロードしてインストールしたらデバイスマネージャーのポート(COMとLPT)の欄に表示されます。ここで表示されるCOMポート番号はプロジェクトをビルドした後の書き込みで使用するので控えておいてください。Driversになります。-サンプルプロジェクトの実行ESP-IDFをクローンし、環境変数の設定が出来たら一度サンプルプロジェクトをコピーしてビルド・書き込みしてみましょう。以下のコマンドで~/espフォルダにhello_worldプロジェクトがコピーされます。※ESP-IDFではパスのスペース(空白)は対応していません。単語を区切りたい場合は_(アンダーバー)で区切り、日本語文字などの2バイト文字も避けましょう。.メニューから設定を変更ビルド時や書き込みの設定をGUIのメニューから行う事ができます。以下のコマンドを実行してhello_worldプロジェクトに移動し、メニューを表示させましょう。menuconfigシリアル通信のポートがデフォルトではLinux用になっているのでWindows用に修正します。configを選択し、<Select>が青い状態でEnterを押します。矢印の←→は<Select>などの項目の移動になります。portを選択してEnterを押し、ポートのパス設定を/dev/COMxxに修正して<OK>を選択してEnterを押します。設定変更したら<Save>を選択して設定を保存しましょう。保存したら<Exit>でEnterを押してメニューを閉じます。プロジェクトをビルドして書き込み以下のコマンドでビルド・成功後は書き込みを行います。これにより全てのESP-IDFコンポーネントがコンパイルされ、ブートローダ、パーティションテーブル、アプリケーションバイナリが生成され、これらのバイナリがESP32ボードに書き込まれます。flash書き込みが成功すると以下のような画面になります。書き込んで動作しているボードからはメニューで設定したCOMポートからデバッグ用のデータが出力されています。Termなどのターミナルソフトで接続してもよいですが、以下のコマンドでbashウィンドウに出力する事ができます。world!とデバッグ出力で表示して10秒後に再起動を繰り返すというサンプルプログラムとなっています。Ctrl+Cでキャンセルできます。これでビルド・書き込み環境が構築できました。コーディングはエディタでもよいですが、デバッグもできるEclipseを使用するのがよいでしょう。Eclipseの設定はまた別の記事にしたいと思います。Services)で同じように...AWS組み込みエンジニアがAWS認定クラウドプラクティショナーに合格した話AWS認定試験の内、入門レベルに位置付けされるクラウドプラクティショナーに合格しました。2019の2日目です。