MicroPythonファームを入れたESP32でスクリプトのアップロードに失敗するときの対処法

ESP32にMicroPythonのファームウェアを入れているときにスクリプトのアップロードに失敗することがあったので対処法について書きたいと思います。

現象

ESP32にmain.pyファイルがアップロードしてあった場合、EPS32をPCとUSBで接続するとESP32に電源が入りmain.pyが実行されます。その状態で、Pymakrを入れたVS codeのステータスバーに表示されるUploadをクリックしても下記のようにアップロードに失敗することがあります。

Upload failed.: timeout Please reboot your device manually.

たとえばmain.pyが下記のコードのような無限ループの場合はアップロードに失敗してしまいます。

while True:
    if tmp != encorder.position:
        tmp = encorder.position
        print(encorder.position, encorder.direction)

しかし下記のような無限ループの場合はアップロードできました。

while True:
    print('hello')
    time.sleep(1)

最初のコードは常にif文を処理しているのでアップロードに失敗して、後のコードはsleepしているのでアップロードができるのかもしれません。

対処法

VS codeのステータスバーのRunをクリックしてStopをクリックしてからUploadをクリックするとスクリプトをアップロードできるようになりました。

コメント

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