カテゴリー
ESP8266+ESP32+RISC-V

Arduino IDEでESP32(ESP-WROOM-32)を使用する方法・途中版

ESP32用のArduino IDE開発環境をセットアップしてみましたので、その手順を紹介します。開発環境が正式にリリースされる際には、より簡単なセットアップ方法が登場するかもしれません。
本ブログは、それまで待てない方が対象です。

ESP32用Arduino IDE開発環境セットアップ方法
まずは、Arduino IDEを起動し、環境設定から「スケッチブックの保存場所」を確認して下さい。Windows 710の場合は、以下のディレクトリ・パスが設定されていることが多いようですが、クラウド上のHDDと連携している場合など、OSの設定の違いによっては異なるディレクトリ・パスが表示される場合もあります。
  C:/Users/(ユーザ名)/Documents/Arduino/

もし、上記のディレクトリ・パス名の中に日本語(全角文字)が含まれている場合は、保存場所を英文字(半角)だけのディレクトリ名へ変更してください。ユーザ名についても必ず英文字を使用してください。なお、エクスプローラで表示されるフォルダ名「ドキュメント」やユーザ名については日本語でもかまいません。

ここでCygwinを使用します。Cygwinのインストール方法については、後半の「3. CygwinとGitをインストールする」をごらんください。

Arduino IDEを終了させてから、Cygwinを起動し、確認したディレクトリ・パスをもとに以下のコマンドを実行すると、GitHubからArduinoフォルダへArduino ESP32をダウンロードできます。
  $ cd /cygdrive/c/Users/(ユーザ名)/Documents/Arduino/
  $ git clone https://github.com/espressif/arduino-esp32 hardware/espressif/esp32

Arduino ESP32のインストールを行うには、ダウンロードしたtoolsフォルダに含まれる、get.exeを実行してください。
  $ cd hardware/espressif/esp32/tools/
  $ chmod a+x *.exe
  $ ./get.exe

実行時にエラーが発生した場合は、エクスプローラの「管理者として実行する」を使って実行してみます。実行画面の表示が読めないほどの速さですぐに消えた場合は、Cygwinのときと同じエラーが表示されたと考えて良いでしょう。Arduino IDECygwin上で表示されたディレクトリ・パス名に日本語(全角文字)が含まれている場合は、get.exeを実行することができません。Arduinoフォルダを英文字だけのディレクトリ・パスへ変更してください。

初めてESP32開発ボードをPCUSB接続すると、自動的にUSBシリアル変換IC用ドライバのインストールが開始されます。数分以上の時間を要する場合がありますが、USBを抜かずに、完了するまで待ってください。インストールが完了したら、デバイスマネージャを使ってシリアルCOMポート番号を確認しておきましょう。なお、電源供給の無いUSBハブを使用すると、電源容量が不足し、失敗することがあります。この場合、たとえインストールに成功しても、動作が安定しない場合が多いので、なるべくPC本体のUSB端子へ接続してください。

Arduino IDEを起動すると、下図のように「ツール」メニューの「ボード」項目内に「ESP32 Arduino」が追加されます。「ESP32 Dev Module」を選択し、また、同じ「ツール」メニュー内の「シリアルポート」項目からCOMポート番号を選択してください。


開発環境Arduino ESP32は頻繁に、更新されています。定期的に下記のコマンドを実行して、更新すると良いでしょう(実行時はArduino IDEを終了しておく)。
  $ cd /cygdrive/c/Users/(ユーザ名)/Documents/Arduino/hardware/espressif/esp32/
  $ git pull

以下は2016年12月時点での古いインストール方法です。
最新版では、上記のようにget.exeを使用することでPython実行環境などのインストールが不要になりました(実際にはPython実行環境がexeに含まれており、以下の作業が自動化された)。

インストール先は、Cドライブの直下などに「Arduino」フォルダを作成するのがよさそう。Program Filesフォルダへインストールすると、後述のCygwinで操作した時に適切に動作しない場合がある(かもしれない)。
全てのインストール完了後に起動し、スケッチを作成した時の様子。

2. Python 2.7.12を下記からダウンロードし、インストールする。

インストール時のカスタマイズ画面で、一番下に表示される「Add python.exe to Path」の部分の「X」印をプルダウンして、「Will be installed on local hard drive」を選択する。
Pythonのインストール画面(参考文献から引用)

3. CygwinとGitをインストールする

