Bus 1 wire : fonctionnement, avantages et applications en domotique

Bus 1 wire : fonctionnement, avantages et applications en domotique

Dans une installation domotique, on cherche souvent à mesurer la température, détecter une fuite d’eau ou relever l’état d’un contact sans multiplier les câbles et les modules. Le bus 1-Wire répond précisément à ce besoin : peu de fils, des composants peu coûteux et une mise en œuvre relativement simple.

Son nom est presque trompeur. Un bus 1-Wire n’utilise pas toujours un seul fil au sens strict, puisqu’il faut généralement ajouter une masse commune. En revanche, un seul conducteur transporte les données entre le contrôleur et les périphériques. C’est cette simplicité qui a fait le succès des composants Dallas Semiconductor, aujourd’hui commercialisés par Maxim Integrated puis Analog Devices.

Voici comment fonctionne ce bus, ce qu’il permet réellement de faire et les précautions à prendre pour l’intégrer proprement dans une installation domotique.

Qu’est-ce que le bus 1-Wire ?

Le 1-Wire est un protocole de communication numérique conçu pour relier un maître à un ou plusieurs périphériques esclaves. Le maître peut être un microcontrôleur, un Raspberry Pi, un automate ou une passerelle domotique. Les périphériques sont par exemple des sondes de température, des compteurs, des mémoires ou des entrées numériques.

Le câblage de base comprend :

  • un fil de données, souvent nommé DQ ou DATA ;
  • un fil de masse, indispensable dans la plupart des installations ;
  • éventuellement un fil d’alimentation en 3,3 V ou 5 V.

On parle donc souvent de câblage « deux fils » ou « trois fils ». Le mode deux fils exploite l’alimentation parasite : le composant récupère une petite partie de son énergie sur la ligne de données. Cela peut dépanner, mais le câblage trois fils reste préférable dès que cela est possible. Il est plus fiable, notamment avec les sondes étanches et les longueurs de câble importantes.

Le bus fonctionne avec une résistance de rappel, appelée pull-up, qui ramène la ligne de données à l’état haut. Une valeur de 4,7 kΩ est très courante, même si elle peut être adaptée selon la tension, la longueur du câble et le nombre de périphériques.

Un fonctionnement basé sur une adresse unique

La grande force du 1-Wire est que chaque composant possède une adresse matérielle unique sur 64 bits. Cette adresse est inscrite en usine et ne dépend pas de son emplacement dans le câblage.

Une adresse 1-Wire contient trois éléments :

  • un code famille qui identifie le type de composant ;
  • un numéro de série unique ;
  • un octet de contrôle CRC qui permet de vérifier l’intégrité de l’adresse.

Une sonde DS18B20 possède par exemple un code famille différent de celui d’une mémoire EEPROM 1-Wire. Le contrôleur peut donc découvrir tous les périphériques présents sur le bus, lire leur adresse, puis dialoguer avec chacun d’eux individuellement.

C’est particulièrement pratique en domotique. Deux sondes identiques peuvent être branchées sur le même câble, puis affectées à deux pièces différentes dans le logiciel. Il n’est pas nécessaire de modifier une adresse avec des cavaliers ou des interrupteurs DIP. Il faut simplement identifier quelle sonde se trouve où.

Cette identification peut se faire de manière empirique : on débranche toutes les sondes, on en laisse une seule connectée, puis on relève son adresse. Méthode peu glamour, mais efficace. Pour une installation définitive, il est préférable d’étiqueter chaque câble avec l’adresse du composant et son emplacement.

Le cycle de communication

Le maître contrôle entièrement les échanges. Un périphérique 1-Wire ne prend pas la parole spontanément comme pourrait le faire un équipement sur un réseau Ethernet. Le contrôleur commence par envoyer une impulsion de réinitialisation. Les périphériques présents répondent par une impulsion de présence.

Le maître peut ensuite :

  • sélectionner un composant précis grâce à son adresse unique ;
  • envoyer une commande commune à tous les périphériques compatibles ;
  • lancer une mesure ou une conversion ;
  • lire les données retournées par le composant ;
  • contrôler le résultat grâce à un CRC.

Avec une DS18B20, le scénario classique est simple. Le contrôleur demande à la sonde de convertir la température, attend la fin de la mesure, puis lit le registre contenant le résultat. La résolution peut être configurée, généralement de 9 à 12 bits. En résolution maximale, une conversion peut prendre jusqu’à environ 750 millisecondes.

Il faut donc éviter de lancer une mesure et d’attendre une réponse instantanée comme avec un capteur analogique. Dans un programme bien conçu, on déclenche les conversions, on effectue d’autres tâches pendant l’attente, puis on lit les résultats. La domotique apprécie la patience : elle évite souvent bien des problèmes.

