M5Camera(ESP32)を使った、Homekit対応の監視カメラのワークショップを開催するため、Macへ開発環境セットアップ方法を紹介します。
基本的に公式の英語ページの内容です。
- 2019/11/10 macOS Catalinaでの動作確認とシリアルポートの確認を追記しました。
ワークショップ案内
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の環境で書き込む必要があります。
参考・引用