Uno R3 en tant que serveur Web avec blindage Ethernet

Http: / / blog.

 

Aujourd'hui, on le montre.Ethernet Shielding Le blindage peut être facilement installé sur notre microcontrôleur, compatible avec arduino uno R3, et étendu de manière à inclure une interface Ethernet et un lecteur de carte SD.

Le contexte est la demande d'un ami qui utilise un microcontrôleur compatible avec arduino uno R3 pour surveiller un capteur analogique.Il veut maintenant poser cette question par l 'intermédiaire de l' interface Internet.Mais il ne veut pas utiliser l'esp et la connexion sans fil, mais... Microcontrôleur compatible avec arduino UNOLe R3 est connecté à son réseau par câble Lan parce que son Wi - Fi n 'est pas fiable et génère un rayonnement électromagnétique excessif.

 

Un.Test

On a besoin d'un écran Ethernet w5100.Microcontrôleur compatible avec arduino Un R3.Et tout capteur analogique.Dans ce cas, j 'ai utilisé un simple exemple. Capteur de luminance Tout capteur analogique peut toutefois être remplacé.

Nous mettons les écrans Ethernet Microcontrôleur compatible avec arduino UNONous connectons les capteurs de luminosité de la manière suivante:

 

Un R3.

Capteur de luminance

Cinq volts.

Milieu

Revenu national brut

-

Catégorie A0

S.

 

Deux.Programmation

Programmation Microcontrôleur compatible avec arduino UNOMerci, arduino, R3 est presque aussi simple que le module esp.

On a juste besoin de la bibliothèque.Protéine de séparation de sojaH et EthernetH, lors de l'installation avec l'IDE.

En fait, nous avons trouvé un exemple de travail sous les rubriques "file" & gt; "Examples" & gt; "Ethernet" & gt; "Webserver", avec quelques ajustements.

Pour utiliser le DHCP (le cas échéant), remplacer « ethernet.begin (MAC, IP); » par le code suivant:

 

 

  Si (Ethernet.Allez.(Imperméable) == 0) {     Télécharger.Imprimer("Impossible de configurer l'Ethernet avec le DHCP.");     / / essayer d 'utiliser l' adresse IP au lieu du DHCP pour la configuration:     Ethernet.Allez.(Imperméable, Limited Partners);   Serveur Web.Allez.();   Télécharger.Imprimer("Emplacement du serveur");   Télécharger.Imprimer(Ethernet.Localisation());   }

Puisque nous n 'avons qu' à donner une valeur dans void Loop (), le cycle « for » peut être remplacé par:

 

            Paysage intérieur Lecteur de capteur = Simulation(0);             Client.Imprimer("Entrée analogique");             Client.Imprimer("0");             Client.Imprimer(Oui.);             Client.Imprimer(Lecteur de capteur);             Client.Imprimer("& lt; br / & gt;");

Code complet

 

 

/*
 Serveur Web

 Un simple serveur Web affiche la valeur du pied de tube d 'entrée analogique.
 Utilisation d 'un écran aduino wiznet Ethernet.

 Circuits:
 * écrans Ethernet connectés aux prises 10, 11, 12 et 13
 * entrée analogique connectée à deux broches a0 à A5 (facultatif)

 Fondée le 18 décembre 2009
 Auteur: David A. Mellis
 Amendement du 9 avril 2012
 Auteur: Tom igoe
 Modification: 2 septembre 2015
 Auteur: Arturo Guadalupe

 */

"35; y compris <Protéine de séparation de soja.Heure>
"35; y compris <Ethernet.Heure>

Saisissez ci - dessous l 'adresse MAC et l' adresse IP du Contrôleur.
L 'adresse IP dépendra de votre réseau local:
échanger Imperméable[] = {   0xen., Code 0xad, Type 0xbe, 0xec., Type 0xfe, 0xen.
};
Adresse IP Limited Partners(192, 168, 168, 51);

