Arduino Ethernet Shield handledning (4 / 5 steg)

Steg 4: Server



Du kan använda Arduino Ethernet shield som en webbserver att ladda en HTML-sida eller fungera som en chattserver. Du kan också analysera med en klient, exempelvis en webbläsare. Följande två exempel visar hur du tjäna HTML-sidor, och tolka URL-strängar.

En viktig sak att komma ihåg är att du måste ange din Arduino IP-adress i båda exemplen nedan för dem att arbeta.

Följande kodförändringar på webbsidan serveras utifrån en knapptryckning:

/*
Web Server Demo
möts av Randy Sarafan

En enkel webbserver som ändrar sidan som serveras, utlöst av en knapptryckning.

Krets:
* Ethernet shield bifogas stift 10, 11, 12, 13
* Anslut en knapp mellan stift D2 och 5V
* Ansluta en 10K motstånd mellan stift D2 och marken

Bygger nästan helt på webbservern Tom Igoe och David Mellis

Redigera historia:
skapad 18 Dec 2009
av David A. Mellis
modifierade 4 Sep 2010
av Tom Igoe

*/

#include < SPI.h >
#include < Ethernet.h >

Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02};
IP-adress ip(191,11,1,1); <<< Ange din IP-adress här!!!

Starta servern Ethernet-biblioteket
med IP-adress och port vill du använda
(port 80 är standard för HTTP):
EthernetServer server(80);

int buttonPress = 1;

void setup()
{
pinMode (2, ingång);

Starta Ethernet-anslutningen och servern:
Ethernet.BEGIN (mac, ip);
Server.BEGIN();
}

void loop()
{
buttonPress = digitalRead(2);
lyssna efter inkommande klienter
EthernetClient klient = server.available();
om (klient) {
en http-förfrågan avslutas med en tom rad
booleska currentLineIsBlank = sant;
samtidigt (client.connected()) {
om (client.available()) {
char c = client.read();
Om du har fått till slutet av raden (fick en newline
karaktär) och raden är tom, http-begäran har avslutats,
så du kan skicka ett svar
om (c == '\n' & & currentLineIsBlank) {
Skicka ett standard http-svarshuvud
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println();

serverar en annan version av en webbplats beroende på huruvida knappen
ansluten trycks till nåla fast 2.
om (buttonPress == 1) {
client.println ("< cke:html >< cke:body bgcolor = #FFFFFF > ljus! </cke:body >< / cke:html >");
}
annat if (buttonPress == 0) {
client.println ("< cke:html >< cke:body bgcolor = #000000 text = #FFFFFF > DARK! </cke:body >< / cke:html >");
}

bryta;
}
om (c == "\n") {
du börjar en ny rad
currentLineIsBlank = sant;
}
annars om (c! = '\r') {
du har fått ett tecken på den aktuella raden
currentLineIsBlank = false;
}
}
}
de web webbläsare möjlighet att ta emot data
Delay(1);
stänga anslutningen:
client.stop();
}
}

För att göra denna exempelkod fungerar, helt enkelt bifoga en knapp mellan stift D2 och 5V, en 10K motstånd mellan stift D2 och marken och sedan ladda din Arduino IP-adress i din webbläsare. Sidan bör in med en svart bakgrund. Tryck och håll ned knappen och sedan uppdatera webbläsaren sidan. Webbplatsen ska nu läsa med vit bakgrund.

Följande kod lyser upp en LED beroende på den URL som skickas till Arduino:

/*
Web Server Demo
möts av Randy Sarafan

Kan du slå på och av en LED genom att ange olika webbadresser.

Att slå på den:
http://your-IP-address/$ 1

Att stänga av:
http://your-IP-address/$ 2

Krets:
* Ethernet shield bifogas stift 10, 11, 12, 13
* Anslut ledde till stift D2 och lägga den i serie med ett 220 ohm motstånd till jord

Bygger nästan helt på webbservern Tom Igoe och David Mellis

Redigera historia:
skapad 18 Dec 2009
av David A. Mellis
modifierade 4 Sep 2010
av Tom Igoe

*/

#include < SPI.h >
#include < Ethernet.h >

