Donnez à votre projet Arduino son propre mini-serveur Web, avec un blindage Ethernet

Il y a quelque temps, je vous ai montré comment configurer un système de contrôle Internet pour votre Arduino - mais il devait rester connecté à un ordinateur via USB afin de maintenir la connexion Internet. Si vous disposez d'un blindage Ethernet, ce n'est pas nécessaire Aujourd'hui, nous allons envisager de configurer un Arduino comme serveur Web de base afin que nous puissions héberger notre propre site Web de contrôle des périphériques.

Il y a quelque temps, je vous ai montré comment configurer un système de contrôle Internet pour votre Arduino - mais il devait rester connecté à un ordinateur via USB afin de maintenir la connexion Internet.  Si vous disposez d'un blindage Ethernet, ce n'est pas nécessaire Aujourd'hui, nous allons envisager de configurer un Arduino comme serveur Web de base afin que nous puissions héberger notre propre site Web de contrôle des périphériques.
Publicité

serveur web arduino Il ya 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 un bouclier Ethernet Comment configurer le contrôle Web Arduino sans un bouclier Ethernet Au cours des dernières semaines, j'ai remis le contrôle de l'éclairage d'ambiance dans mon studio pour les téléspectateurs pendant la diffusion en direct de Technophilia Podcast - vous pouvez voir les résultats de cela dans le ... Lire la suite - mais il a dû rester connecté à un ordinateur via USB afin de maintenir la connexion Internet. Si vous disposez d'un blindage Ethernet, ce n'est pas nécessaire Aujourd'hui, nous allons envisager de configurer un Arduino comme serveur Web de base afin que nous puissions héberger notre propre site Web de contrôle des périphériques.

Tu auras besoin de:

  • Un Arduino, ou un clone Arduino comme détaillé ici Ne dépensez pas d'argent sur un Arduino - Construisez votre propre pour beaucoup moins Ne dépensez pas d'argent sur un Arduino - Construisez votre propre pour beaucoup moins J'aime mes Arduinos. À tout moment, j'ai quelques projets en cours - le prototypage est tellement facile avec eux. Mais parfois, je veux garder le projet fonctionnel sans acheter ... Lire la suite
  • Ethernet Shield (~ $ 35) - assurez-vous d'avoir 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 WebServer fourni dans l'application Arduino

Mise en place

Le blindage Ethernet utilise les broches 10 à 13 pour contrôler la connexion réseau, laissez-les hors de votre projet; la broche 4 est également utilisée pour la carte SD, mais nous ne l'utiliserons pas aujourd'hui.

Commencez par ouvrir le fichier -> Exemples -> Ethernet -> WebServer fourni dans l'IDE Arduino. Trouvez les lignes référant l'adresse MAC et IP.

serveur web arduino

L'adresse MAC pour le mien a été trouvée sur la boîte - la vôtre peut être sur le bouclier lui-même. Ajustez la première ligne de valeurs - vous devez cependant laisser le bit 0x précédent. Techniquement parlant, peu importe ce que vous mettez ici tant que vous n'avez pas de valeurs contradictoires sur votre sous-réseau - mais même ainsi, c'était l'adresse assignée par le fabricant, donc nous devrions probablement s'en tenir à cela. Sachez simplement que si vous vous trompez, cela fonctionnera toujours.

Exemple de serveur web arduino

La prochaine étape est l'adresse IP. Nous voulons une adresse fixe spécifique afin que nous puissions configurer la redirection de port correctement - le bouclier est capable d'obtenir une adresse de DHCP, mais ce n'est utile que s'il est simplement utilisé comme client, pas comme serveur. Entrez une adresse IP inutilisée et mémorisable sur votre réseau local, votre adresse IP de routeur et 255.255.255.0 (le sous-réseau). Si rien de tout cela n'a de sens pour vous, lisez notre guide gratuit et complet sur le réseautage à domicile Tout ce que vous devez savoir sur le réseautage à domicile Tout ce que vous devez savoir sur le réseautage à domicile Configurer un réseau domestique n'est pas aussi difficile que vous le pensez . Lire la suite .

Port Forwarding

