Votre adresse email ne sera pas publiée. les champs requis sont indiqués *
J'utilise un arduino-uno, mais je ne peux pas accéder à ma page Web. J'avais déjà attribué une adresse IP à Arduino. lorsque je lance arduino (ctrl + shift + m), il affiche la sortie. Mais lorsque j'accède à ma page Web, elle affichera "vous ne pouvez pas" accéder à cette page Web.
Mon serveur Web fonctionne correctement avec l'IP local et le réseau local avec un câble Ethernet.
travailler avec la redirection de port / IP publique lors de l'utilisation d'une autre connexion réseau vers un mobile, comme mentionné dans l'article.
ne fonctionne pas sur mon mobile ou mon ordinateur portable lorsque j'utilise le routeur Wifi / sans fil dans le même réseau avec une adresse IP locale. Veuillez me faire savoir où je me trompe.
j'ai besoin d'aide dans ce code parce qu'en cas d'urgence par 4 (haut) je ne peux pas revenir à l'état précédent... comment puis-je faire ???
// ARDUINO 1.0+ UNIQUEMENT
// ARDUINO 1.0+ UNIQUEMENT
#comprendre
#comprendre
lecture booléenne = false;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
octet ip [] = {192, 168, 16, 71}; // Configuration manuelle uniquement
// passerelle d'octets [] = {192, 168, 1, 1}; // Configuration manuelle uniquement
// sous-réseau d'octets [] = {255, 255, 255, 0}; // Configuration manuelle uniquement
// si besoin de changer l'adresse MAC (très rare)
octet mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer server = EthernetServer (80); // port 80
////////////////////////////////////////////////////////////////////////
void setup(){
Serial.begin (9600);
// Les broches 10, 11, 12 et 13 sont utilisées par le blindage Ethernet
pinMode (2, INPUT); // SWICH
pinMode (3, SORTIE); //LAMP
pinMode (4, INPUT); // ÉMERGENCE
pinMode (6, ENTRÉE);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, passerelle, sous-réseau); // pour une configuration manuelle
server.begin ();
Serial.println (Ethernet.localIP ());
}
boucle vide () {
digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
if (digitalRead (2) == HIGH)
{
digitalWrite (3, HIGH);
retard (5000);
digitalWrite (3, LOW);
}
}
checkForClient (); // écoute les clients entrants et traite qequest.
}
void checkForClient () {
Client EthernetClient = server.available ();
si (client) {
// une requête http se termine par une ligne vierge
boolean currentLineIsBlank = true;
boolean sentHeader = false;
while (client.connected ()) {
if (client.available ()) {
if (! sentHeader) {
// envoie un en-tête de réponse http standard
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = true;
}
char c = client.read ();
if (lecture && c == '') lecture = false;
if (c == '?') reading = true; // trouvé le?, commencez à lire l'info
si (lecture) {
Serial.print (c);
commutateur (c) {
cas «4»:
// ajoutez du code ici pour déclencher le 2
triggerPin (4, client);
Pause;
cas «6»:
// ajoutez du code ici pour déclencher le 3
triggerPin (6, client);
Pause;
}
}
if (c == '\ n' && currentLineIsBlank) break;
si (c == '\ n') {
currentLineIsBlank = true;
} sinon si (c! = '\ r') {
currentLineIsBlank = false;
}
}
}
retard (1); // donne au navigateur Web le temps de recevoir les données
client.stop (); // ferme la connexion:
}
}
void triggerPin (broche int, client EthernetClient) {
// clignote une broche - Client nécessaire uniquement à des fins de sortie HTML.
client.print ("Activation de la broche");
client.println (broche);
client.print ("");
if (pin, HIGH)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}
}
Ne serait-il pas plus facile et moins cher de le faire avec un Raspberry Pi? Je ne suis pas vraiment sûr car je n'ai jamais utilisé d'Arduino, mais j'ai un Pi.