booleska inkommande = 0;

Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02};
IP-adress ip(191,11,1,1); <<< Ange din IP-adress här!!!

Starta servern Ethernet-biblioteket
med IP-adress och port vill du använda
(port 80 är standard för HTTP):
EthernetServer server(80);

void setup()
{
pinMode (2, utgång);

Starta Ethernet-anslutningen och servern:
Ethernet.BEGIN (mac, ip);
Server.BEGIN();
Serial.BEGIN(9600);
}

void loop()
{
lyssna efter inkommande klienter
EthernetClient klient = server.available();
om (klient) {
en http-förfrågan avslutas med en tom rad
booleska currentLineIsBlank = sant;
samtidigt (client.connected()) {
om (client.available()) {
char c = client.read();
Om du har fått till slutet av raden (fick en newline
karaktär) och raden är tom, http-begäran har avslutats,
så du kan skicka ett svar

läser URL-strängen från $ till första tomt utrymme
om (inkommande & & c == "") {
inkommande = 0;
}
om (c == '$') {
inkommande = 1;
}

Kontroller för URL-strängen $1 eller $2
IF(Incoming == 1) {
Serial.println(c);

om (c == '1') {
Serial.println("on");
digitalWrite (2, hög).
}
om (c == '2') {
Serial.println("off");
digitalWrite (2, låg).
}

}

om (c == "\n") {
du börjar en ny rad
currentLineIsBlank = sant;
}
annars om (c! = '\r') {
du har fått ett tecken på den aktuella raden
currentLineIsBlank = false;
}
}
}
de web webbläsare möjlighet att ta emot data
Delay(1);
stänga anslutningen:
client.stop();
}
}

Att göra detta arbete Anslut positiva ledde till stift D2, och negativa bly i serie med en 220 ohm motstånd till jord.

Om du vill aktivera LED ange detta i din webbläsare:
http://[Din IP-adress här]$1

För att stänga av lampan ange detta i din webbläsare:
http://[Din IP-adress här]$2

Obs: Du bör självklart ersätta [Din IP-adress här] med din IP-adress.

Se Steg
Relaterade Ämnen

Remote Home Automation exempel - Arduino + Ethernet Shield

Välkommen igen!I detta Instructable jag kommer detalj hur man använder olika sensorer och objekt med en internet ansluten Arduino. Enligt min åsikt, detta var ett mycket roligt projekt att sätta ihop och mixtra med! Plus, jag måste bättra på min HTML...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Styra WeMo Switch med Arduino + Ethernet shield

Det finns många apps som låter dig styra din Belkin WeMo enheter, men det finns ingen en hårdvara switch panel som den Nyans knacka för Philips nyans.Så bygga jag en med en Arduino!Steg 1: materialFör detta projekt behöver du:En Arduino ombord. Jag a...

Arduino Routing Protocol RIPv1 Spoofer / nätverk Jammer - Ethernet Shield handledning

Detta är en snabb intstructable med några bevis på konceptet kod för att visa att routningsprotokoll kan förfalskas genom att använda Arduino. Det också fungerar som en snabb introduktion till att använda ethernet shield och får din arduino skicka pa...

Smarta hem med Arduino Ethernet shield och Teleduino (med web app)

Detta projekt är en enkel lösning för dem som vill ha en smart-home system men inte har en stor budget och för lat de som inte vill komma från sängen till släcker belysningen av eller på.Det är också projektera av en high school student för sitt slut...

TouchOSC och Arduino Ethernet Shield till kontroll energi (A.M.P.A.E.)

Dag efter dag, människor använder en stor mängd prylar och slösa en massa energi att ha ingen oro om det. Vår idé är i grunden en mobil applikation för tabletter och smartphones som erbjuder användaren en total kontroll av alla energikällor som använ...

Online grafer med ingenting men en Arduino, Ethernet Shield och Sensor

Slutligen har jag beslutat att lägga några av mina befintliga projekt på instructables. Här är anpassade från mitt Super Graphing Data Logger projekt.Vad är Super Graphing Data Logger (SGDL)? Det är en Arduino projekt som integrerar dataloggning och...

Online temperaturövervakning genom att använda Arduino + Ethernet Shield

