【ESP32】ESP-IDFのidf.pyがエラーで使えないときの対処法【Python】

ESP32

目次

記事の目的

Pythonをやってこなかったためエラーの意味が分からず苦戦したのでメモ。

注意すること

Windowsの環境変数を追加するので、不具合が生じるかもしれません。PythonやOSに詳しくないので責任は持てません。不具合が出たらすぐ追加報告します。

私が購入したのは上側の15*2Pinの方ではなく下側の19*2Pinの方なので注意。


いわゆるNodeMCU-32Sと呼ばれる互換モジュールですね。

上側はDOIT ESP32 DEVKIT V1と呼ばれるもので、見た目が似ていますがPin配置が違います。

Rasbee ESP-WROOM-32S 開発ボード デュアルコア 2.4 GHz WiFi + Bluetoothデュアルモード対応 ESP-WROOM-32 内臓 マイクロコントローラ
Rasbee ESP NodeMCU開発ボード ESP8266 2.4GHz WiFi + Bluetooth デュアルコア CPU 低消費電力 Arduino対応 ワイヤレス CP2102 マイクロ USB デュアルコア モジュール 内臓 マイクロコントローラ ESPは既にアンテナとRFバラン、パワーアンプ、低ノイズ...
waves NodeMCU-32 開発ボード ESP32 ESP-WROOM-32 WiFi Bluetooth
マニュアル

実際のエラー内容

C:\Users\hoge\esp\hello_world>idf.py menuconfig
UnicodeDecodeError: 'cp932' codec can't decode byte 0x87 in position 84: illegal multibyte sequence

意味

WindowsにインストールしたPythonは、初期でOpenした際のファイル文字コードがcp932になるみたい。

Openする時にUTF8をきちんと指定してくれていればよいが、していないとこんなエラーが起きることがある?

確認すること

文字列とバイトの変換エンコードの確認

>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

テキストファイルの読み込み時のエンコードの確認

>>> import locale
>>> locale.getpreferredencoding()
'cp932'

ここをutf-8にしないとダメっぽい。

やること

環境変数に PYTHONUTF8 =1を追加する

これだけ。この後
idf.py menuconfig
をすると
idf.py fullclean
をまずやってくれと言われるのでやりましょう。
その後
idf.py menuconfig
をして下の画面が出れば無事Config表示成功です。

後は公式サイトや他サイトを見て使いましょう。
正直Windows環境で使うのは面倒だ…

コメント

タイトルとURLをコピーしました