5
4

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 5 years have passed since last update.

ESP32 で Hello world! - Ubuntu (Windows Subsystem for Linux)

Last updated at Posted at 2019-06-17

はじめに

ESP32は、BluetoothやWi-Fiを標準装備しており、様々な開発ボードや小型製品に搭載されています。ここでは、そのESP32で、公式のプログラミングガイド Hello world! の手順をWindows Subsystem for LinuxのUbuntuで説明しています(64bit版を使います)。

what-you-need.png

詳しくは、Get Started - ESP Programming Guideを参照してください。

Ubuntuのインストール

Windows10では、Windows Subsystem for Linux として、Ubuntuが用意されています。ストアからUbuntuを選択して、インストールします。インストールしたら、次のコマンドで update します。

sudo apt-get -y update

開発環境の準備

開発環境として、次のツールを準備していきます。

  • Toolchain - ESP32アプリケーションをビルドします
  • ESP-IDF - ESP32ライブラリとソースコード、Toolchain連携スクリプトが含まれています。
  • Python関連のパッケージ - 開発に必要なパッケージです。

Toolchain の設定

ToolChainに必要なパッケージをインストールします。

sudo apt-get -y install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools

Toolchain(64bit版)をダウンロードし、展開します。

mkdir -p ~/Downloads
cd ~/Downloads
wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

Toolchain が ~/esp/xtensa-esp32-elf/ ディレクトリに展開されたと思いますので、PATHとaliasの記述を ~/.profile ファイルに追加します。

export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"
alias get_esp32='export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"'

~/.profile ファイルを保存したら、一旦、Ubuntuを終了し(exit)、再度、起動します。
次のコマンドで、PATHが設定されていることを確認できます。

printenv PATH

Toolchainの最新版はこちらを参照してください。

ESP-IDF の取得

GitHub から 最新の ESP-IDF を取得(clone)します。

cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git

IDF_PATH の記述を ~/.profile ファイルに追加します。

export IDF_PATH=~/esp/esp-idf

~/.profile ファイルを保存したら、一旦、Ubuntuを終了し(exit)、再度、起動します。
次のコマンドで、IDF_PATHが設定されていることを確認できます。

printenv IDF_PATH

Python関連のパッケージのインストール

Python関連のパッケージをインストールします。

python -m pip install --user -r $IDF_PATH/requirements.txt

USBシリアルポートの設定

ESP32とは、USBシリアルポートで通信しますが、例えば、 /dev/ttyS1 (COM1)にアクセスしようとするとエラーが発生することがあります。
次のように、ユーザーを dialout グループに追加しておく必要があります。

sudo usermod -a -G dialout $USER

Hello world! プロジェクト

プロジェクトのコピー

get-started/hello_world プロジェクトを ~/esp ディレクトリーにコピーします。

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

ESP32の接続

ESP32 をUSBケーブルでパソコンに接続し、デバイスマネージャで、ポートを確認します。
例えば、Windows10で、COM14 として認識されている場合、Ubuntuでは、/dev/ttyS14 として認識されます。

project-configuration1.png

ls /dev/tty*

プロジェクトの設定

menuconfig というプロジェクト設定ツールを起動し、シリアルポートの設定を行います。

cd ~/esp/hello_world
make menuconfig

project-configuration1.png

[Serial flasher config] → [Default serial port] で、先ほど確認したシリアルポートを設定します(例えば、/dev/ttyS14)。
設定後、< Save >で保存し、< Exit >で終了します。

ビルドと書き込み

次のコマンドを実行することにより、ビルドと書き込みが行われます。

make flash

モニター

次のコマンドで、hello_world が実行されている様子を確認できます。monitor を中断するには、 Ctrl+] キーを押下します。

make monitor

おわりに

ESP32は、様々な開発ボードや小型製品に搭載されていますので、ここで紹介した開発環境で、より一層、その性能を活用していただけると思います。

5
4
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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?