Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

Používám arduino-uno, ale nemůžu získat přístup ke své webové stránce. Když spustím arduino (ctrl + shift + m), zobrazí výstup. Když se ale dostanu na svou webovou stránku, zobrazí se na tuto webovou stránku „nemůžete“.

Můj webový server funguje dobře s místní IP a místní sítí s ethernetovým kabelem.

práce s přesměrováním portů / veřejnou IP při použití jiného síťového připojení k mobilu, jak je uvedeno v článku.

nefunguje v mém mobilním nebo přenosném počítači, když používáte router WiFi / Wireless ve stejné síti s místní IP. Prosím, dejte mi vědět, kde se mýlím.

Potřebuji pomoc v tomto kódu, protože když nastane nouzové situace 4 (vysoká), nemůžu se vrátit do předchozího stavu... jak to mohu udělat ???

// POUZE ARDUINO 1.0+
// POUZE ARDUINO 1.0+

#zahrnout
#zahrnout
boolean čtení = false;

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

instagram viewer

byte ip [] = {192, 168, 16, 71}; // Pouze ruční nastavení
// bajtová brána [] = {192, 168, 1, 1}; // Pouze ruční nastavení
// byte subnet [] = {255, 255, 255, 0}; // Pouze ruční nastavení

// v případě potřeby změnit MAC adresu (Very Rare)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

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

neplatné nastavení () {
Serial.egegin (9600);

// Kolíky 10,11,12 a 13 se používají pro 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); // pro ruční nastavení

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

}

void loop () {

digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
if (digitalRead (2) == HIGH)
{
digitalWrite (3, HIGH);
zpoždění (5000);
digitalWrite (3, LOW);

}

}

checkForClient (); // naslouchejte příchozím klientům a zpracovejte požadavek.

}

void checkForClient () {

Klient EthernetClient = server.available ();

if (client) {

// http požadavek končí prázdným řádkem
boolean currentLineIsBlank = true;
boolean sentHeader = false;

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

if (! sentHeader) {
// poslat standardní hlavičku odpovědi http
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = true;
}

char c = client.read ();

if (čtení && c == '') čtení = false;
pokud (c == '?') čtení = true; // našel?, začněte číst informace

if (čtení) {
Serial.print (c);

přepínač (c) {
případ '4':
// zde přidejte kód pro spuštění na 2
triggerPin (4, klient);
přestávka;
případ '6':
// zde přidejte kód pro spuštění na 3
triggerPin (6, klient);
přestávka;

}

}

if (c == '\ n' && currentLineIsBlank) break;

if (c == '\ n') {
currentLineIsBlank = true;
} jinak pokud (c! = '\ r') {
currentLineIsBlank = false;
}

}
}

zpoždění (1); // dát webovému prohlížeči čas na příjem dat
client.stop (); // zavřete připojení:

}

}

void triggerPin (int pin, EthernetClient client) {
// bliká špendlík - Klient potřeboval pouze pro účely výstupu HTML.
client.print („Zapnutí špendlíku“);
client.println (pin);
client.print ("");

if (pin, HIGH)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}

}

Nebylo by to snazší a levnější to udělat s Raspberry Pi? Nejsem si úplně jistý, protože jsem nikdy nepoužil Arduino, ale mám Pi.