picoに画像ファイルを保存する

pemoroniのpico display packに好きな画像を表示させようと、画像ファイルをpicoに転送したときの覚え書き。

Thonnyでは画像ファイルは送れない

pyファイルはMicroPythonボード用のIDEのThonnyでダウンロードもアップロードもできるけど、画像ファイルは転送できなので、えぇってなった。違う方法で、ファイルを転送する必要がある。

今回は、Adafruit-ampyというツールを使って、ファイル転送してみる。rshellなど使う方法など他にもいろいろある。

Adafruit-ampyとは?

AmpyはAdafruitが開発したコマンドラインツールでMicroPython/ CircuitPython用のボードとWindows/Linux間のファイル操作を実現する。結構、開発が古く、サポートもすでに終了してしまっているが、今回のpicoでは、正常動作が確認できた。

Ampyのインストール

pipを使う。Windows Power Shell を起動して、以下のコマンドで、Ampyをインストールする

pip install adafruit-ampy

Collecting adafruit-ampy
Using cached adafruit_ampy-1.1.0-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: click in c:\users\saibaba\appdata\local\programs\python\python310\lib\site-packages (from adafruit-ampy) (8.0.2)
Requirement already satisfied: pyserial in c:\users\saibaba\appdata\local\programs\python\python310\lib\site-packages (from adafruit-ampy) (3.5)
Requirement already satisfied: python-dotenv in c:\users\saibaba\appdata\local\programs\python\python310\lib\site-packages (from adafruit-ampy) (0.19.1)
Requirement already satisfied: colorama in c:\users\saibaba\appdata\local\programs\python\python310\lib\site-packages (from click->adafruit-ampy) (0.4.4)
Installing collected packages: adafruit-ampy
Successfully installed adafruit-ampy-1.1.0

ファイルリストの確認はls

まず、PICOをPCにつなげた状態で、フラッシュに保存されているファイルのリストをlsコマンドで表示させる。thonnyは閉じた状態で行わないとエラーになるので、注意する。

ampy -p COM11 ls

/main.py
/shell.py
/tank.py
/tankgame.py
/view_logo.py

5個のpyファイルが保存されているとわかる。

ファイル転送はput

logo_pico_display.rawというファイル(PNGファイルからpimoroniのpico display用の画像フォーマットに変換したもの。参考-> Drawing images and animations on the Raspberry Pi Pico Display Pack – Linux tutorial from PenguinTutor )を転送してみる。

コマンドは、putを使う。

ampy -p COM11 put logo_pico_display.raw

logo_pico_display.rawが画像データファイルになる。lsコマンドでちゃんとリストにのっているか確認する。

/logo_pico_display.raw
/main.py
/shell.py
/tank.py
/tankgame.py
/view_logo.py

OK。

ファイル削除はrm

ampy -p COM11 rm shell.py

lsで確認すると、確かにshell.pyが消えてる。

/logo_pico_display.raw
/main.py
/tank.py
/tankgame.py
/view_logo.py

実行もできる

実行はrun。hello.py の中身は、print(‘hello pico’)だけ。

ampy -p COM11 run hello.py

コンソールに実行結果が表示された。

転送したファイルを表示してみた

さっきputで転送した画像ファイルを使って、displayに表示した結果が下。問題なく転送できたみたい。

ファイル転送🙌

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です