Not possible. You've posted no code. You have not described what the Arduino with ethernet shield is physically connected to. You have not described whether you are using a static IP address for the Arduino or using DHCP to get a dynamic address. If using DHCP, you have not said what is serving up the address. You have not said anything about port forwarding, or what address you are trying to use to connect to the Arduino.
In the network and sharing center I chose to automatically assign an IP4 ip address
The code I am using is the Web Server example code
#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(169, 254, 173, 240);
// 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 native USB port 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("");
client.println("");
// 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("
");
}
client.println("");
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");
}
}
I just changed the last digits of the IP address and it does work on the other PCs
The ethernet shield is directly connected with my PC using an ethernet cable.
I have also tried to change mac addresses or ports but it does not work
I don't know if this is your only problem, but it is one of them. If you are going to use a 169.254.x.x ip, you must assign all the other network settings too.
Which ethernet shield are you using? There are a few different shields. They have w5100, w5200, w5500 and enc28j60 ethernet controllers. A link to your shield might help.
I am using arduino eth shield w5500 and using tcp/ip communication to send data to matlab
using arduino as client and matlab as server
i am not able to connect to matlab
similarly the fopen doesnot work on the matlab either
it gets stuck
what is wrong with the code?
#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, 0xE2
};
IPAddress server(169,254,173,248);
IPAddress ip(169, 254, 173, 240);
EthernetClient client;
void setup() {
Serial.begin(115200); //Serial.print("server is at ");
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
if (client.connect(server, 30000)) {
Serial.println("connected");
// Make a HTTP request:
} else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}