Cygwinと、Gitをインストールする。Gitをインストール済みなら、次へ進んでください。
なお、Cygwinを入れない方法もある(詳細=git-scm.com)。
下記からsetup-x86.exe(Windows 32bit版の場合)、またはsetup-x86_64.exe(64 bit版の場合)を実行する。新規インストールも追加インストールも同じEXEで実行できる。
実行後、下記のマニュアルの1ページ目と2ページ目にしたがって、Cygwinのインストールを行う。
そして、3ページ目については、一つ目(ダウンロードするサイトの選択)だけを行う。
「Select packeges」の画面で、「Search」欄に「git」と入力し、以下の項目を探し、選択する。
重複になるが、Cygwin上で動作するPythonもインストールする。
バージョン2.8.3   git: Distributed version control system
バージョン2.7.12  python: Python language interpreter
本インストールには不要だが、今後、PythonをCygwinで利用する場合は、下記も追加しておく。
バージョン15.2   python-setuptools: Python packege management tool

4. pyserialをインストールする

DOSプロンプトを開いて、以下のコマンドを入力する(赤文字の部分)。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\xbee>python -m pip install –upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 547kB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Uninstalling pip-8.1.1:
      Successfully uninstalled pip-8.1.1
Successfully installed pip-9.0.1
C:\Users\xbee>pip install pyserial
Collecting pyserial
  Downloading pyserial-3.2.1-py2.py3-none-any.whl (189kB)
    100% |################################| 194kB 1.1MB/s
Installing collected packages: pyserial
Successfully installed pyserial-3.2.1
C:\Users\xbee>

5. ESP32用の開発環境のインストールを行う

Arduino IDEのフォルダをCドライブの「Arduino」フォルダにインストールしていた場合は、以下のようにコマンドを順に入力する。その他のフォルダの場合は、最初のcdの内容を修正して入力する。

$ cd /cygdrive/C/Arduino/hardware/
$ mkdir espressif
$ cd espressif
$ git clone https://github.com/espressif/arduino-esp32.git esp32

引き続き、以下を入力する。

$ cd esp32/tools
$ python get.py

エラーが出た場合は、get.pyをテキストエディタで開き、「import ssl」を追加し、再度、「python get.py」を実行する。

(省略)
import tarfile
import zipfile
import re
import ssl
(省略)

6. ESP32モジュールまたは開発ボードをPCへ接続する。

しばらくすると自動的にドライバーがインストールされる。初めてインストールする時は、長い時間がかかることがある。気長に待つか、USBシリアル変換アダプタICのメーカーのホームページからドライバをダウンロードする。
正しく、インストールされれば、デバイスマネージャへ表示される。

7. Arduino IDEを起動する。

8.「ツール」メニューの「ボード」から「ESP32 Dev Module」を選択する。

項目「ボード」から「ESP 32」を選択し、シリアルポートのCOM番号をESPモジュールが接続されているポートに合わせて設定する。

トラブル対策

■コンパイルエラー Permission Denied
 cd /cygdrive/C/Arduino/hardware/espressif/esp32/tools/
 chmod -R a+x *
あるいは、toolsフォルダを右クリックして「プロパティ」画面を開き「セキュリティ」タブでアクセス権限を設定(それで対策が可能かどうかは未確認です)。
過去、私は、Arduino IDEのインストール先をProgram Filesフォルダにしていたことがあります。この場合、適切にアクセス権を設定しても、不具合が生じたので、以降、ドライブの直下にArduinoフォルダを配置するようにしています。
■exec: "python.exe": executable file not found in %PATH%
手順2のWindows用のPythonのインストールで、パスが設定されていなかった可能性がある。手順2を再実行して設定する。
Windows用のPythonをインストールせずに、Cygwin用のPythonのPATHを設定しても動くかもしれないが(C:\cygwin\bin)、PATHだけの問題ではないと思う。ファイル名はpython-2.7.exe。もちろん、パス設定だけでは動かないことは明白。コピーして、ファイル名を合わせたら、そのまま動く!?(未確認)
私は、素直!?にWindows用のPythonを追加してしまいました。

Pythonが2つインストールされます。

この方法だと、Pythonが2つもインストールされてしまいます。Windows用のPythonフォルダの容量は70MB。重複しないインストール方法は、下記の「参考文献など」を参照してください。少なくともPythonは重複しません。それが最適かどうかは。人によって重複させたくないものが異なると思います。
セキュリティの観点では、アキレス腱をあまり多くのシステムに握られたくないでしょうから、普段お使いのシステムを中心に環境を整えておくのが良いでしょう。
あるいは、一つのPythonをうまく共用することも出来るはずです。成功したら、教えてください。
そのうち使わなくなるインストール方法なので、短期間の使用なのであれば、どんな構成でも良いのですが、こういった中途半端な情報を公開すると、いろいろとクレームが来ることが多いので、その対策のための余談でした。

インストール後、真っ先に必要になるピン配列用

ピン配列表(参考文献から引用) ESP8266では不足していたGPIOやADCが充実

参考文献など

参考文献・コンテンツの引用:
https://github.com/espressif/arduino-esp32/blob/master/doc/windows.md

ボクにもわかるESPモジュール

https://bokunimo.net/blog/category/esp/

by ボクにもわかる電子工作
https://bokunimo.net/

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es