Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #include <SD.h>
- // MAC address from Ethernet shield sticker under board
- byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
- IPAddress ip(192, 168, 1, 104); // IP address, may need to change depending on network
- EthernetServer server(8123); // create a server at port 80
- File webFile;
- void setup()
- {
- Ethernet.begin(mac, ip); // initialize Ethernet device
- server.begin(); // start to listen for clients
- Serial.begin(9600); // for debugging
- // initialize SD card
- Serial.println("Initializing SD card...");
- if (!SD.begin(4)) {
- Serial.println("ERROR - SD card initialization failed!");
- return; // init failed
- }
- Serial.println("SUCCESS - SD card initialized.");
- // check for index.htm file
- if (!SD.exists("index.htm")) {
- Serial.println("ERROR - Can't find index.htm file!");
- return; // can't find index file
- }
- Serial.println("SUCCESS - Found index.htm file.");
- }
- void loop()
- {
- EthernetClient client = server.available(); // try to get client
- if (client) { // got client?
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) { // client data available to read
- char c = client.read(); // read 1 byte (character) from client
- // last line of client request is blank and ends with \n
- // respond to client only after last line received
- if (c == '\n' && currentLineIsBlank) {
- // send a standard http response header
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println("Connection: close");
- client.println();
- // send web page
- webFile = SD.open("index.htm"); // open web page file
- if (webFile) {
- while(webFile.available()) {
- client.write(webFile.read()); // send web page to client
- }
- webFile.close();
- }
- break;
- }
- // every line of text received from the client ends with \r\n
- if (c == '\n') {
- // last character on line of received text
- // starting new line with next character read
- currentLineIsBlank = true;
- }
- else if (c != '\r') {
- // a text character was received from client
- currentLineIsBlank = false;
- }
- } // end if (client.available())
- } // end while (client.connected())
- delay(1); // give the web browser time to receive the data
- client.stop(); // close the connection
- } // end if (client)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement