Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *

Folosesc un arduino-uno, dar nu pot accesa pagina mea web. Am deja atribuit adresa IP la arduino. atunci când execut arduino (ctrl + shift + m), afișează ieșire. Dar când accesez pagina mea web, va afișa „nu puteți” să ajungeți la această pagină web.

Serviciul meu Web funcționează bine cu IP-ul local și rețeaua locală cu cablu Ethernet.

lucrul cu redirecționarea porturilor / IP public atunci când utilizați o altă conexiune de rețea la mobil, așa cum se menționează în articol.

nu funcționează în mobil sau laptop atunci când folosesc routerul Wifi / Wireless în aceeași rețea cu IP local. Vă rugăm să anunțați unde greșesc.

Am nevoie de ajutor în acest cod, pentru că atunci când apare o situație de urgență la 4 (mare) nu pot reveni la starea anterioară... cum pot face asta ???

// DOAR ARDUINO 1.0+
// DOAR ARDUINO 1.0+

#include
#include
citire booleană = fals;

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

instagram viewer

//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Doar configurare manuală
// byte gateway [] = {192, 168, 1, 1}; // Doar configurare manuală
// byte subnet [] = {255, 255, 255, 0}; // Doar configurare manuală

// dacă este nevoie să schimbați adresa MAC (Foarte rar)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

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

void setup () {
Serial.begin (9600);

// Pinii 10,11,12 și 13 sunt folosiți de scutul Ethernet

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

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, subnet); // pentru configurare manuală

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);
întârziere (5000);
digitalWrite (3, LOW);

}

}

checkForClient (); // ascultați clienții primiți și verificați procesul.

}

void checkForClient () {

Client EthernetClient = server.available ();

if (client) {

// o solicitare http se încheie cu o linie goală
boolean currentLineIsBlank = true;
boolean sentHeader = fals;

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

if (! sentHeader) {
// trimiteți un antet de răspuns http standard
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = true;
}

char c = client.read ();

if (citire &&c == '') citire = fals;
if (c == '?') citire = true; // a găsit?, începeți să citiți informațiile

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

comutator (c) {
carcasa „4”:
// adăugați cod aici pentru a declanșa pe 2
triggerPin (4, client);
pauză;
carcasa „6”:
// adăugați cod aici pentru a declanșa pe 3
triggerPin (6, client);
pauză;

}

}

dacă (c == '\ n' && currentLineIsBlank) se rup;

if (c == '\ n') {
currentLineIsBlank = true;
} else if (c! = '\ r') {
currentLineIsBlank = fals;
}

}
}

întârziere (1); // acordați browserului web timp pentru a primi datele
client.stop (); // închideți conexiunea:

}

}

void triggerPin (pin int, client EthernetClient) {
// clipește un pin - Clientul este necesar doar în scopuri de ieșire HTML.
client.print ("Pornirea acvionului");
client.println (pin);
client.print ( "");

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

}

Nu ar fi mai ușor și mai ieftin să faceți acest lucru cu un Zmeură Pi? Nu sunt foarte sigur pentru că nu am folosit niciodată un Arduino, dar am un Pi.