Arduino UNO et Jeedom en réseau (ENC28J60…)

ENC28J6, Shield Ethernet, késako ?

Dans un précédent article, nous avons vu comment brancher un Uno à Jeedom en USB via le plugin Jeedouino. Si vous ne l’avez pas lu, ce sera peut être nécessaire de le faire.

Nous allons faire la même chose mais remplacer la connexion USB par une connexion réseau.

Nous allons donc reprendre le même principe que le précédent article (voir ci-dessus) :

  • Un Arduino Uno
  • Un RPI2 sous Jeedom et plugin Jeedouino
  • Une sonde DHT22 + une sonde DS18B20

Pour les branchements, c’est EXACTEMENT pareil. Donc acte.

Seul le câble USB va disparaitre entre le RPI et le Uno, au profit d’un câble réseau entre votre réseau (Freebox, LiveBox, and co) et votre Uno.

Il va donc falloir ajouter un module réseau sur votre Uno. Pour cela, plusieurs possibilités :

  • Un Shield Ethernet (filaire)
  • Un Shield Wifi (wifi)
  • Un module ENC28J60 (filaire)
  • Un module NRF24L01 (sans-fil RF)
  • Un ESP8266 (wifi)

Voyons deux solutions filaires : Shield Ethernet et de module ENC28J60 mais tout d’abord le paramétrage dans Jeedouino :

Paramétrage de l’Arduino dans le plugin Jeedouino :

Vous avez une base commune, c’est l’Arduino. Que ce soit avec le Shield Ethernet ou le module ENC28J60, la manipulation est la même.

Il faut faire (presque) pareil que pour l’USB. Mais au lieu de choisir le « port de connexion de la carte : USB », on va sélectionner « port de connexion de la carte : Réseau » :

Jeedom et Uno en réseau

On indique une adresse IP (qui devra être unique sur votre réseau).

Puis on télécharge le sketch associé (attention, ce n’est pas le même que pour l’USB !!) pour le télé-verser dans l’Arduino.

Attendez avant de télé-verser le sketch, il va surement falloir le retoucher suivant ce que vous utilisez (Shield ou module : lire paragraphe suivant).

I/ Shield Ethernet : la solution officielle Arduino

Pour ceux qui ont un Shield Ethernet avec une puce W5100, il n’y a rien d’autres à faire pour vous. En effet, le sketch « JeedouinoLAN » est prévu pour fonctionner de base avec cette puce.

Pour ceux (comme moi) qui ont un Shield Ethernet v2 avec une puce W5500, il va falloir customisé votre installation (30 sec top chrono) : Cliquez ici pour lire mon article qui vous explique comment faire.

Dans les deux cas, il n’y a plus qu’à :

  • téléverser le sketch dans votre Uno
  • connectez le Shield par-dessus et connectez un câble réseau
  • et le tour est joué.

L’avantage du Shield, c’est qu’il n’y a pas de question à se poser sur le branchement des PIN/GPIO… c’est fait pour s’intégrer sur votre Arduino sans se poser de question.

Le croquis utilise 23 468 octets (72%) de l'espace de stockage de programmes. Le maximum est de 32 256 octets.
Les variables globales utilisent 1 049 octets (51%) de mémoire dynamique, ce qui laisse 999 octets pour les variables locales. Le maximum est de 2 048 octets.

Exemple avec Shield Ethernet v2 et Uno (ORG) – DHT22 + DS18B20

Jeedom : Shield Ethernet / DHT22+DS18B20

II/ Module ENC28J60 : la solution à bas coût

Donc on ouvre le sketch « JeedouinoLAN » et on constate en ligne 12 :

ligne12 ==> // Pour shield avec ENC28J60 
[...]
ligne22 ==> //Puis commenter (//) la ligne #include <Ethernet.h> ci-dessus^^, et décommenter le ligne ci-dessous
ligne23 ==> //#include <UIPEthernet.h>  // v1.59

Donc on s’exécute, on commente la ligne 10 (« #include <Ethernet.h>« ) et on dé-commente la ligne 23.

Bien sur, vous aurez au préalable installer les librairies fournies par Jeedouino (si vous ne savez pas de quoi on parle, c’est que vous n’avez pas suivi le précédent article sur la connexion en USB <== ce sont les mêmes librairies. Mais pas les mêmes sketchs).

Il n’y a plus qu’à brancher le câble réseau et le tour est joué.

ATTENTION : le branchement de l’ENC28J60 mentionne que le PIN8 de l’Arduino doit être branché sur « CS » de l’ENC28J60. Dans le cas des librairies de Jeedouino (UIPEthernet), ce sera le PIN10 et non PIN8 !

Donc avec le module que j’ai acheté (voir en bas de page), voici les branchements :

  • Pin13 –> SCK
  • Pin12 –> SO
  • Pin11 –> ST
  • Pin10 –> CS
  • 5V –> 5V
  • GND –> GND
Le croquis utilise 28 656 octets (88%) de l'espace de stockage de programmes. Le maximum est de 32 256 octets.
Les variables globales utilisent 1 437 octets (70%) de mémoire dynamique, ce qui laisse 611 octets pour les variables locales. Le maximum est de 2 048 octets.

Exemple avec un ENC28J60 et Uno compatible – Bouton poussoir

Jeedom : branchement ENC28J60

Matériel utilisé pour cet article :


Cet article fait partie d’une série d’articles sur la box domotique Jeedom, les micro-contrôleurs Arduino et compatible, le tout en DIY (Do It Yourself). Consultez la liste complète des articles de cette thématique en cliquant ici.


 

Si vous souhaitez partager cet article...Share on Facebook
Facebook
Share on Google+
Google+
Tweet about this on Twitter
Twitter