Regardez le tutoriel vidéo partie 1:


Ethernet est le standard câblé pour la mise en réseau car il permet de connecter un très grand nombre d’ordinateurs, microcontrôleurs et d’autres équipements informatiques les uns aux autres.

Dans ce projet, nous allons apprendre à contrôler tout appareil comme une LED, un relais, une ampoule, un moteur et ainsi de suite connecté à un microcontrôleur PIC à distance en utilisant un navigateur Web. Un opérateur peut utiliser un ordinateur, une tablette ou même un téléphone portable pour commander un appareil à un endroit éloigné. Avec l’aide d’un routeur connecté à Internet, cet appareil peut être contrôlé partout dans le monde en temps réel.

Ce projet peut servir de base au projet de fin d’étude pour les étudiants en génie électronique or informatique.

La connexion à un microcontrôleur à l’ aide d’ un navigateur Web est plus facile et fiable pour établir la connectivité entre un microcontrôleur et un ordinateur (PC) et surtout il n’y a pas besoin de développer un logiciel spécial graphique de l’ interface utilisateur sur le PC ou téléphone portable. Tous les systèmes d’exploitation de PC ont déjà un navigateur Web ou on peut télécharger l’ un des autres navigateurs gratuitement comme Google Chrome ou Mozilla Firefox par exemple. Cette méthode est basée sur HTTP(HTTP est l’abréviation de HyperText Transfer Protocol). Non seulement cette méthode permet d’une manière simple pour un PC de communiquer avec un microcontrôleur, il simplifie la configuration des périphériques. Chaque fois qu’un nouveau produit qui a besoin d’être connecté à Ethernet, les configurations de base telles que l’adresse IP, le masque de sous-réseau, DNS, et d’autres paramètres techniques peuvent être configurés avec un navigateur Web au lieu d’utiliser des commandes Telnet ou commutateurs DIP. Tout le monde a déjà un navigateur web, donc il ne va pas être un coût supplémentaire de développement. Comparons d’autres alternatives, vous pouvez fournir un port RS-232 pour la configuration, mais vous devez soit fournir une interface graphique personnalisée ou expliquer à quelqu’un comment mettre en place un programme Hyperterminal avec la vitesse de transmission correct (Baude), les bits start, les bits d’arrêt, et la parité.

Le contrôle des appareils de l'Internet

Figure 1: Contrôle des appareils à partir d’Internet

HTTP fournit une norme pour les navigateurs Web et les serveurs de communiquer et de transférer des données sur Internet. Le but du protocole HTTP est de permettre le transfert de fichiers HTML entre un navigateur dans le client (dans ce cas , le client est un PC ou un téléphone intelligent) et un serveur Web sur lequel se trouvent les données dans ce cas , le serveur sera le microcontrôleur. Le client et le serveur peuvent échanger des messages de demande, pare exemple si un utilisateur veut allumer une LED connectée au microcontrôleur, le client entrant l’URL du serveur envoie une requête au serveur pour allumer la LED.

Si l’on suppose que l’URL du serveur est 192.168.0.5 , puis en entrant la commande suivante dans la barre d’adresse du navigateur du PC, établira un lien avec le microcontrôleur: http : // 192 . 168 . 0 . 5

Saisie de l'URL du serveur dans le navigateur

Figure 2: Saisie de l’URL du serveur dans le navigateur

Le microcontrôleur (serveur) répondra par exemple en envoyant une page HTML comme une réponse au client. Si ce code HTML a des commandes comme des boutons ou des cases à cocher par exemple, si un utilisateur clique sur un bouton, une commande (par exemple GET) sera envoyée au serveur qui à son tour l’ interpréter et de savoir quoi faire, dans notre cas pour par exemple allumer une LED. Il existe trois principaux types de messages HTTP qui sont GET , POST et HEAD .

Le schéma de circuit est représenté sur la figure 3. L’interface entre le microcontrôleur PIC18F45K22 et la puce de contrôleur Ethernet ENC28J60 est basé sur le protocole de bus SPI , la SI, SO, et des broches SCK de la puce Ethernet sont connectées à des broches SPI (SDO, SDI et SCLK) du microcontrôleur. La puce de contrôleur Ethernet fonctionne avec 3,3 V, la broche sortie SO ne peut pas contrôler la broche d’entrée du microcontrôleur sans convertisseur de tension si le microcontrôleur fonctionne à 5V.Connexions ENC28J60 Ethernet Controller

Figure 3: Connexions du contrôleur Ethernet ENC28J60

