Activeer SPI-bus op de Raspberry Pi

De Raspberry Pi heeft een SPI-bus (Serial Peripheral Interface) die kan worden ingeschakeld op de pinnen 19,21,23,24 en 26. Het is een synchrone seriële datalinkstandaard en wordt gebruikt voor enkele mastercommunicatie over korte afstanden tussen apparaten. Wat de Pi betreft, is dit meestal relevant voor bepaalde sensoren en uitbreidingskaarten.

Stap 1 – Schakel SPI-interface in

De standaard Raspbian-afbeelding schakelt SPI standaard uit, dus voordat u het kunt gebruiken, moet de interface zijn ingeschakeld. Dit kan worden gedaan met behulp van een van de drie methoden. Ik zal alle methoden beschrijven, maar de eerste is waarschijnlijk gemakkelijker en sneller.

Methode 1 – Met behulp van “Raspi-config” op de opdrachtregel

Start vanaf de opdrachtregel of het terminalvenster door de volgende opdracht uit te voeren:

sudo raspi-config

Hiermee wordt het raspi-config-hulpprogramma gestart. Selecteer “Interfacing-opties”:

Markeer de optie “SPI” en activeer “<Select>”.

Selecteer en activeer “<Ja>”:

Markeer en activeer “<Ok>”:

Wanneer u wordt gevraagd om opnieuw op te starten, markeert en activeert u “<Ja>”:

De Raspberry Pi wordt opnieuw opgestart en de interface wordt ingeschakeld.

Methode 2 – ‘Raspberry Pi-configuratie’ gebruiken

Als je Pi opstart naar het bureaublad, kun je ofwel een Terminal-venster openen en Methode 2 gebruiken of de grafische tool “Raspberry Pi-configuratie” gebruiken. Dit is te vinden onder  Menu> Voorkeuren> Raspberry Pi-configuratie

Raspberry Pi Configuratie starten vanuit menu

Dan hoeft u alleen maar het tabblad “Interfaces” te selecteren en SPI in te stellen op “Ingeschakeld”:

Raspberry Pi-configuratie - tabblad Interfaces - SPI

Klik op de “OK” knop. Selecteer “Ja” als u wordt gevraagd om opnieuw op te starten, zodat de wijzigingen van kracht worden.

Raspberry Pi-configuratie - Herstartprompt

De Raspberry Pi wordt opnieuw opgestart en de SPI-interface wordt ingeschakeld.

Methode 3 – Inschakelen door een bestand handmatig te bewerken

Bij dit proces wordt ervan uitgegaan dat u de nieuwste Raspbian-build van de officiële downloadpagina gebruikt . U kunt uw huidige afbeelding bijwerken met:

sudo apt-get update
sudo apt-get upgrade

Om hardware-SPI op de Pi in te schakelen, moeten we een wijziging aanbrengen in een systeembestand:

sudo nano /boot/config.txt

Voeg de volgende regel onderaan toe:

dtparam = spi = aan

Gebruik CTRL-X, dan Y en dan RETURN om het bestand op te slaan en af ​​te sluiten. Start opnieuw op met behulp van het volgende:

sudo opnieuw opstarten

Stap 2 – Controleren of SPI is ingeschakeld (optioneel)

Voer de volgende opdracht uit om te controleren of de SPI-module door het systeem is geladen:

lsmod

U zou “spi_bcm2708 ″ of” spi_bcm2835 “in de uitvoer moeten zien staan. U kunt de volgende opdracht gebruiken om de lijst te filteren en het spi-item gemakkelijker te herkennen:

lsmod | grep spi_

SPI is nu ingeschakeld.

Stap 3 – Installeer Python SPI Wrapper

Om gegevens van de SPI-bus in Python te kunnen lezen, hebben we enkele extra bibliotheken nodig. Deze zijn mogelijk al geïnstalleerd, maar u kunt het controleren met:

sudo apt-get install -y python-dev python3-dev

en:

sudo apt-get install -y python-spidev python3-spidev

Om te eindigen kunnen we ‘py-spidev’ downloaden en klaar voor gebruik compileren:

cd ~
git clone https://github.com/Gadgetoid/py-spidev.git
cd py-spidev
sudo python setup.py installeren
sudo python3 setup.py installeren
cd ~

U zou nu klaar moeten zijn om te communiceren met add-on boards met behulp van hun eigen bibliotheken (bijv. De PiFace) of andere SPI-apparaten (bijv. De MCP3008 ADC ).