Hej, idag jag ska Visa du kille hur man gör arduino temperaturövervakning online, detta exempel är webbaserade-det betyder att du kan ansluta från var som helst, Combine AJAX och PHP tillsammans som kan ge temperaturdata mestadels realtime utan uppda...

Köra Ethernet shield på arduino

Ethernet-Shield omedelbart gör det möjligt för internet-anslutning för Arduinoprojekt. En ombord Wiz5100 ethernet styrenhet hanterar upp till fyra TCP och UDP-anslutningar, stack bara det till en Arduino att skapa dina egna enheter på nätverket. Enke...

Styra Arduino styrelsen trådlöst med iPhone, iPad eller iPod med iArduino App och Ethernet Shield

denna tutorial vägleder dig till hur man gör hela installationen till kontroll din Arduino ombord med iArduino program. Vi kommer att använda Led för förståelse, och vi kommer att byta det till och från med hjälp av iArduino app. Från detta kommer du...

Hem Automation DIY projekt med hjälp av Arduino UNO & Ethernet Shield

"Det huvudsakliga målet med detta projekt är att hur du kan styra hemelektronik som TV, fläkt, tube light eller något med hjälp av din dator eller bärbara enhet"Hjärtat i detta projekt är Ethernet shield och definitivt hjärnan med detta projekt...

Visa data på en webbplats - elektroniska potten [Arduino Nano + Ethernet Shield]

Jag har alltid velat en växt i mitt rum, som skulle fylla utrymmet mellan oavslutade projekt och dyrt, men onödiga bitar av elektroniska delar. Så kom jag upp med idén om en elektronisk pott – The Arduino E-Pot -som skulle mäta de grundläggande behov...

Arduino atmega644/1284 clone + ethernet shield + advancedHMI VB NET + MODBUS TCP

Detta projekt är ett sätt att kontrollera en Arduino eller min Arduino atmega644/1284 klon via en PC eller en människa-maskin gränssnitt ansluten till arduino ethernet shield. Du kommer att skapa ett SCADA system för att styra ditt system från långa...

Arduino Nano med Ethernet Shield

Jag köpte nyligen en Arduino Ethernet shield utformad för Arduino Uno och trodde jag kunde bara enkelt ansluta den till min befintliga Arduino Nano. Jag hade fel!Jag kunde inte hitta mycket information om hur du gör detta, förutom att vissa dokument...

Arduino Ethernet

En enkel webbserver som visar värdet av analog ingång stiften med en Arduino Ethernet shield.Steg 1: Förbered din arduino kit och ethernet shield Steg 2: Anslut din Ethernet-shield till din styrelse Steg 3: Skriva och ladda upp din kod#include < Ethe...

Lätt grundläggande Arduino Ethernet Controller

jag nyligen gick ut och köpte en Arduino Ethernet Shield men kunde inte riktigt ta den i bruk som jag inte kunde hitta några lätt tutorials så jag började att försöka kod själv. Jag kunde komma med en enkel del av koden som visade på en LED från din...

Arduino Ethernet kamera

Jag kommer att presentera en Arduino ethernet kamera.Du kan ta en bild inne i huset som har en denna arduino ethernet kamera av bara openning webbplatsen om du följer detta innehåll.Det är väldigt lätt och enkelt sätt som inte behöver någon app. för...

[Tutorial för 4DIY.ORG] - hur man styr LED med iphone med hjälp av [4DIY.ORG] App och Ethernet Shield

Steg 1: Material och verktyg1. Arduino Uno R3.2. Arduino Ethernet Shield.3. [4DIY.ORG] App (stöd iOS och Android).4. RJ45-kabel.5. bryta styrelsen.6. RÖD LED.7. resistor.8. tråd.Steg 2: Ladda upp skiss för Arduino Dowload skiss fil bifogadSteg 3: Con...

Hur du använder MQTT i Arduino utan en Ethernet Shield

MQTT står för MQ telemetri Transport. Det är en publicera/prenumereraextremt enkel och lätt meddelandeprotokoll, avsedd för begränsad enheter och låg bandbredd, hög latens eller opålitliga nätverk. Design är att minimera bandbredd och enheten resursk...