Dans le cadre d'un projet de domotique, je souhaite relier une dizaine de cartes Arduino2560 en réseau.
Un pré-câblage existe déjà chez moi : câble torsadé rigide Ethernet CAT5+ sans connecteur au bout.
J'aimerais utiliser des modules Shield Ethernet, mais je ne vois pas comment connecter les cartes en
milieu de réseau :
|----------| |-----------------|
arduino1 arduino2 PC
Est-il possible de faire des épissures sir je me limite à 10 MHz de débit ?
Sinon, existe-t-il des mini "Y" Ethernet ?
Avez-vous une autre solution ?
Dans la négative, je risque de devoir acheter des cartes CAN, et j'aurais préféré de l'Ethernet...
Les Shield Ethernet fonctionne en 10Base-T ou 100Base-T ce qui nécessite la présence d'un hub. Tu ne peux pas connecter les cartes les unes au autres comme ça.
Si tu veux connecter toutes tes cartes sur un bus commun il faudrait t'orienter sur une interface RS422 (un seul maitre plusieurs esclaves) ou RS485 (multi maitres)
comme le dit fdufnews, l'ethernet façon bus, ce n'est pas possible. Il te faut un switch.
Si les distances ne sont pas trop importantes, il y a également la possibilité de l'I2C (quelques mètres).
Pour le CAN, ce n'est pas un bus géré nativement par les atmega, donc pas forcément évident à mettre en œuvre.
Si c'est pour faire de la domotique, il y a le projet DOMOCAN, à base de PIC, et totalement libre (et en français SVP)
Merci pour vos retours. Effectivement, j'étais à l'Ouest, il me faudrait repenser le câblage pour utiliser de l'Ethernet.
Pas possible aujourd'hui. C'est effectivement de la domotique : 1 Arduino 2560 par pièce); je n"ai pas choisi l'I2C
à cause des longueurs.
J'aimerais du multi-maitres donc du RS485 serait parfait, à défaut du CAN (Il y a des shields CAN à 35 €).
Je continue à chercher.
Concernant Ethernet, j'ai un système domotique en cours de développement basé sur ethernet et le protocole xPL (en UDP). Dommage que ton cablage ne soit pas compatible...
The RS485’s topology is multipoint. This means that every node in the network shares the same media,
then without collision avoidance mechanism (which is relatively complex to implement), only one node can be
defined as a master. The master sends commands or data and zero or more slaves respond to the master
(It’s an important limitation).
without collision avoidance mechanism (which is relatively complex to implement), only one node can be defined as a master
Théoriquement, le RS485 peut-être multimaster, mais il faut implémenter un contrôle de collision.
Sur bus CAN, c'est géré directement par le contrôleur de bus de chaque noeud. De nombreux PIC gèrent nativement le CAN.
Effectivement, je viens de lire des choses intéressantes sur Google
C'est le CAN qui est multimaitre, de plus les contrôleurs intègrent toute l'intelligence
nécessaire aux échanges, ce qui va me permettre de simplifier mon développement.
Je vais donc acheter quelques CAN shields pour tester.