0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Micropython導入でてこずった話

Last updated at Posted at 2024-09-03

初めに

みんなさん初めまして。
夏休みに入り暇なので、先日思っていたよりも手こずってしまったMicropyhonの導入をここに記そうと思います。こういうものを書くのは初めてなので温かい目で見ていただければ幸いです💦

動機

最近のマイブームはesp32なのですが、センサなどで取得した値をesp32からパソコンのpythonの方に渡せないかと模索していたところ、参考にさせてもらった記事の大方がmicropythonを使っていたのでその導入に至りました。もともとmicropythonの存在は知らなかったのですが、調べてみるとなかなかに便利そうでどうやらwebサーバの構築も簡単になるらしいのでわくわくしております。

必要なもの

  • ターミナル
  • マイコン

私はwindowsのターミナル,esp32-wroom-32を使いました。途中までubuntuでやっていたのですが、導入途中のポート設定の部分で躓いてしまったため、途中でwindowsの方のターミナルに切り替えました。このことも後述しております。

Step0

Googleなどの検索エンジンで "Micropython導入方法" と調べるとこちらに導入手順が書いてありますので、私はそちらを参考にさせて頂きました。

Step1

Micropythonの公式サイトから、使用するボードに適したファームウェアをパソコンにダウンロードしましょう。リンクはこちらです。リンクにアクセスすると、ボードの種類を選ぶ画面が出てくるので頑張って自分の使うボードを探しましょう。私の場合はESP32/WROOM (Espressif)を選びました。このアイコンをクリックし、ページをスクロールしていくと Firmwareと書かれた見出しの下にダウンロードリンク(画像の黄色マーカ)があるのでそれをクリックしファームウェアをダウンロードしましょう。Step1はこれで完了です。

Step2

ファームウェアをパソコンにダウンロードした後はターミナル上でコマンドを使って使用するマイコンにそのファームウェアを導入するだけなのですが、ここから先の手順で手こずってしまいました。次はこちらにある通り、マイコンにファームウェアを導入するためのツールであるesptool.pyをインストールするために下のようなコマンドを打ちます。

ターミナル
pip install esptool

このコマンドを実行する前にpythonがインストールされている必要があります

pythonがインストールされていれば、ubuntu/windowsどちらのターミナルでも実行できます

esptool.pyをインストールした後、そのインストールを確認するためには次のようなコマンドを打ちます。

ターミナル
esptool --version

こちらも同様、ubuntu/windowsどちらのターミナルでも実行できます

その後次のようなメッセージが出ていなければ、esptoolのダウンロードに成功しています。

ターミナル
"esptool.pyは、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはパッチファイルとして認識されていません"

参考にしていたこちらやChat GPTでは、esptoolを使うときは

ターミナル
esptool.py --version

のように書きましょうと書いているのですが、何度そのコマンドを打っても自分のターミナル上では "esptool.pyは、操作可能なプログラムとして....." と出てきてしまい、ダウンロードはできているのにツールは使えない状態でした。esptoolやpythonのアップデートが関係しているのでしょうか?原因はともかくお使いのターミナルに合わせて esptoolesptool.py を使い分ければ良いと思います。

このesptool.pyが使えない問題を解決するのに結構な時間がかかりましたがここからはトントン拍子でことが進んでいったので、気分爽快というやつです😊

step3

esptoolのダウンロードが終わたら、お使いのパソコンとマイコンを接続しましょう。接続後、お使いのパソコンでデバイスマネジャーを起動させて接続したマイコンのポートがCOM何か調べましょう。私の場合はCOM9でした。そして、esp32にファームウェアを導入する前準備として次のコマンドでフラッシュ全体を消去します。 COM9 の部分は自分で調べたCOMに合わせましょう。

ターミナル
esptool --chip esp32 --port COM9 erase_flash

Linux系のパソコンや仮想環境でUbuntuを使っている場合、ポートはCOMでなく/dev/ttyUSBと書かなければエラーが出てしまいます。自分は何とかCOM9に対応する/dev/ttyUSBを探そうとしましたが無理だったのであきらめてwindowsターミナルでCOMと書きました。

--chipの後に続く "esp32" という部分はお使いのボードに合わせ、変更してください。例えば、esp32s3など。ボードの種類が違った場合は、あなたのボード多分これじゃない?みたいなメッセージが出てくると思います。
フラッシュを消去した後、最後の手順として次のコマンドの青色の部分を書き換えて実行すればesp32にファームウェアを導入することが出来ます。

ターミナル
esptool --chip esp32 --port COM`ポート` write_flash -z 0 `ファイル名`

注意点

  • ダウンロードしたファームウェアのファイルをターミナルのカーレントディレクトリと同じ場所に移動させましょう
  • 引数-zの後の数字は、こちらにある通りの0x1000ですると、後にthonnyなどでReplを使う場合に、エラーが発生してしまうので0にしましょう

コマンドを実行した後、

ターミナル
`esptool write_flash:error:argument......`

ではなく

ターミナル
`Leaving...
Hard resetting via RTS pin...`

というようなメッセージが表示されれば導入は成功です。これで晴れてMicropythonを使うことが出来きます。

終わりに

ここまで読んでいただきありがとうございました。自分はこの導入に丸半日近く費やしてしまいました😇
皆さんはどうだったでしょうか??もしわからないことがあればぜひ質問してくださいね。
さて無事Micropythonの導入が終わったということで、次はマイコンにpythonのファイルを書き込むために必要なThonnyの導入を解説しようと思います。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?