Az e-mail címed nem kerül nyilvánosságra. A kötelező mezők meg vannak jelölve *

Arduino-uno-t használok, de nem tudok hozzáférni a weboldalomhoz. Már adtam IP-címet az arduino-nak. amikor futtatom az arduino-t (ctrl + shift + m), akkor megjelenik a kimenet. De amikor belépök a weboldalamra, megjelenik a "nem tudsz" felirat megjelenni ezen a weblapon.

A Webserver jól működik a helyi IP-vel és az Ethernet-kábellel ellátott helyi hálózattal.

a port-továbbítással / nyilvános IP-vel való együttműködés, ha a hálózathoz más hálózati kapcsolatot használunk, a cikkben említettek szerint.

nem működik a mobilomban vagy a laptopomban, ha a Wifi / vezeték nélküli útválasztót ugyanabban a hálózatban használja a helyi IP-vel. Kérem, tudassa velem, hol tévedek.

Segítségre van szükségem ebben a kódban, mert amikor 4 (magas) vészhelyzet fordul elő, nem tudok visszatérni az előző állapotba... hogyan tudom ezt csinálni ???

// CSAK ARDUINO 1.0+
// CSAK ARDUINO 1.0+

#include
#include
logikai érték = hamis;

////////////////////////////////////////////////////////////////////////

instagram viewer

//CONFIGURE
////////////////////////////////////////////////////////////////////////
bájt ip [] = {192, 168, 16, 71}; // Csak kézi beállítás
// byte átjáró [] = {192, 168, 1, 1}; // Csak kézi beállítás
// byte alhálózat [] = {255, 255, 255, 0}; // Csak kézi beállítás

// ha meg kell változtatni a MAC címet (nagyon ritka)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

EthernetServer szerver = EthernetServer (80); // 80-as port
////////////////////////////////////////////////////////////////////////

érvénytelen beállítás () {
Serial.begin (9600);

// A 10, 11, 12 és 13 csapokat az Ethernet pajzs használja

pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // VÉSZHELYZET
pinMode (6, INPUT);

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, átjáró, alhálózat); // kézi beállításhoz

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);
késleltetés (5000);
digitalWrite (3, LOW);

}

}

checkForClient (); // figyeljen a bejövő ügyfelekre, és dolgozza fel a qequest folyamatot.

}

void checkForClient () {

EthernetClient kliens = kiszolgáló.kapható ();

if (ügyfél) {

// egy http kérés üres sorral zárul
boolean currentLineIsBlank = true;
boolean sentHeader = false;

míg (client.connected ()) {
if (client.avable ()) {

if (! sentHeader) {
// küldjön egy szabványos http-válasz fejlécet
client.println ("HTTP / 1.1 200 OK");
client.println ("Tartalom-típus: szöveg / html");
client.println ();
sentHeader = igaz;
}

char c = client.read ();

if (olvasás && c == '') olvasás = hamis;
if (c == '?') olvasás = igaz; // megtalálta a?, kezdje el olvasni az információt

if (olvasás) {
Soros nyomtatás (c);

kapcsoló (c) {
„4” eset:
// adjon hozzá ide kódot a 2-es indításhoz
triggerPin (4, kliens);
szünet;
„6” eset:
// adjon hozzá ide kódot a 3-as indításhoz
triggerPin (6, kliens);
szünet;

}

}

if (c == '\ n' && currentLineIsBlank) törés;

if (c == '\ n') {
currentLineIsBlank = true;
} egyébként, ha (c! = '\ r') {
currentLineIsBlank = hamis;
}

}
}

késleltetés (1); // adjon időt a böngészőnek az adatok fogadására
client.stop (); // bezárja a kapcsolatot:

}

}

void triggerPin (int PIN, EthernetClient kliens) {
// egy jelzőfény villogása - az ügyfélnek csak HTML-kimeneti célra van szüksége.
client.print ("Pin bekapcsolása");
kliens.println (tű);
client.print ( "");

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

}

Nem lenne könnyebb és olcsóbb ezt a Raspberry Pi-vel csinálni? Nem vagyok biztos abban, mert soha nem használtam Arduino-t, de van egy Pi-nek.