Donnez à votre projet Arduino son propre mini-serveur Web, avec un bouclier Ethernet
Il y a quelque temps, je vous ai montré comment configurer un système de contrôle Internet pour votre Arduino. Comment configurer le contrôle Web Arduino sans bouclier Ethernet Comment configurer le contrôle Web Arduino sans bouclier Ethernet Au cours des dernières semaines, j'ai passé le contrôle sur Lors de la diffusion en direct de Technophilia Podcast, l'éclairage d'ambiance de mon studio était visible au… En savoir plus - mais il devait rester connecté à un ordinateur via USB pour conserver la connexion Internet. Si vous avez un bouclier Ethernet, ce n'est pas nécessaire. Nous allons maintenant envisager de configurer un Arduino en tant que serveur Web de base afin de pouvoir héberger notre propre site Web de contrôle de périphérique..
Tu auras besoin de:
- Ne pas dépenser d'argent sur un Arduino - Construisez le vôtre pour beaucoup moins Ne dépensez pas d'argent sur un Arduino - Construisez le vôtre pour beaucoup moins J'aime mes Arduinos. À tout moment, j'ai pas mal de projets en cours - le prototypage est tellement facile avec eux. Mais parfois, je veux que le projet reste fonctionnel sans acheter… En savoir plus
- Bouclier Ethernet (~ 35 $) - assurez-vous d'obtenir une version qui correspond à votre Arduino car ils ne sont pas tous compatibles
- Port de rechange sur votre routeur ou commutateur et câble Ethernet
- L'exemple de serveur Web fourni dans l'application Arduino
Mise en place
Le bouclier Ethernet utilise des broches 10 à 13 pour contrôler la connexion réseau, laissez donc ceux-ci en dehors de votre projet; la broche 4 est également utilisée pour la carte SD, mais nous ne l'utilisons pas aujourd'hui.
Premières choses d'abord - ouvrez le Fichier->Exemples->Ethernet->Serveur Web qui est fourni dans l'IDE Arduino. Trouvez les lignes faisant référence aux adresses MAC et IP.
L'adresse MAC de la mienne a été trouvée sur la boîte - la votre peut être sur le bouclier lui-même. Ajustez la première ligne de valeurs - vous devez laisser la précédente 0x peu si. Techniquement parlant, ce que vous mettez ici n'a pas vraiment d'importance tant que vous n'avez pas de valeurs contradictoires sur votre sous-réseau - mais même dans ce cas, c'est l'adresse indiquée par le fabricant, nous devrions donc probablement nous en tenir à cela. Sachez simplement que si vous vous trompez, cela fonctionnera toujours.
Suivant est l'adresse IP. Nous voulons une adresse fixe spécifique afin de pouvoir configurer correctement la redirection de port - le bouclier est capable de recevoir une adresse de DHCP, mais cela n’est utile que si elle est simplement utilisée comme client, pas comme serveur. Saisissez une adresse IP inutilisée et mémorable sur votre réseau local, l'adresse IP de votre routeur et 255.255.255.0 (le sous-réseau). Si rien de tout cela n’a un sens pour vous, consultez notre guide complet et gratuit sur la mise en réseau domestique Tout ce que vous devez savoir sur la mise en réseau domestique Tout ce que vous devez savoir sur la mise en réseau domestique La mise en place d’un réseau domestique n’est pas aussi difficile que vous le pensez. . Lire la suite .
Port Forwarding
Editez la ligne qui dit Serveur EthernetServer (numéro), et changez le nombre en 8081. Ceci configurera notre serveur pour qu’il écoute sur le port 8081 au cas où votre fournisseur de services Internet bloque le trafic Web sur le port traditionnel 80..
Téléchargez la démo à ce stade et testez-la à partir d'une machine locale. Vous devrez bien sûr également brancher le câble Ethernet. Laissez également le port USB branché, car nous en avons besoin pour pouvoir: vous pouvez le remplacer par une alimentation 9 V plus tard, mais nous sommes toujours en train de tester.
Noob-tip: si vous obtenez cette erreur, cela signifie que vous avez mis par erreur un capitale O au lieu d'une 0 dans la zone d'adresse MAC. Il n'y a pas de O dans les valeurs hexadécimales! Si vous êtes vraiment nouveau, consultez notre guide Arduino pour débutants.!
Pour accéder à l’Arduino, tapez l’adresse et le numéro de port directement à partir d’un navigateur..
Vous devriez voir quelque chose comme ça - jusqu'ici tout va bien. Malheureusement, ceci n’est accessible que sur le réseau local Pour le moment, allez dans la page de configuration du port de votre routeur pour configurer une redirection depuis le port 8081 vers le même port sur l'adresse IP de votre Arduino. (Voir: Qu'est-ce que la redirection de port? Qu'est-ce que la redirection de port et comment peut-elle m'aider? [MakeUseOf explique] Qu'est-ce que la redirection de port et comment peut-elle m'aider? [MakeUseOf explique] Pleurez-vous un peu à l'intérieur quand quelqu'un vous dit qu'il y a un problème de transfert de port et que c'est la raison pour laquelle votre nouvelle application brillante ne fonctionnera pas? Votre Xbox ne vous laissera pas jouer à des jeux, vos téléchargements torrent refusent… Read More )
Testez-le à partir d'un appareil Internet mobile 3G avec WiFi désactivé. N'oubliez pas d'utiliser votre adresse IP publique, pas votre adresse de réseau local. Votre routeur devrait pouvoir vous le dire ou simplement demander à Google “Quel est mon ip“.
Comprendre le résultat
La page affichée dans la démo lit les valeurs des broches analogiques - mais comme il n’ya rien de branché là-bas, vous n’avez aucun sens. Essayez de connecter un capteur de lumière (photo-résistance) au port A0 et +5v, avec un 10k résistance aussi sur A0 et gnd (Il s'agit d'un diviseur de tension, car les broches analogiques ne peuvent lire que la tension, pas la résistance) juste pour confirmer que le serveur lit réellement les valeurs. Notez que lorsque l’intensité de la lumière change, les valeurs des autres broches changent également - c’est parce qu’elles sont toutes non connectées..
Devenir interactif
Lire ces valeurs, c’est bien beau, mais faire le saut vers contrôlant un Arduino d'ici représente un saut considérable et dépasse le cadre de ce tutoriel aujourd'hui. Au lieu de réinventer la roue, je vous dirigerai vers l'utilisateur du forum Arduino, hari, qui a écrit une API de base pour interagir avec les broches numériques. En utilisant ce code (je l'ai modifié pour fonctionner avec la dernière bibliothèque Ethernet), connectez le fil long d'une DEL (anode) à la broche 8 et le fil court à la broche 7 (avec une résistance appropriée). Vous pouvez ensuite utiliser les URL du formulaire http: // ip: port / digitalWrite / 8/1 allumer le voyant, et http: // ip: port / digitalWrite / 8/0 pour l'éteindre et lire les valeurs analogiques avec analogiqueLire / 0.
Cet exemple de bildr vous apprendra également à contrôler une séquence de voyants en lisant la requête GET.
Vous pouvez également consulter cet exemple, qui génère un formulaire sur la page pour contrôler un voyant RVB blinkm, mais vous pouvez facilement l'adapter à une bande RGB telle que le projet d'éclairage ambiant dynamique. Créez votre propre éclairage ambiant dynamique pour une construction Media Center. Votre propre éclairage ambiant dynamique pour un centre multimédia Si vous regardez beaucoup de films sur votre PC ou votre centre multimédia, je suis sûr que vous avez fait face au dilemme de l'éclairage. éteignez-vous complètement toutes les lumières? Les gardez-vous à fond? Ou… Lire la suite nous avons construit il y a longtemps.
Eh bien, je me suis amusé à les construire, alors j’espère que vous aussi. Si vous avez créé une bibliothèque permettant de simplifier la gestion de pages et de contrôles, contactez-nous dans les commentaires..
Explorez plus sur: Arduino, Web Server.