Serveur d'impression

Arduino – serveur Web avec un bouclier Ethernet Arduino + – Serveur d’impression

Le 13 novembre 2019 - 2 minutes de lecture

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.)

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.

Untitled "width =" 349 "height =" 306 "srcset =" https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/Untitled.png?w=582&ssl=1 582w, https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/Untitled.png?resize=300%2C262&ssl=1 300w "values ​​=" (largeur maximale: 349px) 100vw, 349px "data-recalc-dims =" 1 "/> Regardez ce didacticiel vidéo</h2>
<p style=

Pièces requises

3a "width =" 265 "height =" 198 "srcset =" https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/3a1.jpg?resize=1024%2C764&ssl=1 1024w, https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/3a1.jpg?resize=300%2C224&ssl=1 300w, https://i0.wp.com/randomnerdtutorials .com / wp-content / uploads / 2013/11 / 3a1.jpg? w = 1627.5 & ssl = 1 1627.5w, https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/ 3a1.jpg? W = 2441.25 & ssl = 1 2441.25w "tailles =" (largeur maximale: 265 pixels), 100vw, 265 pixels "data-recalc-dims =" 1 "/></p>
<p>Vous pouvez utiliser les liens précédents ou aller directement à MakerAdvisor.com/tools pour trouver toutes les pièces de vos projets au meilleur prix!</p>
<p style=

Schémas

[Schematics]

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.

a "width =" 300 "height =" 225 "srcset =" https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/a.jpg?resize=300%2C225&ssl=1 300w, https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/a.jpg?resize=1024%2C768&ssl=1 1024w, https://i0.wp.com/randomnerdtutorials .com / wp-content / uploads / 2013/11 / a.jpg? w = 1627.5 & ssl = 1 1627.5w, https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2013/11/ a.jpg? w = 2441.25 & ssl = 1 2441.25w "tailles =" (largeur maximale: 300px) 100vw, 300px "données-recalc-dims =" 1 "/></p>
<p>Merci de votre lecture, vous pouvez me contacter en laissant un commentaire. Si vous aimez ce billet, vous aimerez probablement mes prochains, alors soutenez-moi en abonnant mon blog et ma page Facebook.</p>
</p></div>
<div class=

Articles relatifs:

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.