m5stack/tools/esptool_py/3.0.0/esptool.py: no such file or directory の解決方法

Macにm5 atomを接続したところ、色々と手こずったのでブログに残しておく。

これはatomだけじゃなくm5stackも同じだと思われる。

エラー内容

Arduino IDEからコードを書き込もうとするとエラーが発生した。

Arduino:1.8.16 (Mac OS X), ボード:"M5Stack-ATOM, Default, 1500000, None"

fork/exec /Users/k_ikemura/Library/Arduino15/packages/m5stack/tools/esptool_py/3.0.0/esptool.py: no such file or directory
ボードM5Stack-ATOMに対するコンパイル時にエラーが発生しました。

esptool.py が見つからないらしい

解決方法

同じエラーを抱えている人は世界中にいるようで、このIssueに解決方法が載っていた。

arduino-esp32 projects fail on macOS 11 "Big Sur" · Issue #4408 · espressif/arduino-esp32 · GitHub

esptool.py を上記Issueの通りコピーする。

まず画像のパスからesptool.pyをコピーして

f:id:banbara:20211003104245p:plain
コピー元

下記パスに貼り付ける

f:id:banbara:20211003104323p:plain
コピー先

コピーしただけだと esptool.py: permission deniedというエラーになるので、chmodで実行権限を付与してあげる。

chmod 755 esptool.py

これでesptool.pyは大丈夫、と思いきや、今度は違うエラーが発生する。

Traceback (most recent call last):
  File "/Users/k_ikemura/Library/Arduino15/packages/m5stack/tools/esptool_py/3.0.0/esptool.py", line 37, in <module>
    import serial
ImportError: No module named serial
exit status 1
ボードM5Stack-ATOMに対するコンパイル時にエラーが発生しました。

serialがimportできないようだ。

これも上記Issueに対応方法が載っている。

python2のpipでpyserialをMacにインストールする必要がある。

まずはpython2のpipをインストールするスクリプトをダウンロードする。

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py

あとは get-pip.py を実行する。

python2 get-pip.py

pipがインストールされたので、ようやくserialを取得できるようになった。

python2 -m pip install pyserial

Successfully installed pyserialが表示されたらOK

これでArduino IDEからm5デバイスに書き込めるようになったはず。