Arduino – serveur Web avec un bouclier Ethernet Arduino + – Serveur d’impression
Ce projet consiste à utiliser un Arduino avec un bouclier Ethernet. Je vais contrôler une LED et un servo, mais vous pouvez appliquer cette méthode pour contrôler n’importe quel appareil électronique. (tels que moteurs à courant continu, avertisseurs sonores, relais, moteurs pas à pas, etc.)
![]()
Sommaire
introduction
Le code fourni lors du téléchargement et de la connexion à Internet crée un serveur Web sur votre réseau local et vous utilisez simplement l’IP pour accéder à ce serveur Web via votre navigateur. Après cela, il affiche une page Web similaire à celle ci-dessous. Lorsque vous appuyez sur le bouton «Allumer la LED», votre URL changera pour: “Http://192.168.1.178/?button1on” l'arduino lira cette information et allumera le voyant.
Par défaut, l'adresse IP est «192.168.1.178». Cela aussi peut être trouvé sur le code arduino fourni.
Pièces requises


Schémas
![[Schematics]](https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/Schematics.png?resize=434%2C274&ssl=1)
Téléchargez le code ci-dessous
/ *
Créé par Rui Santos
Visitez: https://randomnerdtutorials.com pour plus de projets Arduino
Arduino avec Ethernet Shield
* /
#comprendre
#comprendre
#comprendre
int led = 4;
Servo microservo;
int pos = 0;
octet mac[] = 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED; // adresse mac physique
octet ip[] = 192, 168, 1, 178; // ip in lan (c'est ce que vous devez utiliser dans votre navigateur. ("192.168.1.178")
passerelle d'octets[] = 192, 168, 1, 1; // accès internet via routeur
sous-réseau d'octets[] = 255, 255, 255, 0; // masque de sous-réseau
Serveur EthernetServer (80); //port de serveur
Chaîne readString;
void setup()
// Ouvrez les communications série et attendez que le port s'ouvre:
Serial.begin (9600);
while (! Série)
; // attend que le port série se connecte. Nécessaire pour Leonardo seulement
pinMode (led, OUTPUT);
microservo.attach (7);
// lance la connexion Ethernet et le serveur:
Ethernet.begin (mac, ip, passerelle, sous-réseau);
server.begin ();
Serial.print ("le serveur est à");
Serial.println (Ethernet.localIP ());
boucle vide () {
// Créer une connexion client
Client EthernetClient = server.available ();
si (client) {
while (client.connected ()) {
if (client.available ())
char c = client.read ();
// demande HTTP char par char char
if (readString.length () <100)
// stocke les caractères dans une chaîne
readString + = c;
//Serial.print(c);
// si la requête HTTP est terminée
si (c == ' n')
Serial.println (readString); // imprimer sur le moniteur série pour le débogage
client.println ("HTTP / 1.1 200 OK"); // envoyer une nouvelle page
client.println ("Content-Type: text / html");
client.println ();
client.println ("");
client.println ("");
client.println ("");
client.println ("");
client.println ("");
client.println ("Projet de tutoriels aléatoires sur le nerd ");
client.println ("");
client.println ("");
client.println ("Projet de tutoriels aléatoires sur le nerd
");
client.println ("
");
client.println ("
");
client.println ("Arduino avec Ethernet Shield
");
client.println ("
");
client.println ("Allumer la LED");
client.println ("Éteindre LED
");
client.println ("
");
client.println ("
");
client.println ("Tourne à gauche");
client.println ("Tourner à droite
");
client.println ("Créé par Rui Santos. Visitez https://randomnerdtutorials.com pour plus de projets!
");
client.println ("
");
client.println ("");
client.println ("");
retarder (1);
// arrêt du client
client.stop ();
// contrôle l'Arduino si vous appuyez sur les boutons
if (readString.indexOf ("? button1on")> 0)
digitalWrite (led, HIGH);
if (readString.indexOf ("? button1off")> 0)
digitalWrite (led, LOW);
if (readString.indexOf ("? button2on")> 0)
pour (pos = 0; pos < 180; pos += 3) // goes from 0 degrees to 180 degrees
// in steps of 1 degree
microservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
if (readString.indexOf("?button2off") >0)
pour (pos = 180; pos> = 1; pos- = 3) // va de 180 degrés à 0 degrés
microservo.write (pos); // dire au servo de se positionner dans la variable 'pos'
délai (15); // attend 15ms que le servo atteigne la position
// efface la chaîne pour la prochaine lecture
readString = "";
}
}
}
Voir le code brut
Remarque: Si vous essayez ce projet. Vous ne pouvez accéder à cette adresse IP que chez vous. Cela signifie que vous devez être connecté au même routeur que celui auquel vous êtes connecté. La photo ci-dessous montre mon accès à mon serveur Web avec mon iPad.
Click to rate this post!







Commentaires
Laisser un commentaire