Din e-mail-adresse offentliggøres ikke. Nødvendige felter er markeret *

Jeg bruger en arduino-uno, men jeg har ikke adgang til min webside. Jeg havde allerede tildelt idu-adresse til arduino. når jeg kører arduino (ctrl + shift + m), viser det output. Men når jeg åbner min webside, viser den "du kan ikke" nås til denne webside.

Min webserver fungerer fint med lokal IP og lokalt netværk med Ethernet-kabel.

arbejde med portvideresendelse / offentlig IP, når du bruger anden netværksforbindelse til mobil som nævnt i artiklen.

fungerer ikke i min mobil eller bærbare computer, når jeg bruger Wifi / Wireless-routeren i samme netværk med lokal IP. Lad mig vide, hvor jeg går galt.

Jeg har brug for hjælp til denne kode, fordi når nødsituation forekommer med 4 (høj), kan jeg ikke vende tilbage til forrige tilstand... hvordan kan jeg gøre dette ???

// KUN ARDUINO 1.0+
// KUN ARDUINO 1.0+

#omfatte
#omfatte
boolsk læsning = falsk;

////////////////////////////////////////////////////////////////////////
//CONFIGURE

instagram viewer

////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Kun manuel opsætning
// byte gateway [] = {192, 168, 1, 1}; // Kun manuel opsætning
// byte subnet [] = {255, 255, 255, 0}; // Kun manuel opsætning

// hvis nødvendigt at ændre MAC-adressen (Very Rare)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

EthernetServer-server = EthernetServer (80); // port 80
////////////////////////////////////////////////////////////////////////

ugyldig opsætning () {
Serial.begin (9600);

// Pins 10,11,12 & 13 bruges af ethernet-skjoldet

pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // EMERGANCY
pinMode (6, INPUT);

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, subnet); // til manuel opsætning

server.begin ();
Serial.println (Ethernet.localIP ());

}

void loop () {

digitalWrite (6, LAV);
if ((digitalRead (4) == LAV) || (digitalRead (6) == HØJ))
{
if (digitalRead (2) == HØJ)
{
digitalWrite (3, HØJ);
forsinkelse (5000);
digitalWrite (3, LAV);

}

}

checkForClient (); // lytte til indkommende klienter og behandle qequest.

}

void checkForClient () {

EthernetClient-klient = server.tilgængelig ();

hvis (klient) {

// en http-anmodning slutter med en tom linje
boolsk strømLineIsBlank = sand;
boolsk sendHeader = falsk;

while (client.connected ()) {
if (client.available ()) {

if (! sentHeader) {
// send en standard http-svarhoved
client.println ("HTTP / 1.1 200 OK");
client.println ("Indholdstype: tekst / html");
client.println ();
sentHeader = sandt;
}

char c = client.read ();

if (læsning && c == '') læsning = falsk;
if (c == '?') læsning = sandt; // fundet?, begynde at læse info

hvis (læsning) {
Serialprint (c);

switch (c) {
sag '4':
// tilføj kode her for at udløse på 2
triggerPin (4, klient);
pause;
sag '6':
// tilføj kode her for at udløse den 3
triggerPin (6, klient);
pause;

}

}

hvis (c == '\ n' && currentLineIsBlank) brydes;

if (c == '\ n') {
currentLineIsBlank = sandt;
} andet hvis (c! = '\ r') {
currentLineIsBlank = falsk;
}

}
}

forsinkelse (1); // give webbrowseren tid til at modtage dataene
client.stop (); // luk forbindelsen:

}

}

void triggerPin (int pin, EthernetClient-klient) {
// blink en pin - Klient er nødvendig kun til HTML-outputformål.
client.print ("Tænd for pin");
client.println (pin);
client.print ( "");

hvis (pin, HØJ)
{
digitalWrite (4, HØJ);
digitalWrite (6, HØJ);}

}

Ville det ikke være lettere og billigere at gøre dette med en a Raspberry Pi? Jeg er ikke rigtig sikker, fordi jeg aldrig har brugt en Arduino, men jeg har en Pi.