after enabling the logs what i found is when i try to access pico from pc like trying to ping to pico or if i use pico as web server and try to open page from browser the pico got hanged i am getting following logs before pico got hanged
19:17:03.873 -> Ethernet WebServer Example
19:17:03.920 -> Ethernet cable is not connected.
19:17:03.920 -> server is at 10.5.50.253
19:17:05.299 -> --------------
19:17:05.299 -> packet received
19:17:05.299 -> readPacket type ARP, uip_len: 60
19:17:05.299 -> freeing received packet
19:17:06.346 -> --------------
19:17:06.346 -> packet received
19:17:06.346 -> readPacket type ARP, uip_len: 60
19:17:06.346 -> freeing received packet
19:17:07.336 -> --------------
19:17:07.336 -> packet received
19:17:07.336 -> readPacket type ARP, uip_len: 60
19:17:07.336 -> freeing received packet
19:17:08.381 -> --------------
19:17:08.381 -> packet received
19:17:08.381 -> readPacket type ARP, uip_len: 60
19:17:08.381 -> freeing received packet
19:17:09.380 -> --------------
19:17:09.380 -> packet received
19:17:09.380 -> readPacket type ARP, uip_len: 60
19:17:09.380 -> freeing received packet
19:17:10.427 -> --------------
19:17:10.427 -> packet received
19:17:10.427 -> readPacket type ARP, uip_len: 60
19:17:10.427 -> freeing received packet
19:17:11.472 -> --------------
19:17:11.472 -> packet received
19:17:11.472 -> readPacket type ARP, uip_len: 60
19:17:11.472 -> freeing received packet
19:17:15.464 -> --------------
19:17:15.464 -> packet received
19:17:15.464 -> readPacket type ARP, uip_len: 60
19:17:15.464 -> freeing received packet
19:17:16.509 -> --------------
19:17:16.509 -> packet received
19:17:16.509 -> readPacket type ARP, uip_len: 60
19:17:16.509 -> freeing received packet
19:17:17.512 -> --------------
19:17:17.512 -> packet received
19:17:17.512 -> readPacket type ARP, uip_len: 60
19:17:17.512 -> freeing received packet
19:17:18.559 -> --------------
19:17:18.559 -> packet received
19:17:18.559 -> readPacket type ARP, uip_len: 60
19:17:18.559 -> freeing received packet
19:17:19.557 -> --------------
19:17:19.557 -> packet received
19:17:19.557 -> readPacket type ARP, uip_len: 60
19:17:19.557 -> freeing received packet
19:17:20.603 -> --------------
19:17:20.603 -> packet received
19:17:20.603 -> readPacket type ARP, uip_len: 60
19:17:20.603 -> freeing received packet
19:17:24.654 -> --------------
19:17:24.654 -> packet received
19:17:24.654 -> readPacket type ARP, uip_len: 60
19:17:24.654 -> freeing received packet
19:17:25.652 -> --------------
19:17:25.652 -> packet received
19:17:25.652 -> readPacket type ARP, uip_len: 60
19:17:25.652 -> freeing received packet
19:17:26.717 -> --------------
19:17:26.717 -> packet received
19:17:26.717 -> readPacket type ARP, uip_len: 60
19:17:26.717 -> freeing received packet
19:17:27.720 -> --------------
19:17:27.720 -> packet received
19:17:27.720 -> readPacket type ARP, uip_len: 60
19:17:27.720 -> freeing received packet
19:17:28.722 -> --------------
19:17:28.722 -> packet received
19:17:28.722 -> readPacket type ARP, uip_len: 60
19:17:28.722 -> freeing received packet
19:17:29.737 -> --------------
19:17:29.737 -> packet received
19:17:29.737 -> readPacket type ARP, uip_len: 60
19:17:29.737 -> freeing received packet
19:17:33.222 -> --------------
19:17:33.222 -> packet received
19:17:33.222 -> readPacket type ARP, uip_len: 60
19:17:33.222 -> freeing received packet
19:17:34.222 -> --------------
19:17:34.222 -> packet received
19:17:34.222 -> readPacket type ARP, uip_len: 60
19:17:34.222 -> freeing received packet
19:17:35.267 -> --------------
19:17:35.267 -> packet received
19:17:35.267 -> readPacket type ARP, uip_len: 60
19:17:35.267 -> freeing received packet
19:17:36.266 -> --------------
19:17:36.266 -> packet received
19:17:36.266 -> readPacket type ARP, uip_len: 60
19:17:36.266 -> freeing received packet
19:17:37.301 -> --------------
19:17:37.301 -> packet received
19:17:37.301 -> readPacket type ARP, uip_len: 60
19:17:37.301 -> freeing received packet
19:17:38.346 -> --------------
19:17:38.346 -> packet received
19:17:38.346 -> readPacket type ARP, uip_len: 60
19:17:38.346 -> freeing received packet
19:17:39.348 -> --------------
19:17:39.348 -> packet received
19:17:39.348 -> readPacket type ARP, uip_len: 60
19:17:39.348 -> freeing received packet
19:17:40.397 -> --------------
19:17:40.397 -> packet received
19:17:40.397 -> readPacket type ARP, uip_len: 60
19:17:40.397 -> freeing received packet
19:17:41.396 -> --------------
19:17:41.396 -> packet received
19:17:41.396 -> readPacket type ARP, uip_len: 60
19:17:41.396 -> freeing received packet
19:17:42.424 -> --------------
19:17:42.424 -> packet received
19:17:42.424 -> readPacket type ARP, uip_len: 60
19:17:42.424 -> freeing received packet
19:17:43.471 -> --------------
19:17:43.471 -> packet received
19:17:43.471 -> readPacket type ARP, uip_len: 60
19:17:43.471 -> freeing received packet
19:17:44.469 -> --------------
19:17:44.469 -> packet received
19:17:44.469 -> readPacket type ARP, uip_len: 60
19:17:44.469 -> freeing received packet
19:17:45.516 -> --------------
19:17:45.516 -> packet received
19:17:45.516 -> readPacket type ARP, uip_len: 60
19:17:45.516 -> freeing received packet
19:17:46.513 -> --------------
19:17:46.513 -> packet received
19:17:46.513 -> readPacket type ARP, uip_len: 60
19:17:46.513 -> freeing received packet
19:17:47.546 -> --------------
19:17:47.546 -> packet received
19:17:47.546 -> readPacket type ARP, uip_len: 60
19:17:47.546 -> freeing received packet
19:17:48.591 -> --------------
19:17:48.591 -> packet received
19:17:48.591 -> readPacket type ARP, uip_len: 60
19:17:48.591 -> freeing received packet
19:17:49.592 -> --------------
19:17:49.592 -> packet received
19:17:49.592 -> readPacket type ARP, uip_len: 60
19:17:49.592 -> freeing received packet
19:17:50.637 -> --------------
19:17:50.637 -> packet received
19:17:50.637 -> readPacket type ARP, uip_len: 60
19:17:50.637 -> freeing received packet
19:17:54.018 -> --------------
19:17:54.018 -> packet received
19:17:54.018 -> readPacket type ARP, uip_len: 60
19:17:54.018 -> freeing received packet
19:17:55.004 -> --------------
19:17:55.004 -> packet received
19:17:55.004 -> readPacket type ARP, uip_len: 60
19:17:55.004 -> freeing received packet
19:17:56.033 -> --------------
19:17:56.033 -> packet received
19:17:56.033 -> readPacket type ARP, uip_len: 60
19:17:56.033 -> freeing received packet
19:17:57.034 -> --------------
19:17:57.034 -> packet received
19:17:57.034 -> readPacket type ARP, uip_len: 60
19:17:57.034 -> freeing received packet
19:17:58.080 -> --------------
19:17:58.080 -> packet received
19:17:58.080 -> readPacket type ARP, uip_len: 60
19:17:58.080 -> freeing received packet
19:17:59.077 -> --------------
19:17:59.077 -> packet received
19:17:59.077 -> readPacket type ARP, uip_len: 60
19:17:59.077 -> freeing received packet
19:18:00.121 -> --------------
19:18:00.121 -> packet received
19:18:00.121 -> readPacket type ARP, uip_len: 60
19:18:00.121 -> freeing received packet
19:18:01.122 -> --------------
19:18:01.122 -> packet received
19:18:01.122 -> readPacket type ARP, uip_len: 60
19:18:01.122 -> freeing received packet
19:18:02.169 -> --------------
19:18:02.169 -> packet received
19:18:02.169 -> readPacket type ARP, uip_len: 60
19:18:02.169 -> freeing received packet
19:18:03.216 -> --------------
19:18:03.216 -> packet received
19:18:03.216 -> readPacket type ARP, uip_len: 60
19:18:03.216 -> freeing received packet
19:18:04.216 -> --------------
19:18:04.216 -> packet received
19:18:04.216 -> readPacket type ARP, uip_len: 60
19:18:04.216 -> freeing received packet
19:18:05.263 -> --------------
19:18:05.263 -> packet received
19:18:05.263 -> readPacket type ARP, uip_len: 60
19:18:05.263 -> freeing received packet
19:18:06.260 -> --------------
19:18:06.260 -> packet received
19:18:06.260 -> readPacket type ARP, uip_len: 60
19:18:06.260 -> freeing received packet
19:18:07.311 -> --------------
19:18:07.311 -> packet received
19:18:07.311 -> readPacket type ARP, uip_len: 60
19:18:07.311 -> freeing received packet
19:18:07.644 -> --------------
19:18:07.644 -> packet received
19:18:07.644 -> readPacket type ARP, uip_len: 60
19:18:07.644 -> Enc28J60Network_send uip_buf (uip_len): 42, packet: 1, bits: 0
19:18:07.644 -> freeing received packet
19:18:07.644 -> --------------
19:18:07.644 -> packet received
19:18:07.644 -> readPacket type IP, uip_len: 74, bits: 10 --------------------------------->>>>> here i try to access my pico ip from my pc
My code is
/*
Web Server
A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)
created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
modified 02 Sept 2015
by Arturo Guadalupi
*/
#include <SPI.h>
//#include <Ethernet.h>
#include <EthernetENC.h>
const int EchoPin = 2;
const int TriggerPin = 3;
int cm;
int ping(int TriggerPin, int EchoPin) {
long duration, distanceCm;
digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us
delayMicroseconds(4);
digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos
distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm
return distanceCm;
}
// 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(10, 5, 50, 253);
// 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() {
delay(5000);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
// You can use Ethernet.init(pin) to configure the CS pin
//Ethernet.init(10); // Most Arduino shields
//Ethernet.init(5); // MKR ETH shield
//Ethernet.init(0); // Teensy 2.0
//Ethernet.init(20); // Teensy++ 2.0
//Ethernet.init(15); // ESP8266 with Adafruit Featherwing Ethernet
//Ethernet.init(33); // ESP32 with Adafruit Featherwing Ethernet
Ethernet.init(17);
// 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
}
Serial.println("Ethernet WebServer Example");
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
// Check for Ethernet hardware present
if (Ethernet.hardwareStatus() == EthernetNoHardware) {
Serial.println("Ethernet shield was not found. Sorry, can't run without hardware. :(");
while (true) {
delay(1); // do nothing, no point running without Ethernet hardware
}
}
if (Ethernet.linkStatus() == LinkOFF) {
Serial.println("Ethernet cable is not connected.");
}
// start the server
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>");
cm = ping(TriggerPin, EchoPin);
client.print("Distancia: ");
client.print(cm);
client.println("<br />");
delay(1000);
// 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");
}
}