J'envisage d'implémenter un système domotique autour de mon Raspberry Pi, mais j'ai trouvé que le prix et l'espace requis pour insérer un Pi à chaque endroit un certain contrôle est trop nécessaire, mais les câbles Cat5e requis pour cette conception sont déjà installés pendant la rénovation. J'ai des PCF8574, PCF8591 et SSR qui traînent, est-il possible de les piloter avec des câbles Cat5e?
Tous mes câbles Cat5e sont déjà câblés avec un brochage TIA / EIA 568B. Ils font partie de mon câblage structurel et ne sont pas blindés, donc une tension de ligne plus élevée est requise. Je pense à envoyer des lignes d'alimentation et I2C sur le câble, avec ce brochage:
Pin 1 (Pair 1): SCL+
Pin 2 (Pair 1): SCL-
Pin 3 (Pair 2): SDA+
Pin 4 (Pair 3): +12V
Pin 5 (Pair 3): +12V
Pin 6 (Pair 2): SDA-
Pin 7 (Pair 4): GND
Pin 8 (Pair 4): GND
La disposition des broches d'alimentation est identique à celle du câblage PoE 100BASE-TX, de sorte que la puissance nominale sera également la même, et l'utilisation de la signalisation différentielle bidirectionnelle se trouve dans 1000BASE-T qui nécessite Cat5e.
Les lignes I2C SCL et SDA d'origine sont dérivées en deux paires différentielles bidirectionnelles aux niveaux TTL (le drain ouvert n'est pas conservé sur le fil, mais restauré dans le dispositif de terminaison / décalage de niveau que je conçois)
Une suggestion à ce sujet? De plus, quelle puce dois-je utiliser pour convertir les lignes I2C en signalisation différentielle? Veuillez me suggérer des jetons avec option de trou traversant DIP. Je ne sais pas comment gérer les trucs SMT.
ÉDITER
J'ai trouvé cette puce, SN65LBC180, est-ce un bon choix? Comment le câbler dans une unité bidirectionnelle? Comment changer de niveau (il s'agit d'une pièce BiCMOS nécessitant un niveau TTL mais Pi pilote à des niveaux CMOS de 3,3 V) et la rendre compatible avec le drain ouvert?
EDIT 2
Les commentateurs ont suggéré RS-485 qui m'a paru acceptable, mais les deux paires différentielles doivent toujours être bidirectionnelles et seulement deux paires différentielles bidirectionnelles seulement. Je réutilise les câbles Ethernet existants.
EDIT 3
Depuis que quelqu'un l'a soulevé, je ne peux pas utiliser CAN. Il n'y a aucun moyen d'adapter CAN sur RPi sans rien sacrifier (SPI est occupé par un écran tactile, donc pas de convertisseur SPI vers CAN)
Je suis conscient de la limitation de I2C PHY, donc j'essaie essentiellement de lui adapter 1000BASE-T PHY - signalisation différentielle bidirectionnelle pour les signaux SCL et SDA, mais en plus de cela, exécute le protocole I2C.
EDIT 4
Une nouvelle puce m'est venue: NXP P82B96 qui divise I2C en 4 lignes unidirectionnelles, qui à leur tour peuvent être utilisées pour alimenter le SN65LBC180 par opto-isolation (côté Pi uniquement) pour former une signalisation prête à longue distance à 8 broches. Maintenant, j'ai juste besoin de comprendre comment obtenir du courant à travers le fil, ou comment déterminer si le bus envoie et rendre les paires bidirectionnelles.
EDIT 5
D'après les suggestions de réponses, je pense que je dois changer un peu le brochage de l'alimentation:
Pin 1 (Pair 1): SCL+
Pin 2 (Pair 1): SCL-
Pin 3 (Pair 2): SDA+
Pin 4 (Pair 3): +5V
Pin 5 (Pair 3): GND
Pin 6 (Pair 2): SDA-
Pin 7 (Pair 4): GND
Pin 8 (Pair 4): +12V
La tension de signalisation différentielle I2C est TTL. Le + 5V sur la paire 3 provient du Pi, non tamponné mais fusionné. Le + 12V sur la paire 4 peut ne pas être présent est uniquement utilisé pour piloter certains appareils à haute puissance. Si nécessaire, l'appareil peut utiliser sa propre alimentation et laisser les deux rails suspendus non connectés ou fournir sa propre tension plus élevée, mais utiliser le rail 5V.
GRATTEZ QUE
Le brochage est toujours mon design d'origine, qui est compatible 802.1af.