Base de serveurs Ethernet initialisée
/ / utiliser l 'adresse IP et le port à utiliser
/ / (le port 80 est le port par défaut de HTTP):
Ethernet Serveur Web(80);

Vide Set() {   Ouvrez la communication en série et attendez l 'ouverture du port:   Télécharger.Allez.(9600);      / / démarrage des connexions et des serveurs Ethernet:   Si (Ethernet.Allez.(Imperméable) == 0) {     Télécharger.Imprimer("Impossible de configurer l'Ethernet avec le DHCP.");     / / essayer d 'utiliser l' adresse IP au lieu du DHCP pour la configuration:     Ethernet.Allez.(Imperméable, Limited Partners);   Serveur Web.Allez.();   Télécharger.Imprimer("Emplacement du serveur");   Télécharger.Imprimer(Ethernet.Localisation());   }
}


Vide Run() {   / / entrée dans la liste des clients   Client Ethernet Client = Serveur Web.Disponible();   Si (Client) {     Télécharger.Imprimer(Nouveau client);     Http: / / www.un.org / ESA     Type booléen Vide de ligne actif = Vraiment?;     Bien que (Client.Corrélatif()) {       Si (Client.Disponible()) {         Brûler Catégorie C = Client.Lire();         Télécharger.Ecrire(Catégorie C);         Si vous êtes à la fin de l 'équipe         / / caractère) Action vide, demande terminée,         Vous pouvez répondre.         Si (Catégorie C == Non. && Vide de ligne actif) {           Http: / / response head.           Client.Imprimer("Http / 1.1.200, oui.");           Client.Imprimer("Type de contenu: texte / html");           Client.Imprimer(Connection: désactivation);  / / la connexion sera fermée lorsque la réponse sera terminée           Client.Imprimer(Mise à jour: 5);  / / mise à jour automatique d 'une page toutes les 5 secondes           Client.Imprimer();           Client.Imprimer("& lt?DocType HTML & gt);           Client.Imprimer("& lt; HTML & gt;");           / / sortie de la valeur de chaque entrée analogique             Paysage intérieur Lecteur de capteur = Simulation(0);             Client.Imprimer("Entrée analogique");             Client.Imprimer("0");             Client.Imprimer(Oui.);             Client.Imprimer(Lecteur de capteur);             Client.Imprimer("& lt; br / & gt;");           //}           Client.Imprimer("& lt; / html & gt;");           Rompre;         }         Si (Catégorie C == Non.) {           Tu dois commencer une nouvelle route.           Vide de ligne actif = Vraiment?;         } Heure de départ prévue Si (Catégorie C != ♪ r ♪) {           Vous avez un caractère dans la ligne active           Vide de ligne actif = Faux;         }       }     }     / / donner au navigateur Web le temps de recevoir des données     Retarder(1);     / / désactiver la connexion:     Client.Arrêter();     Télécharger.Imprimer(Le client est déconnecté.);   }
}

 

Trois.Test

Maintenant, nous allons ouvrir l 'adresse IP dans le navigateur Web et vérifier la valeur du capteur.L 'affichage est mis à jour toutes les cinq secondes.

 

 

Il est donc tout à fait possible de connecter un capteur à un réseau local sans ESP et sans WLAN.

Qui ne sait pas? Microcontrôleur compatible avec arduino UNOR3 & ‧‧;: Nous vous présenterons bientôt d 'autres modules sur le blog qui vous permettront d' intégrer le microcontrôleur et le câble du réseau local dans votre réseau.

Bon appétit, au revoir.

Votre Marcus Neumann.

 

Pour arduinoProjets pour les débutantsCapteurs

1 commentaire

Timo

Timo

Guten Abend,

wie kann ich die Werte mit einem zweiten Arduino auf dem Seriellen monitor auslesen. Also auch mit einem Ethernetshield. Finde leider kein brauchbares Beispiel im Netz

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Messages de blogs recommandés

  1. Installez maintenant ESP32 via l'administrateur de la carte
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA-Over the Air-ESP Programmation par WiFi