15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ESP32 を買って、 Windows 10 に開発環境(ESP-IDF)を構築し、ビルドして、書き込んで、Lチカを確認するまでの記録。

Last updated at Posted at 2020-05-21

ESP32 を買って、 Windows 10 に開発環境(ESP-IDF)を構築し、ビルドして、書き込んで、Lチカを確認するまでの記録。

このエントリでは「詳細はいいから、とにかくはやく動かしてみたい!」という「せっかちで、めんどくさがりな人>わたし😋」に向けて記録しています。

ここ👇まで行く(はず)。

2020-05-20.gif

背景

なんか楽しそう。160MHz とか高速で、Wifiが付いてこの価格(1000円以下)だったら、かなり遊べるんじゃない?と思って。

Wifi経由でして、スマホのブラウザからコントロールするラジコンみたいなのが作れたらいいなぁ、、、なんて。

ESP32 とは

まず、ESP32 ってなに?なひとはここには来ないと思いますが、念の為。

Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラである
160MHzまたは240MHzプロセッサで動作するSoC(Systemon a Chip)です.

これを買いました。(2020/05/20時点の価格は 990円)

HiLetgo ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード

ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetooth
小さなボリューム、簡単に他の製品に埋め込まれる
LWIPプロトコル、Freertosをサポートした強力な機能
AP、STA、AP + STAの3つのモードをサポート
ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード

データシート:
http://wiki.ai-thinker.com/_media/esp32/docs/nodemcu-32s_product_specification.pdf

(プログラマな私が読んでも、実はよくわからない。😋)

ESP-IDF (Espressif IoT Development Framework)

ESP-IDF の詳細はここのページ↓に書いてある。このページを頼りにすすめます。
原文でおっけーなひとは以下は無視して、こちらへどうぞ。

開発環境(ESP-IDF)を構築

Arduino IDE でもビルド&書き込みが可能なため、ググると、そっちを使っているひとが多いような印象がある。

このエントリでは、Arduino IDE ではなく、ESP-IDF に挑戦する。
なぜなら、もしかしたら使い慣れているVSCode をそのまま利用できるかもしれない、と思って。
あと、短いお試しコードであれば問題は無さそうだけど、本格的な長いコードになると、Arduino IDE ではちょっと心細いかな、とも思った。

ちなみに、VSCode の拡張パックは公式のがあるみたい。
https://github.com/espressif/vscode-esp-idf-extension

で、軽い気持ちで、拡張パックを入れてみたのだけど、、、使い方がよくわからなかった。(ダメなやつ>😰)

なので、まずは、基本に返って、 Windowsコマンドプロンプトでのビルド&書き込み を目標としてみました。デバッガ接続はあとで考える。VSCode でデバッグできたら最高なんだけどね。

Arduino IDEや、VSCodeの拡張パックの情報が知りたいひとは、他のエントリを探してくださいませ🙇‍♂️。

1, Windows版 ESP-IDF はこのページから

image.png

2, これ↓をダウンロード&インストール

起動するとお約束の画面になり、

image.png

お試しなので、今回は安定していると思われる「v3.3.2」を選択してみた。

image.png

ちょっと待たされる

image.png

無事にインストール完了

image.png

で、こんな画面が出た。

image.png

ここまで、特に悩むことはない。

3, サンプルコードを準備

フォルダごとまるっとコピーしろって書いてあるのでやってみる。

> cd %userprofile%\esp
> xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world

わたしがやったのは、こんな感じ。

image.png

でも、Windows のエクスプローラーで、適当にフォルダを作って、そこにまるっとコピーして、再びコマンドラインに来ても問題無いと思った。

4, 謎の設定。set-target はスルー

公式サイトの STEP.7 には、以下のコマンドを入力、とあるが、

cd %userprofile%\esp\hello_world
idf.py set-target esp32
idf.py menuconfig

idf.py set-target esp32 でエラーになる。「Python のVersionが違うんじゃね」なメッセージにまぎれているが、よく読むと「set-targetというコマンドは無い」と言っている。

You are using Python 3.7.3. Python 3 support is new, please report any problems you encounter. Search for 'Setting the Python Interpreter' in the ESP-IDF docs if you want to use Python 2.7.

エラーになったら、install.bat とか、export.bat を起動してみて、という記述を見かけたので、やってみたけど、set-targetは相変わらずでした。

公式ページの情報が古いのかな。ということで、set-target はスルー。

idf.py menuconfigは日本語環境だといろいろアレだけど、なんとか動くみたい。
設定を変えるコマンドなので、ビルドしてみるだけなら、起動しなくてもいける模様。ということで、こちらもスルー。

5, ビルド

いきなりこのコマンドでいいみたい。

> idf.py build 

image.png

でビルドできたっぽい。最初は、ファイルが多いのか、それなりに時間がかかります。

6, 書き込み

まず、ESP32 を USB に接続すると、Windows10 が認識して、「COM5 に接続しました!」なメッセージが右下に一瞬表示される。

見逃しても、「デバイスマネージャー」で確認できます。

image.png

COMポートの番号が確認できたら書き込みます。

> idf.py -p COM5 flash

わたしの環境ではこんな感じ。

image.png

書き込みできたっぽい。

7, 動いた?

ちなみに。Hello World のコードは「Lチカ」しません。あたりまえですが。

コードを読むと、どうやらシリアルポートになにやらLOGを出しているように読めます。

TeraTerm を起動して。COM5 に接続。なんか出てる。
2020-05-21.gif

文字化けしてるね。通信速度が合っていないようなので、合わせる。

Setup > Serial port ... > Speed: 115200

2020-05-21-2.gif

やったね。無事に動いたっぽい。😀👍

どうでもいいけど、TeraTermって、GitHub に置かないんですかね。

目標は Lチカ!

1, サンプルコードはこれ

LED をチカチカさせるには、こっちのコードです。

examples > get-started > blink

image.png

これをフォルダごと適当な場所にまるっとコピーする。

2, コードをちょっと直して

LEDのGPIO番号を確認して修正。
デフォルトは5番PINになっているが、付属の回路図を見るとわたしが買ったものは2番PINにLEDがつながっていた。

image.png
blink.c 18 行目を更新して保存。

#define BLINK_GPIO CONFIG_BLINK_GPIO
↓
#define BLINK_GPIO 2

ちなみに、CONFIG_BLINK_GPIO は idf.py menuconfigで変更できるようになっているらしい。おそらく、そっちが正式ルート。

3, ビルド

デフォルトのコマンドプロンプトではなくてこっち「ESP-IDF Command Prompt」を起動。

image.png

起動後、カレントディレクトリを blink に移動してビルド。

> idf.py build

4, 書き込み

> idf.py -p COM5 flash

うまく書けると「Done」になる。
image.png

失敗する場合は、USBを抜き差ししてみるといい。

5, 動いた?

Lチカ、できました???

2020-05-20.gif

ちなみに、TeraTermにはこんなLOGが出てます。
2020-05-21-3.gif

できたら、点滅速度を変えたり、他のサンプルコードをビルドしたり、たっぷりたのしみましょー。

15
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?