Pour faciliter la conception d’applications Ethernet, il existe des cartes prêtes à l’emploi comprenant le contrôleur EC28J60, une puce de conversion de tension et un connecteur RJ45. La figure 4 ci-dessous montre la  carte Ethernet de série mikroElektronika . Il s’agit d’une petite carte qui se connecte directement à PORTC de la carte de développement EasyPIC V7 via une fiche IDC à 10 voies, ce qui simplifie le développement de projets Ethernet intégrés. Cette carte est équipée d’une puce de contrôleur Ethernet EC28J60, d’une puce de conversion de tension 74HCT245, de trois DEL, d’un régulateur de tension de 5 à 3,3 et d’un connecteur RJ45 avec transformateur intégré.

 Connexion de la carte Ethernet de série à la carte de développement EasyPIC7 V7

Figure 4: Connexion de la carte Ethernet série à la carte de développement EasyPIC V7

Deux relais (relais 1 et relais 2) sont connectés aux broches de sortie des microcontrôleurs RD0 et RD1. En activant ou désactivant ces relais, les dispositifs qui leur sont connectés, comme une ampoule, un ventilateur, un moteur de portail, etc. contrôlé à distance par navigateur Web à partir d’un PC ou d’un périphérique intelligent.

Pour en savoir plus sur la façon d’interfacer un relais avec un PIC Microcontroller lire:

Interfacer un Relais avec Microcontrôleurs PIC 

Si le PC et le contrôleur Ethernet se trouvent sur le même réseau et à proximité l’un de l’autre, vous pouvez alors les connecter ensemble à l’aide d’un câble Ethernet croisé, sinon un commutateur de réseau pourrait s’avérer nécessaire. Dans ce cas, un câble droit peut être utilisé pour connecter le PC au commutateur réseau et un autre câble droit pour connecter le microcontrôleur au commutateur réseau. Si le PC et le microcontrôleur sont situés sur des réseaux différents et ne sont pas proches, des routeurs peuvent être nécessaires pour établir la connectivité entre eux.

Schéma de circuit du projetFigure 5: Schéma de circuit du projet

Pour apprendre à simuler le ENC28J60 avec Proteus, regardez la vidéo ci-dessous pour connaître toutes les étapes:

Regardez le tutoriel vidéo Partie 2:

Ce projet est assez facile à comprendre. Voici les quelques étapes à suivre pour contrôler un appareil à partir d’un navigateur Web:

Étape 1:

Créer une page HTML qui sera affiché dans le navigateur Web pour contrôler le microcontrôleur. La figure 5 ci – dessous montre le code html qui est envoyé au navigateur. Ce code html sera enregistré dans la RAM du microcontrôleur dans le variable char StrtWebPage [].
Vous avez peut – être remarqué que le code html est légèrement différent de celui à l’ intérieur du code, chaque fois qu’une double guillemet (  » ) est nécessaire une barre oblique inverse (/) est inséré avant et à la fin de la ligne une autre est insérée. Ceci est juste pour le compilateur mikroC et sont omis après une compilation réussie. Sans ces barre oblique inversées, le compilateur va générer des erreurs. Dans mikroC, une barre oblique inverse est utilisée comme caractère de continuation pour étendre une constante de chaîne au-delà des limites de ligne. Un caractère barre oblique inverse est également utilisé pour introduire une séquence d’échappement, ce qui permet une représentation visuelle de certains caractères non graphiques. L’une des constantes d’échappement les plus courantes est le caractère de nouvelle ligne (n). Pour plus d’informations, voir le fichier d’aide mikroC Pro For PIC pour les Constantes de String et Constantes de caractères

Figure 6: Code HTML du navigateur Web

Pour en savoir plus sur la création de pages Web HTML, lisez:

Créer des pages Web en utilisant HTML – Introduction  .

Formulaire affiché par le navigateur Web

Figure 6: le formulaire affiché par le navigateur web

Étape 2:

Définissez l’adresse MAC et l’adresse IP. Si une connectivité au-delà de votre réseau local est requise, le DNS, Gateway, et Subnet mask peuvent également être définis ici. Les paramètres de notre réseau local sont les suivants:

Étape 3:

Dans le programme principal, désactivez les entrées analogiques sur PORTD. Dans notre cas, toutes les entrées sont devenues numériques. Initialisation du module SPI du microcontrôleur PIC18F4520 et initialisation de la puce du module Ethernet série ENC28J60.

Étape 4:

