Ethernet Shield LED SERVER (4 / 5 stap)

Stap 4: Het programma

De arduino schets is gebaseerd op het voorbeeld van de webserver.pde met enkele wijzigingen. Een kopie van mijn schets is post hierboven voor makkelijk downloaden.
Ik heb met sommige trucs te laden van een webpagina met meer informatie. De HTML-code wordt opgeslagen in het programmageheugen, dus hebben we genoeg RAM voor andere dingen. Vragen over de code vragen gewoon.

TIP: na het downloaden van het bestand, hernoem het van .tmp naar Ino indien nodig

Hier is de code:

#include < Ethernet.h >
#include < SPI.h >
#include < avr/pgmspace.h >

prog_char string_0 [PROGMEM] = "< html >< lichaam >< h2 > Controle de LED pela Internet < / h2 >< tekengrootte = 4 >< vormen van de methode GET = >";
prog_char string_1 [PROGMEM] = "< br >< input type = naam = waarde van b1 Led1 = >";
prog_char string_2 [PROGMEM] = "< br >< input type = naam = waarde van b2 Led2 = >";
prog_char string_3 [PROGMEM] = "< br >< input type = naam b3-waarde = Led3 = >";
prog_char string_4 [PROGMEM] = "< br >< input type = naam b4-waarde = Led4 = >";
prog_char string_5 [PROGMEM] = "";  "< br > Insert uw naam hier:";
prog_char string_6 [PROGMEM] = "";  "< input naam = waarde van de msg no_name MAXLENGTH = 20 = >";
prog_char string_7 [PROGMEM] = "< / form >< / body >< / html >";
prog_char string_8 [PROGMEM] = "Ligada (ON)";
prog_char string_9 [PROGMEM] = "Desligada (OFF)";

prog_char string_10 [PROGMEM] = "< meta http-equiv = refresh content = 30 >"; voor automatisch vernieuwen

PROGMEM const char * [string_table] = / / wijzigen van de naam van de "string_table" om te passen
{
string_0,
string_1,
string_2,
string_3,
string_4,
string_5,
string_6,
string_7,
string_8,
string_9,
string_10
};

char buffer [85];    Zorg ervoor dat dit is groot genoeg voor de grootste tekenreeks die het moet houden

byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip [] = {192, 168, 1, 134};
byte gateway [] = {192, 168, 1, 1};
byte subnet [] = {255, 255, 255, 0};

InString koord = String(35);

EthernetServer server(8246);

Booleaanse led1 = false;
Booleaanse led2 = false;
Boole led3 = false;
Boole led4 = false;

Koord msg = "";
int tam = 0;
int st1 = 9, st2 = 9, st3 = 9, st4 = 9;

VOID Setup
{
Serial.begin(9600);
Ethernet.begin (mac, IP-gateway, subnet);
server.begin();
Serial.println ("seriële READY");
Serial.println ("Ethernet READY");
Serial.println ("Server READY");
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
}

void loop
{

EthernetClient client = server.available();

int geleid = 0;
Als (client) {}

een http-verzoek eindigt met een lege regel
Boole current_line_is_blank = waar;
terwijl (client.connected()) {}

Als (client.available()) {}

char c = client.read();
Als we aan het einde van de lijn hebben gekregen (ontvangen een newline
teken) en de regel is leeg, de http-aanvraag is beëindigd,
Zo kunnen wij een antwoord sturen
Als (inString.length() < 35) {}
inString.concat(c);

}
Als (c == '\n' & & current_line_is_blank) {}

if(inString.indexOf("B1") > 0) {}

if(LED1==false) {}
ST1 = 8;
LED1 = true;
digitalWrite(4,HIGH);
}
else {}
ST1 = 9;
LED1 = false;
digitalWrite(4,LOW);
}
geleid = 1;

}
if(inString.indexOf("B2") > 0) {}

if(LED2==false) {}
ST2 = 8;
LED2 = true;
digitalWrite(5,HIGH);
}
else {}
ST2 = 9;
LED2 = false;
digitalWrite(5,LOW);
}
geleid = 2;

}
if(inString.indexOf("B3") > 0) {}

if(LED3==false) {}
ST3 = 8;
LED3 = true;
digitalWrite(6,HIGH);
}
else {}
ST3 = 9;
LED3 = false;
digitalWrite(6,LOW);
}
geleid = 3;

}
if(inString.indexOf("B4") > 0) {}

