mardi 27 janvier 2015

Arduino et ethernet

Bien que je suis terriblement muet depuis plusieurs mois, ce n'est pas parce que je n'ai rien programmé. En fait, je crois que me qualifier d'expert sous Arduino n'est pas exagéré. Je ne suis pas un maître ninja des optimisation des appels bas niveau, mais disons qu'il n'y a plus beaucoup de projets qui me sont hors de porté.

Chose que j'ai peu expérimenté est la communication ethernet filaire. J'ai assez bien implémenté le sans-fils grâce au module XBEE S6B mais je n'ai jamais fait de branchement RJ45.

Il existe l'option officielle utilisant le shield Ethernet ou encore la version Ethernet du Arduino. La librairie est fournie de-facto avec le IDE et les deux options intègre une fente micro. Il est possible de fournir le courant via le RJ-45 avec les version PoE. Cette option utilise en fait la puce W5100 de Wiznet et est assez dispendieuse. Il existe aussi des modules beaucoup moins dispendieux basés sur la puce ENC28J60 de Microchip technologies. Alors qu'un module simple basé sur le W5100 coûte 13$ chez Robotshop, un module basé sur le ENC28J60 se détail aux alentour de 5$. Évidemment, les deux modules ne sont pas totalement équivalent. Le W5100 permet une communication en 100BaseT alors que le ENC28J60 est limité à 10BaseT. Mais avec un microcontrôleur à 16 MHz et 2 KBytes de RAM, être capable de communiquer à 20 MBytes secondes est plus un inconvénient qu'un atout. Il y a sûrement d'autre avantage au W5100 mais pour les besoins de bases, les deux sont quasi identique. La librairie UIPEthernet remplace la librairie Ethernet standard avec peu, sinon pas de changement au code.

Oui, le wifi est plus pratique, mais dans un optique de simplicité de configuration, pouvoir demander au DHCP une adresse et être up and running est un avantage. Enfin, je viens de recevoir les deux version, reste à terminer l'AI des turret de portail afin qu'elles puissent se parler!

Aucun commentaire:

Enregistrer un commentaire