I have a problem with my Arduino wifi rev2 as described in the title the Arduino automatically disconnected from the Internet after various time intervals. As a result, the website that this hostet is no longer accessible. In the attachment you will find my code
//Reset
long reset_Timer = 7200000;
int Time;
//Anemometer
const int sensorPin = A0;
int sensorValue = 0;
float sensorVoltage = 0;
float windSpeed = 0;
float voltageConversionConstant = .004882814;
float voltageMin = .4;
float windSpeedMin = 0;
float voltageMax = 2.0;
float windSpeedMax = 32;
//DHT11
#include "DHT.h"
#include <SPI.h>
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dth(DHTPIN, DHTTYPE);
int sensorDelay = 1000;
int Temperatur;
int Luftfeuchtigkeit;
//Wifi
#include <WiFiNINA.h>
#include "arduino_secrets.h"
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
int keyIndex = 0;
int status = WL_IDLE_STATUS;
//Setup
void setup() {
WiFiServer server(80);
//DHT
dth.begin();
//Serial
Serial.begin(9600);
//Wifi
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("Communication with WiFi module failed!");
// don't continue
while (true);
}
String fv = WiFi.firmwareVersion();
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println("Please upgrade the firmware");
}
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to Network named: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(10000);
}
server.begin();
printWifiStatus();
}
//Loop
void loop() {
Time = millis();
if(reset_Timer <= Time){
software_Reset();
}
//Anemometer
sensorValue = analogRead(A0);
sensorVoltage = sensorValue * voltageConversionConstant;
if (sensorVoltage <= voltageMin){
windSpeed = 0;
}
else {
windSpeed = (sensorVoltage - voltageMin)*windSpeedMax/(voltageMax - voltageMin);
}
//DHT11
float Luftfeuchtigkeit = dth.readHumidity()/1.0;
float Temperatur = dth.readTemperature()/1.0;
//Webserver
WiFiClient client = server.available();
if (client) {
Serial.println("new client");
String currentLine = "";
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (c == '\n') {
//Website
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 2");
client.println();
client.println("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<body style=""background-image:url()"">");
client.print("<center>");
client.print("<img src=""https://image.flaticon.com/icons/svg/1582/1582767.svg"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
client.print("
");
client.print("<p style=""font-size:32px"">");
client.print(Temperatur);
client.print("C");
client.print("</p>");
client.print("
");
client.print("<img src=""https://www.ortungsservice.eu/wp-content/uploads/2014/09/Wassertropfen.png"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
client.print("
");
client.print("<p style=""font-size:32px"">");
client.print(Luftfeuchtigkeit);
client.print("%");
client.print("</p>");
client.print("
");
client.print("<img src=""https://media.istockphoto.com/vectors/cartoon-cloud-blows-wind-vector-id496388662"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
client.print("
");
client.print("<p style=""font-size:32px"">");
client.print(windSpeed);
client.print("m/s");
client.print("
");
client.print("</p>");
client.print("</center>");
client.print("</body>");
client.print("</html>");
client.println();
break;
} else {
currentLine = "";
}
} else if (c != '\r') {
currentLine += c;
}
}
}
client.stop();
Serial.println("client disonnected");
}
}
//Print Wifi
void printWifiStatus() {
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
Serial.print("To see this page in action, open a browser to http://");
Serial.println(ip);
}
void software_Reset(){
asm volatile (" jmp 0");
}