Arduino - Ethernet Shield
Het gebruik van Arduino Ethernet Shield is een van de eenvoudigste manieren om Arduino met het Internet te verbinden. U kunt andere opties bekijken om Arduino met Internet te verbinden via Ethernet in Arduino - Ethernet tutorial
In deze handleiding gaan we het volgende leren:
- Basiskennis netwerk voor beginners
- Hoe u Arduino Ethernet Shield gebruikt
- Basis Arduino-code voor Arduino Ethernet Shield bij gebruik van een dynamisch IP-adres (via DHCP)
- Basis Arduino-code voor Arduino Ethernet Shield bij gebruik van een statisch IP-adres

Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Basiskennis Netwerken voor beginners
Dit onderdeel biedt basiskennis voor beginners die niets weten over netwerken.
Wanneer een apparaat verbinding maakt met het Internet (via Ethernet of WiFi), MOET het verbinding maken met een router of een access point. Router en access point zijn apparaten die fungeren als de gateway naar het Internet. Alle data tussen een apparaat en het Internet verloopt via de router of het access point.
Wanneer een apparaat verbinding maakt met het Internet, MOET het beschikken over:
- Een MAC-adres
- Een IP-adres
- De subnetmasker van het netwerk
- Het IP-adres van de gateway (IP-adres van de router of het access point)
- Het IP-adres van de DNS-server (bij verbinding via een domeinnaam)
Het apparaat werkt niet als:
- Er één of meerdere andere apparaten in hetzelfde netwerk hetzelfde MAC-adres gebruiken (dit wordt een MAC-adres conflict genoemd)
- Er één of meerdere andere apparaten in hetzelfde netwerk hetzelfde IP-adres gebruiken (dit wordt een IP-adres conflict genoemd)
Deze tutorial overlaadt u niet met uitgebreide netwerkinformatie. Daarom worden deze concepten niet diepgaand uitgelegd. Ze vallen buiten de reikwijdte van deze handleiding. In plaats daarvan wordt getoond hoe u ze toepast.
Het MAC-adres zit meestal ingebouwd in apparaten en hoeft u niet te regelen. Echter, Arduino Ethernet Shield heeft geen ingebouwd MAC-adres. Het MAC-adres staat gedrukt op een sticker die op het shield is geplakt. Dit adres moet worden overgenomen en ingesteld in de Arduino-code voor het Ethernet Shield.
Er zijn twee methoden om het IP-adres, subnetmasker, gateway IP en DNS server IP aan een apparaat toe te wijzen (ook aan Arduino):
- Gebruik een statisch IP-adres:
- U moet het IP-adres, subnetmasker, gateway IP en DNS server IP beheren
- De gegevens moeten handmatig worden ingesteld (voor Arduino Ethernet Shield via Arduino-code)
- Het werkt NIET als:
- Het IP-adres al door een ander apparaat op hetzelfde LAN wordt gebruikt → IP-conflict
- Het subnetmasker, gateway IP of DNS server IP verkeerd zijn ingesteld
- Het apparaat krijgt automatisch IP-adres, subnetmasker, gateway IP en DNS server IP toegewezen door de router of access point via DHCP. U hoeft deze gegevens niet zelf te beheren. Dit wordt verzorgd door de router/access point.
Wanneer u uw smartphone verbindt met uw thuis-WiFi, wordt de tweede methode gebruikt.
Bij gebruik van Arduino is de eerste methode lastig voor beginners. De tweede methode is makkelijker en wordt aanbevolen als u weinig netwerkkennis heeft.
Hoe u Arduino Ethernet Shield gebruikt
Arduino communiceert met het Ethernet Shield via de SPI-interface. Hieronder ziet u hoe u Arduino Ethernet Shield gebruikt:
- Plaats Ethernet Shield op Arduino Uno of Mega
- Verbind de PC met Arduino Uno/Mega via USB-kabel
- Verbind het Ethernet Shield met de router/access point via een Ethernetkabel
- Open Arduino IDE en schrijf de code
- Upload de code naar Arduino Uno/Mega
Dit is heel eenvoudig.
Basis Arduino-code voor Arduino Ethernet Shield bij gebruik van dynamisch IP-adres
Vereisten
- U moet het MAC-adres van het Ethernet Shield weten (te vinden op een sticker van de fabrikant)
Stapsgewijs programmeren
- Inclusief libraries
- Declareer het MAC-adres
- Declareer andere objecten afhankelijk van uw toepassing.
- Start het Ethernet Shield
- (Optioneel) Print het IP-adres, subnetmasker, gateway IP en DNS server IP van Arduino
Let op: Arduino kan geen IP-adres verkrijgen als:
- De router of access point DHCP niet ondersteunt
- De Ethernetkabel niet goed is aangesloten of defect is
Om dit probleem te detecteren, kunt u Ethernet.begin(mac); aanpassen naar:
※ Notiz:
Als u het MAC-adres niet aanpast, kan het nog steeds werken. Echter, het kan falen wanneer het MAC-adres conflicteert met dat van een ander apparaat in hetzelfde LAN. Als u de sticker met het MAC-adres kwijt bent, kunt u het bovenstaande MAC-adres voor testdoeleinden gebruiken.
Complete basiscode voor gebruik met dynamisch IP-adres
Upload deze code naar Arduino. Als het lukt, toont de Serial Monitor iets als het volgende:
Als de Serial Monitor dit niet toont, controleer dan uw Ethernetkabel. Werkt het nog steeds niet? Ga dan door naar het volgende gedeelte om een statisch IP-adres te proberen.
Basis Arduino-code voor Arduino Ethernet Shield bij gebruik van statisch IP-adres
Vereisten
- U moet het MAC-adres hebben (vanaf de sticker)
- U moet een ongebruikt IP-adres vinden (zie hoe een ongebruikt IP-adres te vinden)
- U moet het subnetmasker van uw netwerk weten (zie hoe het subnetmasker te vinden)
- U moet het gateway IP-adres weten (zie hoe gateway IP-adres te vinden)
- U moet het DNS server IP-adres weten (zie hoe DNS server IP-adres te vinden)
Stapsgewijs programmeren
- Inclusief libraries
- Declareer MAC-adres
- Declareer een ongebruikt IP-adres, subnetmasker, gateway IP en DNS server IP
- Declareer andere objecten afhankelijk van uw toepassing
- Start het Ethernet Shield
- Optioneel: controleer de netwerk link status
※ Notiz:
Als u het MAC-adres niet aanpast, kan het nog steeds werken. Echter, het kan falen wanneer het MAC-adres conflicteert met dat van een ander apparaat in hetzelfde LAN. Als u de sticker met het MAC-adres kwijt bent, kunt u het bovenstaande MAC-adres voor testdoeleinden gebruiken.
Complete basiscode voor gebruik met statisch IP-adres
Upload deze code naar Arduino. Als het lukt, toont de Serial Monitor iets als het volgende:
Als de Serial Monitor dit niet toont:
- Controleer uw Ethernetkabel
- Controleer of het IP-adres binnen uw netwerk valt
- Controleer of het IP-adres niet conflicteert met andere apparaten in hetzelfde netwerk
- Controleer of subnetmasker, gateway IP en DNS server IP correct zijn ingesteld
Extra netwerkkennis voor beginners
Bij gebruik van een statisch IP-adres moet u een ongebruikt IP-adres, subnetmasker, gateway IP en DNS server IP achterhalen. Hieronder wordt uitgelegd hoe.
Als Arduino en uw PC met hetzelfde netwerk verbonden zijn:
- Open de Command Prompt op uw PC
- Typ het volgende commando:
- Hieruit kunt u het subnetmasker en het gateway IP-adres aflezen
- U ziet ook het IP-adres van uw PC. We zoeken een ongebruikt IP-adres gebaseerd op dit adres.
- Verhoog of verlaag het laatste getal één voor één, begin bij het IP-adres van de PC.
- Gebruik het ping commando in de Command Prompt op dat IP-adres. Herhaal deze stappen totdat het IP-adres niet bereikbaar is. Dit betekent dat het IP-adres niet in gebruik is en u het mag gebruiken voor Arduino. Bijvoorbeeld:
- Voor het DNS server IP-adres kunt u eenvoudig 8.8.8.8 gebruiken.
※ Notiz:
In sommige gevallen kan een IP-adres ondanks onbereikbaarheid toch in gebruik zijn door een ander apparaat. Dit komt doorgaans niet voor in een thuissituatie.
Nu kunt u dit shield gebruiken om Arduino met het Internet te verbinden. Bekijk andere voorbeelden in het gedeelte Zie ook.
Opmerkingen
WARNING
Let op: deze tutorial is nog niet compleet. We zullen een bericht plaatsen op onze Facebook-pagina wanneer de tutorial compleet is. Like de pagina om op de hoogte te blijven.