k.sato
2023年7月20日 14時23分
佐藤です。
お世話になっております。
Armadillo-640製品マニュアル Armadillo Base OS 対応
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
上記の10.1.CUI アプリケーションを開発する
に手を入れpythonでSPI通信を行う方法について教えていただきたいです。
import spidevを使用するために
vscode プロジェクトの container/packages.txt に debian のspiのパッケージを追加するのだと思いますが、
spi-toolsなのでしょうか?
どれをインストールするかはどうやって調べるのがよいのでしょうか?
よろしくお願い致します。
コメント
k.sato
マルティネ様
佐藤です。
パッケージ検索について具体的に教えていただき、ありがとうございます。
>- python3-spi で検索してみたところ、python3-spidev パッケージが存在しますが、debian bookworm 以降が必要ですね… https://github.com/doceme/py-spidev のパッケージです。
ただcontainer/packages.txt に python3-spidevを追加しても
「Generate development swu」で失敗していたのはそういうことだったのですね。
> 現在のコンテナが debian bullseye を使っていますので、そのまま使えません。
> 解決方法はいくつかあります:
> * debian bookworm が先月に stable となりましたので、Armadillo 640 でコンテナをアップデートしても問題ありません。vscode プロジェクトの containers/Dockerfile
の FROM docker.io...
を bullseye-slim
から bookworm-slim
に編集したら、container/packages.txt に python3-spidev を追加できます。
こちらの方法でSPI通信が確認できました。
ありがとうございました。
at_dominique.m…
2023年7月20日 16時45分
佐藤さん
マルティネです。
> import spidevを使用するために
> vscode プロジェクトの container/packages.txt に debian のspiのパッケージを追加するのだと思いますが、
> spi-toolsなのでしょうか?
> どれをインストールするかはどうやって調べるのがよいのでしょうか?
https://www.debian.org/distrib/packages.ja.html (packages.debian.org) で debian のパッケージ検索はできます。
具体的に:
- spi-tools のパッケージの中身を表示すると、python で使えるファイルがないことが分かります:
https://packages.debian.org/ja/bullseye/arm64/spi-tools/filelist (spi-tools を bullseye で検索、パッケージの詳細を表示して、arm64 の「ファイル一覧」リンクで表示)
-
python3-spi
で検索してみたところ、python3-spidev パッケージが存在しますが、debian bookworm 以降が必要ですね… https://github.com/doceme/py-spidev のパッケージです。(wildcard で検索できませんでした… ATDE で
apt search python.*spi
が一番近いですが、debian bullseye にそのパッケージがまだないためそこに引っかかりません…他に使えそうなパッケージはなさそうですね。)現在のコンテナが debian bullseye を使っていますので、そのまま使えません。
解決方法はいくつかあります:
* debian bookworm が先月に stable となりましたので、Armadillo 640 でコンテナをアップデートしても問題ありません。vscode プロジェクトの
containers/Dockerfile
のFROM docker.io...
をbullseye-slim
からbookworm-slim
に編集したら、container/packages.txt に python3-spidev を追加できます。* 手間かかりますが、パッケージを bullseye にバックポートしてインストールできます。あまりメリットがないので説明を省きます。
* パッケージを諦めて、pip をパッケージでインストールして pip で依存を管理できます(これも containers/Dockerfile の直接変更でできます)
よろしくお願いします。