私のボードでSPIを操作しようとしています。これが私が思いついたものです:
- SPIはarmbianでデフォルトで有効になっていません。まず有効にする必要があります(対応するDTオーバーレイを有効にする)。
- Linuxでは、/dev/spidev*.*ファイルを介してのみSPIにアクセスできます。
- devフォルダにspiデバイスが表示されていない場合は、My BoardでSPIが有効になっていません。
- 最新バージョンのarmbian spiでは、armbain-config(System / Hardware / spi-spidevの下)で有効にできます。
/boot/script.bin
以前のバージョンでは、fexファイルにデコンパイルし、そこでSPIを有効にして再コンパイルする必要がありました。
Armbian Bionicを新しくインストールし(以前にStretchも試してみました)、アップデートしてspi-spidevを有効にしてボードを再起動しましたが、まだspidevファイルがありません。
これは私のものです。armbianmonitor
丸太。 SPIが有効になっていることを確認する方法は次のとおりです。
dima@orangepipcplus:~$ cat /boot/armbianEnv.txt
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-add-cs1 spi-jedec-nor spi-spidev
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
dima@orangepipcplus:~$ ls /dev/*spi*
ls: cannot access '/dev/*spi*': No such file or directory
could not open /dev/spidev0.0
ところで、私の目標は、nrf24l01通信でスマートホームプロジェクトを作成することです。
だから私の質問は次のようになります/dev/spidev*.*
ファイルが表示されるようにspiをどのように有効にしますか?
答え1
さて、これは本当に愚かなことです。私はただ読まなければなりません。デバイスツリーオーバーレイ注意深い。
必須SPIパラメータが設定されていませんparam_spidev_spi_bus
。これが私がarmbianEnv.txt
今持っているものです:
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-spidev
param_spidev_spi_bus=0
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
気づくアンバイン構成このパラメータが設定されていないため、SPIはこのツールだけでは機能しません。だから今は自分で編集する方が簡単ですarmbianEnv.txt
。
答え2
私はオレンジパイライトを持っていますアンビアン一部のセンサーからデータを取得するMCP3208アナログ - デジタルコンバータがあります。 Rattrapperが言ったようにしましたが、私の場合、SPIインターフェースは機能しません。私はついに次のようにこの問題を解決しました。
- コマンドラインから:
sudo armbian-config -> system -> hardware -> enable spi-spidev
param_spidev_spi_bus = 0
/boot/armbianEnv.txtファイルで、rattraperが説明するようにSPIパラメータを確認してください。 spi-spidevはオーバーレイで作成する必要があります。- 次のコマンドを使用して、spidevライブラリがインストールされていることを確認します。
sudo pip3 install spidev
- 最後に、スクリプトからspidevライブラリをインポートする必要があります。
import spidev
これは私に効果があったので、あなたにも効果があることを願っています。