Jūsų el. Pašto adresas nebus paskelbtas. Privalomi laukai yra pažymėti *

Aš naudoju arduino-uno, bet negaliu pasiekti savo tinklalapio.Ar jau buvau priskyręs IP adresą arduino. kai paleidžiu „Arduino“ („Ctrl“ + „Shift“ + m), jis rodo išvestį. Bet kai pateksiu į savo tinklalapį, jame bus rodoma „negalite“.

„My Webserver“ puikiai veikia su vietiniu IP ir vietiniu tinklu su eterneto kabeliu.

darbas su uosto peradresavimu / viešuoju IP, kai naudojamas kitas tinklo ryšys su mobiliuoju, kaip minėta straipsnyje.

neveikia mano mobiliajame ar nešiojamajame kompiuteryje, kai naudojant „Wifi“ / belaidį maršrutizatorių tame pačiame tinkle su vietiniu IP. Prašau pranešti, kur aš suklysiu.

Man reikia pagalbos šiam kodekui, nes kai avarija įvyksta 4 (aukštai), aš negaliu grįžti į ankstesnę būseną... kaip aš tai galiu padaryti ???

// TIK ARDUINO 1.0+
// TIK ARDUINO 1.0+

# įtraukti
# įtraukti
loginis skaitymas = klaidingas;

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

instagram viewer

baitų ip [] = {192, 168, 16, 71}; // Tik rankinis nustatymas
// baitų vartai [] = {192, 168, 1, 1}; // Tik rankinis nustatymas
// baitų potinklis [] = {255, 255, 255, 0}; // Tik rankinis nustatymas

// jei reikia pakeisti MAC adresą (labai retas)
baitų „mac“] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

EthernetServer serveris = EthernetServer (80); // 80 uostas
////////////////////////////////////////////////////////////////////////

negaliojanti sąranka () {
„Serial.begin“ (9600);

// Eterneto skydas naudoja kaiščius 10, 11, 12 ir 13

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

Ethernet.begin („mac“);
//Ethernet.begin („mac“, „ip“, „gateway“, potinklis); // rankiniam nustatymui

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

}

tuščia kilpa () {

„digitalWrite“ (6, LOW);
if ((„digitalRead“ (4) == LOW) || („digitalRead“ (6) == AUKŠTAS))
{
if (digitalRead (2) == AUKŠTAS)
{
„digitalWrite“ (3, AUKŠTAS);
vėlavimas (5000);
„digitalWrite“ (3, LOW);

}

}

„checkForClient“ (); // klausykite atvykstančių klientų ir apdorokite užklausą.

}

void checkForClient () {

„EthernetClient“ klientas = serveris.pasiekiamas ();

if (klientas) {

// „http“ užklausa baigiasi tuščia eilute
boolean currentLineIsBlank = tiesa;
boolean sentHeader = klaidinga;

tuo tarpu (client.connected ()) {
if (klientas.pasiekiamas ()) {

if (! sentHeader) {
// atsiųskite standartinę http atsakymo antraštę
client.println („HTTP / 1.1 200 OK“);
client.println („Turinio tipas: tekstas / html“);
klientas.println ();
sentHeader = tiesa;
}

char c = client.read ();

if (skaitymas && c == '') skaitymas = klaidingas;
if (c == '?') skaitymas = tiesa; // radote?, pradėkite skaityti informaciją

if (skaitymas) {
Serial.print (c);

jungiklis (c) {
atvejis '4':
// pridėkite kodą čia, kad suaktyvintumėte 2
triggerPin (4, klientas);
pertrauka;
atvejis '6':
// pridėkite kodą čia, kad suaktyvintumėte 3
triggerPin (6, klientas);
pertrauka;

}

}

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

if (c == '\ n') {
currentLineIsBlank = tiesa;
} dar jei (c! = '\ r') {
currentLineIsBlank = klaidinga;
}

}
}

vėlavimas (1); // Duokite interneto naršyklei laiko duomenims gauti
klientas.stop (); // uždaryti ryšį:

}

}

void triggerPin (int PIN, EthernetClient klientas) {
// mirksėti kaištis - klientas reikalingas tik HTML išvesties tikslais.
client.print („Įjungiamas kaištis“);
klientas.println (smeigtukas);
klientas.spausdinimas ("");

if (pin, HIGH)
{
„digitalWrite“ (4, AUKŠTAS);
„digitalWrite“ (6, AUKŠTAS);}

}

Ar nebūtų lengviau ir pigiau tai padaryti su aviečių pi? Nesu tikras, nes niekada nenaudojau Arduino, bet aš turiu Pi.