3

This is first time programming with Ethernet shield . I want to test the web server application with my Arduino. I have an Arduino Uno, Ethernet shield, and a potentiometer. Below code being uploaded.

Question are:

  • Currently I am using LAN connection to configure. How to configure it? Is internet required for below application?
  • How do I check the output?
  • Is there any software where i can make customized tags?
  • I have values coming from the serial port to be monitored on webserver. Can someone share how to monitor it?

Manually configured for windows 7 After config

Ethernet shield

#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 
 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
// Initialize the Ethernet server library
// with the IP address and port you want to use 
// (port 80 is default for HTTP):
EthernetServer server(80);
void setup() {
 // Open serial communications and wait for port to open:
 Serial.begin(9600);
 while (!Serial) {
 ; // wait for serial port to connect. Needed for Leonardo only
 }
 // start the Ethernet connection and the server:
 Ethernet.begin(mac, ip);
 server.begin();
 Serial.print("server is at ");
 Serial.println(Ethernet.localIP());
}
void loop() {
 // listen for incoming clients
 EthernetClient client = server.available();
 if (client) {
 Serial.println("new client");
 // an http request ends with a blank line
 boolean currentLineIsBlank = true;
 while (client.connected()) {
 if (client.available()) {
 char c = client.read();
 Serial.write(c);
 // if you've gotten to the end of the line (received a newline
 // character) and the line is blank, the http request has ended,
 // so you can send a reply
 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"); // the connection will be closed after completion of the response
 client.println("Refresh: 5"); // refresh the page automatically every 5 sec
 client.println();
 client.println("<!DOCTYPE HTML>");
 client.println("<html>");
 // output the value of each analog input pin
 for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
 int sensorReading = analogRead(analogChannel);
 client.print("analog input ");
 client.print(analogChannel);
 client.print(" is ");
 client.print(sensorReading);
 client.println("<br />"); 
 }
 client.println("</html>");
 break;
 }
 if (c == '\n') {
 // you're starting a new line
 currentLineIsBlank = true;
 } 
 else if (c != '\r') {
 // you've gotten a character on the current line
 currentLineIsBlank = false;
 }
 }
 }
 // give the web browser time to receive the data
 delay(1);
 // close the connection:
 client.stop();
 Serial.println("client disconnected");
 }
}
Michel Keijzers
13k7 gold badges41 silver badges58 bronze badges
asked Apr 15, 2014 at 6:28

1 Answer 1

3

You need to determine what the network address is of the LAN you have connected the arduino to. A router can often give you this information. Alternatively you can connect a computer to the same network and look at the computers network settings (this varies depending on what OS you use). Then you have determine what IP address is available on that network. You will enter this in the ip variable in your example.

The internet is not required for your application, however you do need the arduino to be connected to a LAN and another device (probably a standard computer) to invoke the arduinos server behaviour.

To test that it works, you can open an internet browser on the second device and type in the IP address that you have configured for the arduino into the address bar.

answered Apr 15, 2014 at 8:03
4
  • I have manually configured ip address as above . Let me know what problem i have made Commented Apr 15, 2014 at 8:50
  • It looks as though your network address is 192.168.7.0 with a subnet mast of 255.255.255.0. Therefore you would need to assign the Arduino an IP address is the range of 192.168.7.1 - 192.168.7.254. You need to make sure however that the IP address has not already been used by a device that is already on your network. e.g. 192.168.7.12 is already being used by your computer. Commented Apr 15, 2014 at 15:30
  • I have already tried it but didn't worked . Is internet connect needed for this application?? i have assigne d my network as 192.168.7.0 and arduino as you told it to 192.168.7.50. but nothing being changed Commented Apr 16, 2014 at 5:25
  • It is not clear what you mean by nothing has changed. Can you clarify? Are you seeing the server is at xxx serial output? Commented Apr 16, 2014 at 14:14

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.