Les composants 1-Wire les plus utiles

Les sondes de température DS18B20

La DS18B20 est le composant emblématique du bus. Elle mesure la température avec une résolution configurable et fournit directement une valeur numérique. On la trouve sous forme de petit boîtier, de module ou de sonde inox étanche avec câble moulé.

Ses usages sont nombreux :

  • température de chaque pièce ;
  • surveillance d’un ballon d’eau chaude ;
  • mesure sur un circuit de chauffage ;
  • contrôle d’un congélateur ou d’un réfrigérateur ;
  • suivi de la température d’un serveur ou d’une baie réseau ;
  • gestion d’un plancher chauffant ou d’une serre.

La sonde étanche est très pratique, mais la qualité varie fortement selon les modèles. Certaines copies affichent des valeurs incohérentes ou supportent mal les longues liaisons. Pour une installation critique, il est préférable de choisir des composants identifiés et de vérifier leur comportement avant de les poser définitivement.

Les compteurs et convertisseurs

D’autres composants 1-Wire permettent de compter des impulsions, de mesurer une tension ou de surveiller une alimentation. Le DS2423, historiquement utilisé comme compteur, peut servir à relever un compteur d’eau, un compteur électrique équipé d’une sortie impulsionnelle ou le passage devant un détecteur.

Le DS2438 ajoute notamment des fonctions de mesure de tension et de capacité. Il peut être utilisé dans des montages de suivi énergétique ou avec certains capteurs analogiques. Le choix du composant dépend toutefois de sa disponibilité : la famille 1-Wire est ancienne et certains circuits sont moins faciles à trouver qu’avant.

Les mémoires, boutons et identifiants

Le bus peut aussi accueillir des mémoires EEPROM, des boutons électroniques ou des iButtons. Ces derniers sont des petits boîtiers métalliques contenant une identification numérique. Ils peuvent servir à identifier un utilisateur, valider une action ou associer une clé physique à un scénario domotique.

On peut imaginer, par exemple, un bouton 1-Wire placé dans un coffret technique pour lancer un mode maintenance, ou une clé iButton permettant d’activer une alarme. Ce n’est pas forcément la solution la plus moderne, mais elle est robuste, simple à comprendre et facile à intégrer dans un projet DIY.

Pourquoi utiliser du 1-Wire en domotique ?

Le premier avantage est le coût. Une sonde DS18B20 reste peu chère, surtout comparée à un module domotique complet doté d’une connexion radio ou Wi-Fi. Pour surveiller dix pièces, la différence budgétaire devient rapidement intéressante.

Le deuxième avantage est le câblage. Un seul bus peut desservir plusieurs capteurs. Dans une maison en travaux, il suffit de prévoir un câble adapté entre le tableau technique et les zones à surveiller. Un câble réseau inutilisé peut parfois convenir, en utilisant une paire pour la donnée et la masse, voire une autre paire pour l’alimentation.

Le troisième avantage est la fiabilité. Une liaison filaire ne dépend ni de la couverture Wi-Fi, ni de l’état des piles, ni des perturbations radio. Dans une cave, un local technique ou un vide sanitaire, cette caractéristique est loin d’être secondaire.

Le protocole permet aussi de connaître précisément le composant interrogé. Il n’y a pas d’ambiguïté entre deux sondes portant le même modèle. L’adresse unique rend la configuration reproductible, à condition de conserver une liste claire des identifiants.

Les limites à connaître avant de tirer les câbles

Le 1-Wire n’est pas un réseau universel. Sa vitesse est faible et il n’est pas conçu pour transporter de grandes quantités de données. Pour des températures relevées toutes les minutes, il est parfaitement à l’aise. Pour piloter un écran, transférer des fichiers ou gérer de la vidéo, il faut évidemment passer son chemin.

La topologie du câblage est également importante. Un bus linéaire, avec les périphériques répartis le long du câble principal, offre généralement les meilleurs résultats. Les grandes étoiles, avec de nombreuses branches de longueurs différentes, peuvent provoquer des réflexions et des erreurs de communication.

Une petite étoile peut fonctionner, notamment avec des longueurs modestes. Mais plus l’installation s’étend, plus il faut soigner le câblage. Les problèmes typiques sont des sondes qui disparaissent, des valeurs erronées ou un bus qui fonctionne sur l’établi mais devient instable une fois installé dans la maison.

La longueur maximale n’est pas une valeur fixe. Elle dépend du câble, de la résistance de pull-up, de la tension, du nombre de composants et de la qualité du maître 1-Wire. Avec un montage bien réalisé, plusieurs dizaines de mètres sont parfaitement envisageables. Au-delà, il faut tester sérieusement et parfois utiliser un maître spécialisé ou un amplificateur de ligne.