Modifiez la ligne qui indique le serveur EthernetServer (numéro) et remplacez le numéro par 8081 . Cela configurera notre serveur pour écouter sur le port 8081 au cas où votre FAI bloque le trafic Web sur le port 80 traditionnel.

Téléchargez la démo à ce stade et testez-la depuis une machine locale. Vous devrez bien sûr brancher le câble Ethernet aussi. Gardez le port USB branché aussi, car nous en avons besoin pour l'alimentation - vous pouvez le remplacer par une alimentation 9V plus tard, mais nous sommes encore en train de tester.

Noob-tip: si vous obtenez cette erreur, cela signifie que vous avez mis par erreur un O majuscule au lieu d'un 0 dans la zone d'adresse MAC. Il n'y a pas de O dans les valeurs hexadécimales! Si vous êtes vraiment nouveau, il peut être intéressant de consulter le guide Arduino de notre débutant!

Exemple de serveur web arduino

Pour accéder à l'Arduino, tapez l'adresse et le numéro de port directement depuis un navigateur.

Exemple de serveur web arduino

Vous devriez voir quelque chose comme ça - jusqu'ici tout va bien. Malheureusement, ceci n'est accessible que sur le réseau local, alors allez dans la page de configuration du port de votre routeur pour configurer une redirection du port 8081 vers le même port sur l'adresse IP de votre Arduino ( voir: Qu'est-ce que le transfert de port? Qu'est-ce que le transfert de port et comment cela peut-il m'aider? [MakeUseOf explique] Pleurez-vous un peu à l'intérieur quand quelqu'un vous dit qu'il y a un problème de redirection de port et c'est pourquoi votre nouvelle application brillante a gagné? t travail? Votre Xbox ne vous permettra pas de jouer à des jeux, vos téléchargements torrent refuser ... Lire la suite )

didacticiel serveur web arduino

Testez ceci à partir d'un appareil Internet mobile 3G avec Wifi désactivé; N'oubliez pas d'utiliser votre adresse IP publique, pas votre adresse réseau locale. Votre routeur devrait être en mesure de vous le dire, ou simplement demander à Google "quel est mon ip".

serveur web arduino

Comprendre la sortie

La page servie dans la démo lit les valeurs des broches analogiques - mais comme il n'y a rien de connecté là-dedans, vous allez avoir des bêtises. Essayez de connecter un capteur de lumière (photo résistance) aux ports A0 et + 5V, avec une résistance de 10k également sur A0 et GND (c'est un diviseur de tension, car les broches analogiques ne peuvent lire que la tension) est en train de lire des valeurs. Notez que lorsque l'intensité de la lumière change, les valeurs sur les autres broches changent également - c'est parce qu'elles sont toutes déconnectées.

Obtenir interactif

La lecture de ces valeurs est très bien, mais faire le saut pour contrôler un Arduino à partir d'ici est tout à fait un saut, et en dehors de la portée de ce tutoriel aujourd'hui. Au lieu de réinventer la roue, je vous dirigerai vers l'utilisateur hari du forum Arduino 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 long fil d'une LED (anode) à la broche 8, et le fil court à la broche 7 (avec une résistance appropriée). Vous pouvez ensuite utiliser les URL de la forme http: // ip: port / digitalWrite / 8/1 pour allumer la LED, et http: // ip: port / digitalWrite / 8/0 pour l'éteindre et lire les valeurs analogiques avec analogRead / 0 .

Cet exemple de bildr vous enseignera également comment contrôler une séquence de LED en lisant la requête GET.

Vous pouvez également consulter cet exemple qui affiche un formulaire sur la page pour contrôler une LED RVB blinkm, bien que vous puissiez facilement l'adapter pour une bande RVB telle que le projet d'éclairage dynamique dynamique. Construisez votre propre éclairage dynamique pour un centre multimédia Votre propre éclairage dynamique ambiant pour un centre multimédia Si vous regardez beaucoup de films sur votre PC ou votre centre mé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 un certain temps.

Eh bien, je me suis amusé à les construire, alors j'espère que vous l'avez fait aussi. Si vous avez créé une bibliothèque qui simplifie le service des pages et des commandes, veuillez entrer en contact dans les commentaires.

In this article