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に表示した結果が下。問題なく転送できたみたい。
ファイル転送🙌