LoginSignup
6

More than 3 years have passed since last update.

macOSでESP32のHello World!

Last updated at Posted at 2019-10-14

M5Camera(ESP32)を使った、Homekit対応の監視カメラのワークショップを開催するため、Macへ開発環境セットアップ方法を紹介します。

基本的に公式の英語ページの内容です。

  • 2019/11/10 macOS Catalinaでの動作確認とシリアルポートの確認を追記しました。

M5Camera.jpg

ワークショップ案内

2000円から始めるHomeKit対応監視カメラ自作ワークショップ#2

  • 2019/11/08 ワークショップを開催終了しています。定期的に勉強会を主催していますので、次回、ご参加ください。 https://connpass.com/event/151090/

動作確認環境

  • MacBook 2017
  • macOS Catalina 10.15.1
  • M5 Camera

ツールチェーンのセットアップ

mkdir -p ~/esp
cd ~/esp
curl -O https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
tar -xzf ./xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz

ESP-IDF開発ツールをインストール

cd ~/esp
git clone -b v3.3 --recursive https://github.com/espressif/esp-idf.git
  • ネットワーク環境によりますが数分かかります。

パスを追加

nano ~/.bash_profile
export PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH
export IDF_PATH=~/esp/esp-idf
  • お好きなエディタで .bash_profileのファイルにパスを追加する。例はnanoテキストエディタの場合です。
  • ctrl+oのファイル上書き ctrl+x で終了します。

パスを反映

source ~/.bash_profile

サブディレクトリの追加必要なファイルをダウンロード

cd esp-idf
git submodule update --init --recursive

追加で必要な物をダウンロード

python -m pip install --user -r $IDF_PATH/requirements.txt
  • 既に、python関連がインストールされている場合は、インストール済みになります。
  • Error: No module named pip となる場合は、sudo easy_install pipにて、管理者権限でpipモジュールをインストールします。

書き込みシリアルポートの確認

ls /dev/cu*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.usbserial-xxxxxx ← 英数字の番号

/dev/cu.usbserial-xxxxxxまたは/dev/cu.SLAB_USBtoUARTがM5 Cameraです。

hello worldを試す

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
  • hello worldのプロジェクトをコピーします。

Configure

cd ~/esp/hello_world
make menuconfig
  • Serial flasher config > Default serial portを /dev/ttyUSB0を書き込みシリアルポートで確認したポートに書き換えます。 必ず、Saveして、Exitしてください。
  • /dev/cu.usbserial-xxxxxxまたは/dev/cu.SLAB_USBtoUARTがM5 Cameraです。

M5Camera(ESP32)デバイスへ書き込み

make flash

確認

make monitor
  • モニタの終了はctrl+]です。

macOS Catalinaの注意事項

esptool.py v2.8-dev
Flashing binaries to serial port /dev/cu.usbserial-xxxxx (app at offset 0x10000)...
esptool.py v2.8-dev
Serial port /dev/cu.usbserial-xxxxx
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
  • macOSのCatalinaでは、ESPの書き込みに失敗するので、ご注意ください。まだ、macOSのアップデートはオススメしないです。
  • 2019/11/10時点、回避先がまだ、見つかっていないので、LinuxまたはWindowsの環境で書き込む必要があります。

参考・引用

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
6