¿Cómo habilitar SPI en Orange PI PC+ en Armbian?

¿Cómo habilitar SPI en Orange PI PC+ en Armbian?

Estoy intentando que SPI funcione en mi placa. Eso es lo que se me ocurrió:

  • SPI no está habilitado de forma predeterminada en armbian, primero debemos habilitarlo (habilitar la superposición DT correspondiente)
  • en Linux solo se puede acceder a SPI a través de archivos /dev/spidev*.*
  • Si no veo ningún dispositivo spi en mi carpeta de desarrollo, entonces SPI no está habilitado en mi placa.
  • en las últimas versiones de armbian spi se puede habilitar en armbain-config (en Sistema/Hardware/spi-spidev)
  • en versiones anteriores era necesario descompilarlo  /boot/script.binen un archivo fex, habilitar SPI allí y volver a compilarlo

Hice una instalación limpia de Armbian Bionic (también probé Stretch antes), lo actualicé y habilité spi-spidev, reinicié la placa pero todavía no recibí archivos de spidev. 

Aquí está miarmbianmonitor registro. Así es como compruebo si SPI está habilitado:

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

Por cierto, mi objetivo es crear un proyecto de hogar inteligente con comunicación nrf24l01, pero estoy atascado en un error de script que dice could not open /dev/spidev0.0(no pegar exactamente)

Entonces mi pregunta es:¿Cómo habilitar spi para que /dev/spidev*.*aparezcan los archivos?

Respuesta1

Vale, esto fue realmente estúpido. Sólo necesitaba leer sobreSuperposiciones del árbol de dispositivoscon cuidado.

No configuré el parámetro SPI requerido param_spidev_spi_bus. Aquí está mi armbianEnv.txtahora:

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

Tenga en cuenta queconfiguración armbainno establece este parámetro, por lo que no puede hacer que SPI funcione usando solo esta herramienta. Por ahora es más fácil editar armbianEnv.txtdirectamente.

Respuesta2

Tengo un Orange Pi Lite conarmbioinstalado. Tengo un convertidor analógico a digital MCP3208 que recupera datos de algunos sensores e hice lo que dijo Rattrapper, pero, en mi caso, la interfaz SPI no funcionó. Finalmente lo resolví haciendo lo siguiente:

  1. En la línea de comando: sudo armbian-config -> system -> hardware -> enable spi-spidev
  2. Verifique el parámetro SPI param_spidev_spi_bus = 0tal como se explica en rattraper en el archivo /boot/armbianEnv.txt. En las superposiciones debe estar escrito spi-spidev.
  3. Asegúrese de que la biblioteca spidev esté instalada con el siguiente comando: sudo pip3 install spidev
  4. Finalmente, asegúrese de importar la biblioteca spidev en su secuencia de comandos:import spidev

Esto es lo que funcionó para mí, así que espero que también funcione para ti.

información relacionada