Stap 3: Understaing de code :)
Ik heb een steekproefcode (Ino bestand) dat tijdens de uitleg als referentie gebruikt zou worden bijgevoegd. Ik zal niet het uitleggen van elke regel van de code, hebt u enige twijfel heeft post het in de commentarensectie. Oke, laten we dan beginnen.
We beginnen met inbegrip van de h-eader-bestanden die nodig voor de programma's zijn worden uitgevoerd.
Headerbestanden
Ethernet.h--> Dit bibliotheek bestaat uit de functies die zorgen voor het verwerken van de verbindingen van de clients, verbinding maken met servers en krijgen/ontvangen aanvragen, en een heleboel andere dingen.
SPI.h--> Dit is een belangrijk headerbestand, dit bepaalt hoe je arduino stuurt de ethernet-shield. en de SD-kaartsleuf op het aanwezig. SPI is een communicatieprotocol. Raadpleeg de documentatie van de arduino-website voor meer informatie. SPI-documentatie.
Ethernet bibliotheekfuncties
Mac--in het algemeen hebt u een echte of de oorspronkelijke versie van de nieuwste EthernetShield, moet zij een MAC-adres dat is afgedrukt op zijn rug. Maar hebt u een gekloonde versie hiervan dan is het verplicht dat u een gebruiker gedefinieerd MAC, dit werkt met de oorspronkelijke versie van EthernetShield.
Je kan hetzelfde doen met het IP-adres ook, maar ik zou niet aanraden, omdat wanneer je arduino met een vooraf gedefinieerde IP- en probeert te verbinden met uw router kan niet om dit te doen, als de router er al toegewezen aan een ander apparaat met de dezelfde IP-laat de DHCP de IP-adrestoewijzing omgaan.
EthernetServer--Maakt het een server die naar inkomende verbindingen op de opgegeven poort luistert. In het gegeven voorbeeld heb ik een nummer van de poort 12345 toegewezen. U kunt een willekeurig poortnummer u misschien wilt, maar zorg ervoor dat geen enkele andere dienst momenteel op die poort draait.
EthernetServer.begin()---het probeert om verbinding met de router via de gebruiker gedefinieerd MAC-adres. Hoewel duurt het andere argumets afhankelijk van de situatie. Gelieve te controleren de link Ethernet.begin
Serial.begin()---Hiermee opent u een seriële poort van de arduino met een opgegeven baud-rate. Het is nuttig om te debuggen uw code, in het geval van fouten.
Klant Handling mechanisme
Alle de initialisatie moet worden gedaan slechts eenmaal in, dus het gaat in het Setup-blok. Overwegende dat de server moet om te controleren voor klanten wachten aansluiten elke keer in een tijdje dus dat deel van de code gaat in een loop-blok.
Check deze links hieronder om te begrijpen van de werking van de code.
Onze server wordt gecontroleerd voor een clientverbinding elke 2 seconden, en als een client verbinding probeert te maken dan het ontvangt haar verzoek wordt afgedrukt op de seriële terminal en reageert terug met een HTML-pagina.