De Raspberry Pi 2 en 3 zijn standaard voorzien van een ethernet aansluiting waarmee je het device kunt aansluiten op je vaste netwerk. Op een Raspberry Pi Zero ontbreekt zowel WiFi als een ethernet poort. Bezit je een Zero of gebruik je een Raspberry Pi voor TOR toegang of als router, dan kan het handig zijn om over een extra ethernet aansluiting te beschikken.
Je kunt een Raspberry Pi uitbreiden met behulp van een standaard USB/UTP ethernet adapter (~10€), je kunt ook kiezen voor een goedkopere oplossing in de vorm van een ENC28J60 ethernet module (~€2). Deze module sluit je eenvoudig aan op de GPIO poorten van de Raspberry Pi en wordt via SPI standaard ondersteund door Raspbian.
Componenten voor dit project
• Dupont verbindingkabels female/female (link)
• ENC28J60 LAN Ethernet Netwerk Board Module (link)
Totale kosten van de componenten ~ € 2,50
Raspberry Pi Zero, Raspberry Pi 2, Raspberry Pi 3
Raspbian Jessie (2016-05-27 kernel 4.4.13)
Aansluitschema ENC28J60 module
ENC28J60 module | RPI functie | RPI pin |
---|---|---|
VCC | VCC 3.3V | 1 |
GND | GND | 6 |
SI | MOSI GPIO #10 | 19 |
SO | MISO GPIO #9 | 21 |
INT/IRQ | GPIO #25 | 22 |
SCK | SCKL GPIO #11 | 23 |
CS | CE0 GPIO #8 | 24 |
SPI interface activeren
We gaan de SPI interface gebruiken om te communiceren met de ethernet interface, hiervoor moet de SPI interface op de Raspberry Pi geactiveerd worden. Met behulp van het onderstaande commando kun je controleren of SPI is geactiveerd:
ls /dev/spi*
Als SPI is geactiveerd verschijnt /dev/spidev0.0 /dev/spidev0.1
verschijnt dit niet activeer dan SPI als volgt:
sudo raspi-config
Selecteer de menu optie ‘Advanced Options’ ▸ SPI ▸ YES en druk op Enter. Er zal nu een melding verschijnen dat de SPI interface is geactiveerd.
ENC28J60 activeren onder Raspbian
De ENC28J60 module wordt standaard door Raspbian over SPI ondersteund, deze moet alleen met behulp van het config.txt bestand worden geactiveerd.
Open config.txt
in de map boot
met de nano editor:
sudo nano /boot/config.txt
Voeg onderaan in het bestand de volgende regel toe:
dtoverlay=enc28j60
Sla de wijzigingen op (control + X, Y, gevolgd door ENTER).
Dat was alles, herstart nu de Raspberry Pi, de nieuwe ethernet poort zal tijdens het booten automatisch worden geactiveerd. Je kunt er direct een netwerkkabel op aan sluiten om gebruik te kunnen maken van je netwerk.
sudo reboot
Na de reboot kun je met behulp van het ifconfig commando controleren of de nieuwe ethernet interface actief is. Wanneer er geen andere ethernet poort aanwezig is dan wordt dit ETH0. Is er nog een ethernet poort dan zal je ETH0 en ETH1 in het ifconfig overzicht terugvinden.
ifconfig
Ik zou op een Pi Zero wel een PoE (power over ethernet) willen hebben.
Dus internet en stroom.
Is dat mogelijk en zo ja hoe?
SPI opties in raspi-config bevinden zich niet in Advanced, maar in Interfacing options.