L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *
sto usando un Arduino-Uno, ma non riesco ad accedere alla mia pagina Web. Avevo già assegnato l'indirizzo IP ad Arduino. quando eseguo arduino (ctrl + maiusc + m), visualizza l'output. Ma quando accedo alla mia pagina Web, verrà visualizzato "impossibile" raggiunto a questa pagina Web.
My Webserver funziona perfettamente con IP locale e rete locale con cavo Ethernet.
lavorare con il port forwarding / IP pubblico quando si usa un'altra connessione di rete al cellulare come menzionato nell'articolo.
non funziona nel mio cellulare o laptop quando si utilizza il router WiFi / Wireless nella stessa rete con IP locale. Per favore fatemi sapere dove sto sbagliando.
ho bisogno di aiuto in questo codice perché quando si verifica un'emergenza di 4 (alto) non riesco a tornare allo stato precedente... come posso farlo ???
// SOLO ARDUINO 1.0+
// SOLO ARDUINO 1.0+
#includere
#includere
lettura booleana = false;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Solo configurazione manuale
// byte gateway [] = {192, 168, 1, 1}; // Solo configurazione manuale
// byte subnet [] = {255, 255, 255, 0}; // Solo configurazione manuale
// se è necessario modificare l'indirizzo MAC (Very Rare)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Server Ethernet Server = Server Ethernet (80); // porta 80
////////////////////////////////////////////////////////////////////////
void setup () {
Serial.begin (9600);
// I pin 10,11,12 e 13 sono utilizzati dallo scudo Ethernet
pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // EMERGANCY
pinMode (6, INPUT);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, sottorete); // per impostazione manuale
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);
ritardo (5000);
digitalWrite (3, LOW);
}
}
checkForClient (); // ascolta i client in arrivo ed elabora qequest.
}
void checkForClient () {
EthernetClient client = server.available ();
if (client) {
// una richiesta http termina con una riga vuota
booleano currentLineIsBlank = true;
booleano sentHeader = false;
while (client.connected ()) {
if (client.available ()) {
if (! sentHeader) {
// invia un'intestazione di risposta http standard
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = true;
}
char c = client.read ();
if (reading && c == '') reading = false;
if (c == '?') reading = true; // ha trovato il?, inizia a leggere le informazioni
if (leggendo) {
Serial.print (c);
switch (c) {
caso "4":
// aggiungi qui il codice per attivare il 2
triggerPin (4, client);
rompere;
caso '6':
// aggiungi qui il codice per attivare il 3
triggerPin (6, client);
rompere;
}
}
se (c == '\ n' && currentLineIsBlank) si interrompe;
if (c == '\ n') {
currentLineIsBlank = true;
} else if (c! = '\ r') {
currentLineIsBlank = false;
}
}
}
ritardo (1); // dare al browser web il tempo di ricevere i dati
client.stop (); // chiudi la connessione:
}
}
void triggerPin (pin int, client EthernetClient) {
// lampeggia un pin - Client necessario solo per scopi di output HTML.
client.print ("Attivazione del pin");
client.println (pin);
client.print ( "");
if (pin, HIGH)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}
}
Non sarebbe più facile ed economico farlo con un Raspberry Pi? Non sono davvero sicuro perché non ho mai usato un Arduino, ma ho un Pi.