Écrivez le code dans la fonction Spi_Ethernet_userTCP qui interprétera les commandes du navigateur Web, puis activera / désactivera les relais sur PORTD. Lorsque le navigateur Web envoie une requête HTTP en entrant l’URL suivante: http : // 192 . 168 . 0 . 5

Dès réception de cette demande, le microcontrôleur envoie à son tour le code HTML à afficher au navigateur (figure 5) avec l’en-tête HTTP. Le Content-Type est utilisé par le navigateur pour indiquer le format du document reçu. HTML est identifié par «text / html» et le texte ordinaire par «text / plain».

Le navigateur Web du PC ou de l’appareil mobile affiche alors le formulaire illustré à la figure 6. En cliquant sur les boutons, l’utilisateur peut basculer entre le relais A et le relais B. En supposant que le bouton « TOGGLE RELAY A » (Basculer le relais A) est cliqué, le navigateur Web envoie la commande suivante au microcontrôleur:

GET /?TA=TOGGLE+RELAY+A Le microcontrôleur va vérifier la commande reçue (dans fonction TCP) et bascule le relais A dans ce cas.

Étape 5:

Lire les données reçues dans une boucle sans fin en utilisant la fonction « SPI_Ethernet_doPacket () ».

Pour en savoir plus sur l’utilisation de la bibliothèque du contrôleur Ethernet ENC28J60, lisez:

Interfacer ENC28J60 Ethernet Controller avec microcontrôleur PIC

Vous pouvez facilement créer un PCB pour ce projet, comme nous l’avons appris dans nos tutoriels sur les PCB. Tout ce dont vous avez besoin est d’avoir une bonne entreprise de prototypage de PCB qui vous proposera des PCB de bonne qualité à un bon prix.

Nous recommandons PCBWay.com, un fabricant basé à Shenzhen en Chine et spécialisé dans le prototypage de cartes, la production en petit volume et le service d’assemblage de cartes.

Nous recommandons PCBWay.com pour de nombreuses raisons. Voici 13 raisons pour lesquelles vous pouvez les considérer:

  1. Facile à passer une commande: système de devis en ligne gratuit pour obtenir votre prix instantanément et immédiatement.
  2. Meilleur rapport qualité-prix: 10 circuits imprimés standard 100 mm x 100 mm de qualité supérieure à partir de 5 $ seulement.
  3. PCB & PCBA sous un même toit: PCBWay.com propose également un service d’assemblage pour les clients PCB.
  4. Assurance qualité: les cartes de circuit imprimé subissent les tests les plus stricts autres que le contrôle visuel de base.
  5. Fonctionnalités: Quelles que soient vos exigences en matière de PCB, ils pourront peut-être vous assister, à partir de 14 couches de PCB, de dimensions supérieures à 500 x 1100 mm, voire supérieures, de PCB, d’assemblage de PCB, de PCB souples, etc.
  6. Nombre minimum de PCB: Vous pouvez commander aussi peu que 5 PCB
  7. DFM gratuit: leurs ingénieurs examineront la qualité de fabrication de vos fichiers Gerber avant même de payer.
  8. Délais d’exécution rapides: temps de construction normal de 2 à 3 jours, mais vous pouvez sélectionner Express pouvant aller jusqu’à 24 heures.
  9. Livraison dans les délais: taux de livraison dans les délais de 99%.
  10. Retour et remboursement: Si les cartes de circuits imprimés ou assemblées ne sont pas utilisables, vous pouvez demander une indemnisation. Ils peuvent rembourser directement sur votre compte ou créditer votre compte PCBWay.
  11. Service clientèle 24 heures sur 24: personne du service clientèle en direct pour répondre à vos courriels ou messages.
  12. Cartes de circuits imprimés gratuits pour les étudiants: Ils parrainent des étudiants en génie à l’université ou à l’école secondaire avec des PCB gratuits.
  13. Programme de référence: Vous obtiendrez un coupon de réduction de 20 $ lorsque vous dirigerez une personne vers PCBWay

Pour plus d’informations, veuillez lire l’article: Circuits imprimés à faible coût et assemblage avec PCBWay ou visitez leur site Web en cliquant sur l’image ci-dessous:

PCBWay Home Page

Code source complet du projet

Vous pouvez télécharger les fichiers de projet complet (code source) ci-dessous MikroC ici.

Tous les fichiers sont compressés, vous aurez besoin de les dézipper ( Télécharger une version gratuite de l’utilitaire Winzip pour décompresser les fichiers ).

Proteus Schéma du projet: Web_Based_Control_Proteus_Project

MikroC Source Code: Web_Control_and_Monitoring_MikroC

(Visited 265 times, 1 visits today)