if(LED4==false) {}
ST4 = 8;
LED4 = true;
digitalWrite(7,HIGH);
}
else {}
ST4 = 9;
LED4 = false;
digitalWrite(7,LOW);
}
geleid = 4;

}
/*
if(inString.indexOf("msg") > 0) {}
char charBuf1 [50];
char charBuf2 [50];
strcpy (msg,(char*) inString.substring (inString.indexOf ("g") +2,inString.indexOf ("H")));
Serial.Print ("msg:");
Serial.println(msg);
}
*/
verzenden van een standaard http-antwoordheader
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println();

strcpy_P (buffer, (char *) pgm_read_word (&(string_table[0]))); Nodige afgietsels en dereferencing, kopiëren gewoon.
client.println (buffer);
for (int i = 1; ik < 8; i ++)
{
strcpy_P (buffer, (char *) pgm_read_word (&(string_table[i]))); Nodige afgietsels en dereferencing, kopiëren gewoon.
client.println (buffer);
switch(i) {}

geval 1: strcpy_P (buffer, (char *) pgm_read_word (&(string_table[st1]))); client.println (buffer); breken;
geval 2: strcpy_P (buffer, (char *) pgm_read_word (&(string_table[st2]))); client.println (buffer); breken;
Case 3: strcpy_P (buffer, (char *) pgm_read_word (&(string_table[st3]))); client.println (buffer); breken;
geval 4: strcpy_P (buffer, (char *) pgm_read_word (&(string_table[st4]))); client.println (buffer); breken;

}
delay(30);
}
if(digitalRead(8)==High) {}
client.println ("< br > elkadrey 1, ON");
} else {}
client.println ("< br > elkadrey 1, OFF");
}
if(digitalRead(9)==High) {}
client.println ("< br > elkadrey 2, ON");
} else {}
client.println ("< br > elkadrey 2, OFF");
}

strcpy_P (buffer, (char *) pgm_read_word (&(string_table[10]))); client.println (buffer);


breken;
}
Als (c == '\n') {}
We beginnen een nieuwe regel
current_line_is_blank = true;
} else if (c! = '\r') {}
We hebben gekregen een teken op de huidige regel
current_line_is_blank = false;
}
}
}
de web browser tijd geven om te ontvangen van de gegevens
delay(1);
inString = "";
client.stop();
}
}

Gerelateerde Artikelen

Arduino-Android LED controleren met behulp van Ethernet-Shield

Arduino-Android LED controleren met behulp van Ethernet-Shield

dingen die je moet:hardware:Arduino UnoEthernet-ShieldLED 2 PC's.Weerstanden 2st.Breadboard(optional)draden (koper, ethernet-kabel)Routerverbinding makenLED 1--> pin 6 op grondLED 2 -> pin 7 op grondsoftware:Eclipse IDEArduino IDE 1.x.xStap 1: Progr
[Tutorial voor 4DIY.ORG] - initiatieven voor een controle LED met iphone gebruiken [4DIY.ORG] App en Ethernet-Shield

[Tutorial voor 4DIY.ORG] - initiatieven voor een controle LED met iphone gebruiken [4DIY.ORG] App en Ethernet-Shield

Stap 1: Materialen en gereedschappen1. de Arduino Uno R3.2. Arduino Ethernet-Shield.3. [4DIY.ORG] App (ondersteuning voor iOS en Android).4. RJ45-kabel.5. bestuur breken.6. DE RODE LED.7. weerstand.8. draad.Stap 2: Upload Sketch voor de Arduino Dowlo
Arduino Ethernet Shield Tutorial

Arduino Ethernet Shield Tutorial

The Arduino Ethernet Shield kunt u gemakkelijk uw Arduino verbinding met het internet. Dit schild kunt je Arduino verzenden en ontvangen van gegevens van overal in de wereld met een internetverbinding. U kunt het doen leuke dingen zoals controle robo
Slimme huis met Arduino Ethernet-shield en Teleduino (met web app)

Slimme huis met Arduino Ethernet-shield en Teleduino (met web app)

Dit project is een eenvoudige oplossing voor degenen die willen een smart-home-systeem, maar hebben niet een groot budget en de lui die wil niet opstaan uit bed om te schakelen van de verlichting of uitschakelen.Het is ook het project van een middelb
LinkSprite Ethernet-Shield + yeelink WEB afstandsbediening IO

