Relais de serveur Web Ethernet Arduino – Bien choisir son serveur d impression
[bzkshopping keyword= »Minecraft » count= »8″ template= »grid »]
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.
Sommaire
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