Conseils de câblage pour une installation fiable

Pour une première réalisation, le câblage trois fils est le meilleur choix :

  • rouge pour le +VCC ;
  • noir ou bleu pour la masse ;
  • blanc ou jaune pour la donnée.

Cette convention n’est pas obligatoire, mais elle évite les erreurs lors du dépannage. Relier la masse de tous les éléments est indispensable. Un bus qui semble mystérieusement instable souffre très souvent d’une masse absente, d’un mauvais contact ou d’une alimentation insuffisante.

Placez la résistance de pull-up près du maître, entre la ligne DATA et l’alimentation. Commencez avec 4,7 kΩ. Si le bus est long ou fortement chargé, une valeur plus faible peut parfois améliorer les fronts de signal, mais elle augmente le courant nécessaire. Il ne faut pas choisir une résistance au hasard sans vérifier les caractéristiques du contrôleur et des périphériques.

Évitez de faire circuler le câble 1-Wire juste à côté de conducteurs de puissance sur une longue distance. Un câble torsadé, comme une paire d’un câble réseau, limite généralement les perturbations. Dans un tableau électrique, séparez autant que possible les courants faibles des câbles 230 V.

Enfin, testez chaque segment avant de fermer les cloisons. Une sonde accessible aujourd’hui peut devenir étonnamment difficile à remplacer après la pose du placo, du carrelage et de trois couches de peinture.

Intégrer le 1-Wire avec un Raspberry Pi ou un microcontrôleur

Le Raspberry Pi dispose d’un support logiciel du 1-Wire qui permet de détecter les composants connectés à une interface adaptée. Certains modèles ou distributions permettent même d’exploiter directement un GPIO, mais un adaptateur dédié reste souvent préférable pour une installation durable.

Un maître USB 1-Wire, comme ceux basés sur les contrôleurs DS9490, simplifie l’intégration. Il prend en charge une partie de la gestion électrique et fournit une interface standard au logiciel domotique. Pour un projet avec plusieurs dizaines de capteurs ou un câble long, cette solution est plus confortable qu’un branchement improvisé sur un GPIO.

Avec un Arduino, un ESP8266 ou un ESP32, des bibliothèques dédiées permettent de dialoguer avec les DS18B20. L’ESP32 peut ensuite transmettre les températures à Home Assistant, Jeedom, MQTT ou une autre plateforme. Attention toutefois : un ESP32 fonctionne en logique 3,3 V. Il faut vérifier que la tension appliquée au bus et le niveau logique sont compatibles.

Dans Home Assistant, on peut ensuite exploiter les sondes pour afficher une courbe, déclencher une alerte ou piloter un relais. Quelques exemples concrets :

  • envoyer une notification si la température du congélateur dépasse un seuil ;
  • couper une pompe si la température d’un circuit devient anormale ;
  • activer une ventilation lorsque la baie réseau chauffe ;
  • comparer la température de départ et de retour d’un chauffage ;
  • détecter une absence de mesure et signaler une sonde débranchée.

Le 1-Wire face aux autres solutions domotiques

Par rapport au Wi-Fi, le 1-Wire demande un câblage mais ne dépend pas du réseau radio. Il consomme aussi très peu et ne nécessite pas de pile. Le Wi-Fi reste plus simple pour ajouter un capteur dans une pièce déjà terminée, à condition d’accepter l’alimentation secteur ou la maintenance des batteries.

Face au Zigbee ou au Z-Wave, le 1-Wire est moins flexible pour les équipements mobiles et les actionneurs. En revanche, il est très pertinent pour les capteurs fixes, surtout dans une maison en construction ou lors d’une rénovation où les gaines sont accessibles.

Comparé à un bus KNX, il est beaucoup moins complet et moins normalisé pour une installation résidentielle professionnelle. Mais son coût et sa simplicité le rendent idéal pour du suivi de température, du bricolage domotique et des extensions ciblées.

Une solution simple, à condition de respecter ses règles

Le bus 1-Wire est une excellente porte d’entrée vers la domotique filaire. Il permet de déployer de nombreux capteurs avec peu de composants, tout en conservant une identification individuelle et une consommation très faible.

Pour éviter les déconvenues, retenez surtout ces quelques principes : privilégier le câblage trois fils, utiliser une alimentation stable, limiter les grandes étoiles, placer correctement la résistance de pull-up et tester le réseau avant son installation définitive.

Bien dimensionné, un bus 1-Wire peut rester discret pendant des années tout en remontant des informations précieuses. Et dans une maison connectée, une sonde qui mesure la bonne température au bon endroit est souvent plus utile qu’un gadget bardé de fonctions que personne n’utilise.