Connecter un automate Millenium 3  ou Zelio  à Internet par wifi pour 10 €

(decembre 2015) English.

La connexion  a un automate Zélio a toujours nécessité  des interfaces couteuse, parce que sa liaison série en niveau TTL n'est pas isolé de l'alimentation de l'automate.

Une solution performante et peu couteuse vient d'apparaitre pour contourner se problème en utilisant une interface Wifi.

Un nouveau micro L'ESP 8266 est apparu il y a environ 18 mois. Ce circuit très économique est composé d'un processeur complet, d'une dizaine d'I/O d'une liaison série et d'un modem wifi. Les modules se trouvent sur Internet à partir de 3 €  personnellement j'utilise le modèle NODEMCU qui en plus du module esp8266 contient une  alimentation, une connexion USB et un bouton facilitant la programmation. Ce module se trouve à partir de 5 €.

Afficher l'image d'origine

le principe est simple,  le module est connecté à l'automate en lieu et place du câble liaison série d'origine, et permet d'y accéder via Internet.

Deux protocoles sont implémentés :

  • le protocole Telnet qui permet d'envoyer de façon transparente les trames  à l'automate sans aucune modification. Il est surtout utile pour communiquer avec l'atelier de programmation de l'automate.
  • Le protocole HTTP dans ce cas l'ESP 8266 fait office de serveur Web, qui construit  et décryptes les trames pour communiquer avec  les blocs d'entrée-sortie liaison série SLin et SLout
  • Téléchargement du programme pour le ESP8266 "AUTOMATE".

     En connectant  un deuxième module sur un port USB du PC on peut également  communiquer avec l'atelier de programmation du Millenium ou du Zelio avec une seule  restriction la liaison est extrêmement lente. Mais elle permet avec un peu de patience de télécharger ou décharger le programme de l'automate mais difficilement d'utiliser les fonctions de monitoring de l'atelier. Cela vient du fait  que l'atelier détecte un retard plus importante que la normale entre  la trame émisse par l'atelier et la réponse de l'automate. Dans ce cas l'atelier attends 3 secondes avant de transmettre la trame suivante  ce qui ralentit significativement la communication.  Curieusement les trames les plus longues ne sont pas impactés par ce phénomène. il y a peut-être une solution que je n'ai pas expérimenté, en passant par la liaison  modem de l'atelier plutôt que la liaison série.  Téléchargement du programme pour le ESP8266 "ATELIER".

    L'ESP8266 est apparu massivement sur internet il y a environ 18 mois autour de 5 €. La communauté internet à très vite compris le potentiel de ce circuit et c'est mis au travail en proposant  successivement différentes solutions pour programmer les ESP8266 de plus en plus conviviale.

    PROGRAMMATION

    Personnellement j'utilise  maintenant l'atelier de programmation de l'Arduino qui supporte depuis quelques mois l'ESP8266. je trouve cet environnement extrêmement intégré et pratique pour faire des modifications très rapide. Vous trouverez ci-joint le programme que j'utilise pour communiquer avec mon automate . Pour l'installer c'est simple il suffit de télécharger l'atelier ''Arduino IDE'' , puis installer l'addon pour l'ESP8266 grâce à ce tutorial.

    Après il vous suffit de connecter votre module  NodeMCU sur un des ports USB de votre ordinateur, s'il ne le reconnaît pas automatiquement il vous faudra installer sur le PC le driver USB liaison série CH340. Via l'atelier Arduino,  vous ouvrez le programme à télécharger dans  le Nodemcu,  vous renseignez  le nom de votre réseau WiFi et son mot de passe  à l'endroit prévu à cet effet dans le programme, vous sélectionnez la carte NODEMCU, vous sélectionnez le port de communication où est connecté votre ModeMCU. 

    Maintenant vous pouvez lancer la vérification cliquant sur le bouton en haut à gauche de l'atelier si vous n'avez pas de message d'erreur tout est prêt, vous pouvez maintenant charger le programme  dans le module, pour cela il faut déconnecter le module appuyer sur le bouton ''flash''  et reconnecter le module sans lâcher le bouton flash il faut le maintenir appuyer  une dizaine de secondes après la connexion . 

    Maintenant il suffit de cliquer sur le bouton compilation juste à côté du bouton vérification et en fin de compilation le programme se téléchargera automatiquement le module.

    CABLAGE

    Pour connecter le module à l'automate  il faut utiliser trois fils RX TX et le 0v. 

    Connecteur de l'automate vue de face
    connecteur
  • 1 = 5V
  • 2 = 0V
  • 3 = RX
  • 5 = TX
  • Attention de bien connecter le TX de l'ESP8266 sur le RX de l'automate et le TX de l'automate sur le RX de l'ESP8266

    Pour le 5 V il est possible de réutiliser le 5 V de l'automate en ajoutant une capacité entre le 5V et le 0v.  Cette méthode fonctionne  mais elle est étroitement dépendante du model de module et du model d'Automate. Pour plus de simplicité j'ai préféré ajouter un chargeur de téléphone USB 5 volts pour fournir une alimentation extérieur au module.

    Attention avant de connecter le module surtout si vous utilisez  un automate avec une alimentation secteur, votre module  risque de se retrouver au potentiel de 230 V,  il faut effectuer les branchements uniquement hors tension et isoler le module dans une boîte  isolante.

    Le seul défaut de l'ESP 8266 est son alimentation 3,3 volts alors que notre automate fonctionne en 5 volts. En théorie le système devrait fonctionner mais sans garantie. Aussi pour  ne pas prendre de risques j'ai ajouter un module d'interface 3,3 volts 5 volts  bidirectionnelle sur les fils  RX et TX. Ce module doit bien évidemment d'un côté être alimenté en 5 Volt et de l'autre  en 3,3 volts.

    I2C-Level-Converter

    Désormais je peux me passer  du câble de liaison série ou des couteux module de communication pour communiquer avec mon automate, qui se trouve dans un grenier, et je peux si je le souhaite  lui passer des commandes depuis n'importe où via le réseau Internet

    schema

    Si vous avez des notions de programmation, il est assez simple de modifier le programme , pour ajouter vos propres fonctionnalités