microSDとmicroSDカードリーダーモジュールがちゃんと機能してることが確認できたから
手持ちのアニメ素材を保存してみる。
結論から言うとampyやThonnyでの転送はできなかった。
同じことをしようとしている人がいたら、可能性を潰す方向で役立ててほしい。
知識がついてきて、もし達成できそうなら追記する。
まず色々わかっていない
検索してみたけど、
ラズパイピコにくっつけたmicroSDにPC上のデータを保存する方法を
書いてくれてるページはあんまりなかった。
思いついてる方法としては、
①MicroPythonで”ファイルを転送するコード”を書いてThonnyで実行?
②PCのUSBポートに繋げられるSDカードリーダーで転送
で、これは実際できるのかどうかもわからない。
①の場合、
ファイル転送に使うライブラリがあるのかが不明
でもやってみたいのは①
ライブラリがあるか調べた
見つからなかった。
でもampyってツール?が使えそう
ampyについて
主要な機能を書いてくれてるページがすぐ見つかった。ありがたい。
ampy: MicroPythonマイコンとPCとのファイル転送ツール
ampyはthonnyで実行するよりもコマンドラインで使うのがメインらしい
転送までの手順は
↓この動画を参考にしてみる
Micro PythonでマイコンをPythonプログラミング #2 スクリプト転送とGPIO Lチカ
やってみる
ampyのインストールする
コマンドプロンプトを開いて
pip install adafruit-ampy
を実行
問題なさそう。
コマンドを実行してみる
コマンドの記述方法は
ampy – はだメモ
ここを参照
シリアルポート名の調べ方は
パソコンの COM ポート確認方法
ここを参照
できた。
実際に動画ファイルを転送してみる
・・・
知識不足で全然できませんでした(泣)
代替策
BUFFALO カードリーダー/ライター microSD対応 超コンパクト ブラック 【PlayStation4,PS4 動作確認済】BSCRMSDCBK
買いました。
保存しました。
1分でできました。
遭遇したエラー
①ラズパイピコにアクセスできない
コマンドラインで
ampy --port=COM3 ls
を実行すると
Traceback (most recent call last):
~~~中略~~~
raise PyboardError('failed to access ' + device)
ampy.pyboard.PyboardError: failed to access COM3
アクセスできないよ~って言われて、すっげえ検索してlinuxコマンド調べたりシリアルポートの番号について調べたりしたんだけど1日かかってやっと解決した。
解決方法
Thonnyを閉じる。
ポートが使用中だったのが原因だったっぽい。
こんなことで1日潰れるのマジで勘弁してくれ。
参考になったページ
ampy.pyboard.PyboardError: failed to access /dev/ttyUSB0 · Issue #9 · scientifichackers/ampy
「シリアル接続は2つ同時にできないよ」って書き込みを見るまで
マジで気付かなかった。
②ファイルが転送できない
コマンドラインで
ampy --port=COM3 put C:\Users\〇〇〇〇\Desktop\ゆゆ式01話.mp4
を実行して・・・・
20分くらいすると
Traceback (most recent call last):
~~~中略~~~
raise PyboardError('exception', ret, ret_err)
ampy.pyboard.PyboardError: ('exception', b'', b'Traceback (most recent call last):\r\n File "<stdin>", line 1, in <module>\r\nOSError: 28\r\n')
と返ってきた。
どのくらい転送できてるのかThonnyで確認してみると
0バイト。(◞‸◟)
試してみたこと
- 動画ファイルをデスクトップに移動させた ⇒ ×
- ファイル名からスペースを削除した ⇒ ×
- ファイル名をアルファベットと数字(今回はyuyushiki01)にした ⇒ ×
- デスクトップじゃないとこにあるtemperature_log_test.pyを転送した ⇒ 〇
で、保存先を指定してないのも問題なのかもしれないと思って
putコマンドで保存先を指定する方法を調べた。
↑のページを参考にして
ampy --port COM3 put ファイルのパス/yuyushiki01.mp4 /sd/yuyushiki01.mp4
Thonnyで作ったフォルダのパスを末尾に追加して
保存先を記述してみた結果・・・
- 保存先を指定してyuyushiki01.mp4を転送した ⇒ ×
- 保存先を指定してtemperature_log_test.pyを転送した ⇒ ×
参った。
解決方法
PCに接続して使うmicroSDカードリーダーを買う。
参考になったページ
ampy: MicroPythonマイコンとPCとのファイル転送ツール – Ambient
・ampyのputコマンドで保存先を指定する記述方法
Win10環境下、ESP32に導入したmicroPythonでampyが使えなくなりました。
・uPyCraftが便利って情報
終わりに
苦労した甲斐のない結果になった。
いい方法がある方いましたらツイッターやコメントでご教示いただけると嬉しいです。
次回はもう少し実りのある記事にしたい。