Serveur d'impression

Relais de serveur Web Ethernet Arduino – Bien choisir son serveur d impression

Le 27 avril 2021 - 5 minutes de lecture


Cet article montre comment créer un serveur Web Ethernet Arduino qui contrôle un relais connecté à une lampe.

Vous pouvez accéder à votre serveur Web avec n'importe quel appareil doté d'un navigateur et connecté au même réseau.

Ressources recommandées:

Si vous aimez les projets Arduino et que vous souhaitez en construire plus, je vous recommande de suivre mon cours Projets pas à pas Arduino – Construire 25 projets.

Remarque: si vous n'êtes pas à l'aise avec la tension secteur, mais que vous souhaitez tout de même essayer de faire le projet, vous pouvez par exemple remplacer le module relais par une LED. Le code et les schémas sont très similaires.

Bouclier Ethernet

Le bouclier Ethernet Arduino connecte votre Arduino à Internet de manière simple. Montez simplement ce module sur votre carte Arduino, connectez-le à votre réseau avec un câble RJ45 et suivez quelques étapes simples pour commencer à contrôler vos projets via le Web.

Noter: vous devez connecter un câble Ethernet de votre routeur à votre blindage Ethernet comme illustré dans la figure suivante.

Utilisation des broches

Lorsque l'Arduino est connecté à un blindage Ethernet, vous ne pouvez pas utiliser de broches numériques de 10 à 13, car elles sont utilisées pour établir une communication entre l'Arduino et le blindage Ethernet.

Module relais

Un relais est un interrupteur à commande électrique. Cela signifie qu'il peut être activé ou désactivé, laissant passer le courant ou non. Le module de relais est celui de la figure ci-dessous.

Ce module de relais particulier est livré avec deux relais (ces cubes bleus).

Concernant la tension secteur, les relais ont 3 connexions possibles:

  • COM: broche commune
  • NON: normalement ouvert – il n'y a pas de contact entre la broche commune et la broche normalement ouverte. Ainsi, lorsque vous déclenchez le relais, il se connecte à la broche COM et l'alimentation est fournie à la charge (une lampe, dans notre cas).
  • NC: normalement fermé – il y a contact entre la broche commune et la broche normalement fermée. Il y a toujours un contact entre les broches COM et NC, même lorsque le relais est désactivé. Lorsque vous déclenchez le relais, le circuit est ouvert et aucune alimentation n'est fournie à la charge.

En relation avec ce projet, il vaut mieux utiliser un circuit normalement ouvert, parce que nous voulons allumer la lampe de temps en temps. Lisez ce tutoriel pour en savoir plus sur l'utilisation d'un module de relais avec la carte Arduino.

Les connexions entre le relais et l'Arduino sont vraiment simples:

  • GND: va au sol
  • EN 1: contrôle le premier relais. Doit être connecté à une broche numérique Arduino
  • EN 2: contrôle le deuxième relais. Doit être connecté à une broche numérique Arduino
  • VCC: passe à 5V

Pièces requises

Voici une liste complète des composants dont vous avez besoin pour ce projet:

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix!

Code

Copiez le code suivant sur votre IDE Arduino et avant de le télécharger sur votre carte Arduino, lisez le «Configuration de votre réseau» section ci-dessous.

/ *
 * Rui Santos
 * Détails complets du projet https://randomnerdtutorials.com
* /

#inclure 
#inclure 

// Entrez une adresse MAC et une adresse IP pour votre contrôleur ci-dessous.
// L'adresse IP dépendra de votre réseau local:
octet mac[] = 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;
IPAddress ip (192, 168,1, 111);

// Initialise la bibliothèque du serveur Ethernet
// avec l'adresse IP et le port que vous souhaitez utiliser
// (le port 80 est par défaut pour HTTP):
Serveur EthernetServer (80);

// État du relais et broche
Chaîne relay1State = "Off";
relais int constant = 7;

// Variables client
char linebuf[80];
int charcount = 0;

void setup() 
  // Module relais préparé
  pinMode (relais, SORTIE);
  digitalWrite (relais, HAUT);
  
  // Communication série ouverte à un débit de 9600 bauds
  Serial.begin (9600);
  
  // démarrer la connexion Ethernet et le serveur:
  Ethernet.begin (mac, ip);
  server.begin ();
  Serial.print ("le serveur est à");
  Serial.println (Ethernet.localIP ());


// Afficher la page du tableau de bord avec bouton marche / arrêt pour le relais
// Il imprime également la température en C et F
void dashboardPage (EthernetClient et client) 
  client.println ("");
  client.println ("");
  client.println ("

Serveur Web Arduino - Rafraîchir

"); // Génère des boutons pour contrôler le relais client.println ("

Relais 1 - État: "+ relay1State +"

"); // Si le relais est éteint, il montre le bouton pour activer la sortie if (relay1State == "Off") client.println (""); // Si le relais est activé, il affiche le bouton pour désactiver la sortie else if (relay1State == "On") client.println (""); client.println (""); boucle void () { // écoute les clients entrants Client EthernetClient = serveur disponible (); if (client) { Serial.println ("nouveau client"); memset (linebuf, 0, sizeof (linebuf)); charcount = 0; // une requête http se termine par une ligne vide booléen currentLineIsBlank = true; while (client.connected ()) if (client disponible ()) char c = client.read (); // lire char par requête HTTP char linebuf[charcount]= c; if (charcount 0) digitalWrite (relais, HAUT); relay1State = "Off"; else if (strstr (linebuf, "GET / relay1on")> 0) digitalWrite (relais, LOW); relay1State = "Activé"; // vous commencez une nouvelle ligne currentLineIsBlank = vrai; memset (linebuf, 0, sizeof (linebuf)); charcount = 0; sinon si (c! = ' r') // vous avez un caractère sur la ligne courante currentLineIsBlank = faux; // donne au navigateur Web le temps de recevoir les données retard (1); // ferme la connexion: client.stop (); Serial.println ("client déconnecté"); } }

Afficher le code brut

Configurer votre réseau

Jetez un œil à l'extrait de code de configuration de votre réseau:

octet mac[] = 
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED;
IPAddress IP (192,168,1,XXX);

Important: vous devrez peut-être remplacer cette variable surlignée en rouge par des valeurs appropriées adaptées à votre réseau, sinon votre Arduino n'établira pas de connexion avec votre réseau.

Remplacez la ligne suivante par une adresse IP disponible et adaptée à votre réseau:

IPAddress ip (X, X, X, X);

Dans mon cas, ma plage IP est 192.168.1.X et avec le logiciel Angry IP Scanner, je sais que l'IP 192.168.1.111 est disponible sur mon réseau, car aucun appareil actif sur mon réseau ne possède exactement la même adresse IP:

IPAddress ip (192, 168, 1, 111);

Schémas

Câblez votre circuit en fonction du schéma ci-dessous:

Manifestation

Votre serveur Web Arduino ressemble à la figure ci-dessous:

Voici une démonstration montrant ce que vous avez à la fin de ce projet:

Emballer

Avec ce projet, vous avez construit un serveur Web Arduino qui active et désactive un relais.

Maintenant, vous pouvez utiliser ce projet pour contrôler n'importe quel appareil électronique que vous souhaitez.

Ce projet est une version simplifiée de l'un de mes projets dans les projets pas à pas Arduino. Si vous avez aimé ce projet, assurez-vous de consulter le cours qui comprend 23 projets Arduino.

Merci d'avoir lu,

Rui et Sara

Commentaires

Laisser un commentaire

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