Vaša e-mailová adresa nebude zverejnená. Povinné polia sú označené *

Používam arduino-uno, ale nemôžem sa dostať na moju webovú stránku. Už som pridelil ip adresu arduino. Keď spustím arduino (ctrl + shift + m), zobrazí sa výstup. Keď sa však dostanem na svoju webovú stránku, zobrazí sa na túto webovú stránku „nemôžete“.

Môj webový server funguje dobre s lokálnou IP a lokálnou sieťou s ethernetovým káblom.

práca s presmerovaním portov / verejnou IP pri použití iného sieťového pripojenia k mobilu, ako je uvedené v článku.

nefunguje v mobilnom telefóne alebo notebooku, keď používam smerovač Wifi / Wireless v rovnakej sieti s miestnou adresou IP. Dajte mi vedieť, kde sa pokazím.

Potrebujem pomoc v tomto kóde, pretože keď nastane núdzová situácia o 4 (vysoká), nemôžem sa vrátiť do predchádzajúceho stavu... ako to môžem urobiť ???

// LEN ARDUINO 1.0+
// LEN ARDUINO 1.0+

#include
#include
booleovské čítanie = nepravdivé;

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

instagram viewer

////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Iba manuálne nastavenie
// bajtová brána [] = {192, 168, 1, 1}; // Iba manuálne nastavenie
// byte subnet [] = {255, 255, 255, 0}; // Iba manuálne nastavenie

// v prípade potreby zmeniť adresu MAC (veľmi zriedkavé)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

Server EthernetServer = EthernetServer (80); // port 80
////////////////////////////////////////////////////////////////////////

neplatné nastavenie () {
Serial.egegin (9600);

// Kolíky 10,11,12 a 13 sa používajú pre ethernetový štít

pinMode (2, INPUT); // SWICH
pinMode (3, VÝSTUP); //LAMP
pinMode (4, INPUT); // EMERGANCY
pinMode (6, INPUT);

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, subnet); // pre manuálne nastavenie

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

}

void loop () {

digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
if (digitalRead (2) == VYSOKÉ)
{
digitalWrite (3, HIGH);
oneskorenie (5000);
digitalWrite (3, LOW);

}

}

checkForClient (); // počúvajte prichádzajúcich klientov a spracujte požiadavku.

}

void checkForClient () {

Klient EthernetClient = server.available ();

if (client) {

// http požiadavka končí prázdnym riadkom
boolean currentLineIsBlank = true;
boolean sentHeader = false;

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

if (! sentHeader) {
// poslať štandardnú hlavičku odpovede http
client.println („HTTP / 1.1 200 OK“);
client.println („Content-Type: text / html“);
client.println ();
sentHeader = true;
}

char c = client.read ();

if (čítanie && c == '') čítanie = false;
ak (c == '?') čítanie = true; // našiel?, začnite čítať informácie

if (reading) {
Sériová tlač (c);

prepínač (c) {
prípad '4':
// pridajte kód, aby sa spustil 2.
triggerPin (4, klient);
prestávka;
prípad „6“:
// pridajte kód, aby sa spustil 3.
triggerPin (6, klient);
prestávka;

}

}

ak (c == '\ n' && currentLineIsBlank) zlomiť;

if (c == '\ n') {
currentLineIsBlank = true;
} inak, ak (c! = '\ r') {
currentLineIsBlank = false;
}

}
}

oneskorenie (1); // dať webovému prehliadaču čas na príjem údajov
client.stop (); // ukončenie spojenia:

}

}

void triggerPin (int pin, klient EthernetClient) {
// blikať špendlík - Klient potreboval iba na účely výstupu HTML.
client.print („Zapnutie špendlíka“);
client.println (pin);
client.print ( "");

ak (špendlík, VYSOKÝ)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}

}

Nebolo by ľahšie a lacnejšie to urobiť s Raspberry Pi? Nie som si úplne istý, pretože som nikdy nepoužil Arduino, ale mám pi.