Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *

Ma kasutan arduino-unot, kuid ma ei pääse oma veebilehele juurde. Mul oli juba arduinole IP-aadress määratud. kui ma käivitan arduino (ctrl + shift + m), kuvatakse see väljund. Kuid kui ma oma veebisaidile pääsen, kuvatakse sellel sellel lehel kuvatud teade „te ei saa”.

Minu veebiserver töötab kohaliku IP ja Etherneti kaabli abil hästi.

pordi edastamise / avaliku IP-ga töötamine, kui kasutatakse muud võrguühendust mobiiliga, nagu artiklis mainitud.

ei tööta minu mobiiltelefonis ega sülearvutis, kui kasutate WiFi ja traadita ruuterit samas võrgus kohaliku IP-ga. Palun andke teada, kuhu ma valesti lähen.

Vajan selles koodis abi, sest kui hädaolukord juhtub 4 (kõrgeks) ma ei saa tagasi eelmisesse olekusse... kuidas ma saan seda teha ???

// AINULT ARDUINO 1.0+
// AINULT ARDUINO 1.0+

# kaasata
# kaasata
tõeväärtuse lugemine = vale;

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

instagram viewer

bait ip [] = {192, 168, 16, 71}; // Ainult käsitsi seadistamine
// baitvärav [] = {192, 168, 1, 1}; // Ainult käsitsi seadistamine
// baitide alamvõrk [] = {255, 255, 255, 0}; // Ainult käsitsi seadistamine

// kui on vaja muuta MAC-aadressi (väga harv)
bait mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

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

kehtetu seadistus () {
Serial.begin (9600);

// Etherneti kaitsekilp kasutab tihvte 10, 11, 12 ja 13

pinMode (2, INPUT); // SWICH
pinMode (3, VÄLJUND); //LAMP
pinMode (4, INPUT); // HÄDASEADMED
pinMode (6, INPUT);

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, lüüs, alamvõrk); // käsitsi seadistamiseks

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

}

tühine silmus () {

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

}

}

checkForClient (); // kuulake sissetulevaid kliente ja töötage qequest.

}

void checkForClient () {

EthernetClient klient = server.saadav ();

if (klient) {

// http-päring lõpeb tühja reaga
boolean currentLineIsBlank = tõene;
boolean sentHeader = vale;

while (client.connected ()) {
if (klient.saatav ()) {

if (! sentHeader) {
// saatke standardne http-vastuse päis
klient.println ("HTTP / 1.1 200 OK");
klient.println ("Sisu tüüp: tekst / html");
klient.println ();
sentHeader = tõsi;
}

char c = klient.read ();

if (lugemine && c == '') lugemine = vale;
if (c == '?') lugemine = tõene; // leidsite?, alustage teabe lugemist

if (lugemine) {
Järjestikune print (c);

lüliti (c) {
juhtum '4':
// lisage siia kood 2 käivitamiseks
triggerPin (4, klient);
vaheaeg;
juhtum '6':
// 3 käivitamiseks lisage siia kood
triggerPin (6, klient);
vaheaeg;

}

}

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

if (c == '\ n') {
currentLineIsBlank = true;
} muidu kui (c! = '\ r') {
currentLineIsBlank = vale;
}

}
}

viivitus (1); // andke veebibrauserile aega andmete vastuvõtmiseks
klient.stop (); // sulge ühendus:

}

}

void triggerPin (int pin, EthernetClient klient) {
// vilku pin - klient vajab ainult HTML-i väljundi jaoks.
klient.print ("nööpnõela sisselülitamine");
klient.println (tihvt);
klient.print ("");

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

}

Kas vaarikapiimiga oleks seda lihtsam ja odavam teha? Ma pole päris kindel, kuna ma pole kunagi Arduinot kasutanud, aga mul on Pi.