LinkSprite Ethernet-Shield + yeelink WEB afstandsbediening IO

Ethernet-Shield kunnen direct internetconnectiviteit voor Arduino projecten. Maximaal vier TCP- en UDP-verbindingen worden verwerkt door een aan boord Wiz5100 ethernet-controller, net stapel het op een Arduino aan het maken van uw eigen genetwerkte a
Draadloos met Arduino Board iPhone, iPad of iPod Using iArduino App en Ethernet-Shield

Draadloos met Arduino Board iPhone, iPad of iPod Using iArduino App en Ethernet-Shield

deze tutorial zal u met hoe maak je hele setup te controleren uw Arduino Board met toepassing van de iArduino. Om te begrijpen, zullen we gebruik maken van Led en we zullen het aan en uit schakelen met behulp van iArduino app. U krijgt hieruit het id
Voorbeeld van de automatisering van Remote Home - Arduino + Ethernet-Shield

Voorbeeld van de automatisering van Remote Home - Arduino + Ethernet-Shield

opnieuw welkom!In dit Instructable, ik zal detail hoe met verschillende sensoren en items met een internet aangesloten Arduino. Naar mijn mening was dit een erg leuk project samen te stellen en sleutelen! Plus, kreeg ik omhoog borstel op mijn HTML en
Internet Controlled Arduino (geen Ethernet-shield)

Internet Controlled Arduino (geen Ethernet-shield)

Ethernet schilden zijn een heleboel plezier, maar zij kunnen duur zijn. In dit project zal ik u tonen hoe om te controleren uw Arduino vanaf elke computer die is verbonden met het internet, zonder gebruik te maken van een Ethernet-shield. Dit project
Het gebruik van MQTT in Arduino zonder een Ethernet-Shield

Het gebruik van MQTT in Arduino zonder een Ethernet-Shield

MQTT staat voor MQ telemetrie vervoer. Het is een publiceren/abonneren,zeer eenvoudige en lichtgewicht messaging protocol, ontworpen voor beperkte apparaten en lage bandbreedte, lange wachttijd of onbetrouwbare netwerken. De ontwerpprincipes zijn te
Uitvoeren van de Ethernet-shield op arduino

Uitvoeren van de Ethernet-shield op arduino

Ethernet-Shield kunnen direct internetconnectiviteit voor Arduinoprojecten. Maximaal vier TCP- en UDP-verbindingen worden verwerkt door een aan boord Wiz5100 ethernet-controller, net stapel het op een Arduino aan het maken van uw eigen genetwerkte ap
Weergeven van gegevens op een website - elektronische Pot [Arduino Nano + Ethernet-Shield]

Weergeven van gegevens op een website - elektronische Pot [Arduino Nano + Ethernet-Shield]

Ik wilde altijd al een plant in mijn kamer, dat de ruimte tussen onafgemaakte projecten en duur, maar geen onnodige stukken van elektronische onderdelen vullen zou. Dus kwam ik met het idee van een elektronische pot – The Arduino E-Pot -dat de basisb
Online grafieken met niets, maar een Arduino, Ethernet-Shield en Sensor

Online grafieken met niets, maar een Arduino, Ethernet-Shield en Sensor

Tot slot heb ik besloten om enkele van mijn bestaande projecten opgemaakt op instructables. Dit is aangepast van mijn project Super Graphing datalogger.Wat is de Super Graphing Data Logger (SGDL)? Het is een Arduino project dat integreert gegevensreg
Arduino Nano met Ethernet-Shield

Arduino Nano met Ethernet-Shield

Ik kocht onlangs een Arduino Ethernet-shield voor de Arduino Uno ontworpen, en dacht dat ik kon net gemakkelijk sluit deze dan aan mijn bestaande Arduino Nano. Ik had het mis!Ik kon niet vinden veel informatie helemaal over hoe dit te doen, behalve d
TouchOSC en Arduino Ethernet-Shield controle energie (A.M.P.A.E.)

TouchOSC en Arduino Ethernet-Shield controle energie (A.M.P.A.E.)

Dag na dag, mensen gebruik maken van een grote hoeveelheid gadgets en veel energie hebben geen bezorgdheid over het afval. Ons idee is in principe een mobiele toepassing voor tablets en smartphones die de gebruiker een totale controle van alle energi