Le bus 1-Wire (ou OneWire) est un bus conçu par Dallas Semiconductor. Il permet de connecter et de faire dialoguer entre eux des circuits sur un seul fil. Il fonctionne suivant le principe maître / esclave. Il y a donc un seul maître, qui pourra dialoguer avec un ou plusieurs esclaves.

Le niveau de tension utilisé sur ce bus est +5V (niveau TTL). Ce bus supporte une topologie de réseau en série, parallèle ou étoile.

L’avantage de ce bus est qu’il peut être utilisé en mode « parasite » (alimentation à partir du fil de données). Cela permet d’utiliser seulement 2 fils (et non un seul comme le nom le laisse supposer), un fil de données et un fil de masse.

Chaque circuit possède une adresse physique unique, gravée dans la puce à la fabrication. C’est une des raisons expliquant la réticence de Dallas à permettre la création d’esclave 1-Wire autres que ceux qu’il produit : avoir la maîtrise de l’identification des esclaves du bus.

Généralement utilisé pour des mesures de températures, il existe une gamme complète de composants compatibles.

1. Les composants

Il existe de nombreux composants 1-Wire, voici les principaux composants pouvant être utilisé en domotique :

DS18S20 – Thermomètre (sonde de température)
DS18B20 – Capteur de température avec résolution ajustable
DS2404 – Horloge temps-réel, timer et NVRAM (4 KO)
DS2405 – Interrupteur ou détecteur d’état (bascule)
DS2406 – Double bascule (équivalent à 2x DS2405)
DS2408 – Bascule 8 canaux
DS2415 – Horloge temps réelle (RTC)
DS2423 – Compteur d’impulsions / NVRAM 4KO
DS2438 – Capteur de température / Convertisseur A/N (utilisé dans nos capteurs de lumière, capteur de tension)
DS2760 – Capteur de température, courant et convertisseur A/N
DS2890 – Potentiomètre numérique

2. Les contrôleurs

Il existe plusieurs contrôleurs pour le bus 1-Wire et Dallas Semiconductor fournit les composants électroniques permettant de créer des maîtres 1-Wire à des coûts assez réduits.Les plus utilisés sont les suivants :
– DS9097U
– DS9490R
– LinkTH
– HA7E
Le DS9097U et le DS9490R sont des contrôleurs officiels de Dallas, le premier permet de piloter le bus à partir d’un port RS232, le second à partir d’un port USB. Les drivers et les explications pour utiliser ces deux modules sont données directement sur le site de Dallas.

Le LinkTH est le contrôleur 1-Wire de la société iButtonLink, il permet de gérer le bus 1-Wire de manière totalement autonome. Les mesures de températures peuvent alors être lues de manière asynchrone, elles sont envoyées périodiquement sur le port série de l’ordinateur. Il est vraiment très facile de créer un réseau ayant une longueur assez élevée ou une topologie complexe.

Ce contrôleur iButtonLink est optimisé pour la lecture de température à partir de capteur DS18B20 ou pour les capteurs iButtonLink, par contre, il ne sait pas gérer d’autres composants 1-Wire.Le HA7E est fabriqué par la société Embedded Data Systems. Ce contrôleur est très complet, il permet de piloter l’ensemble des composants 1-Wire en utilisant des commandes « textes » envoyées sur le port série. Par exemple, une simple commande texte « S » permet de lister l’ensemble des ID des composants présents sur le BUS. N’importe quelle application peut alors piloter le bus 1-Wire avec une simple communication série.Il est à noter que comme le LinkTH, le module HA7E dispose d’une gestion électronique intelligente du bus qui lui permet d’optimiser au maximum la gestion de la communication et donc d’améliorer le fonctionnement de bus 1-Wire ayant une topologie complexe.Les contrôleurs LinkTh et HA7E étant des modules RS232, il est possible de les connecter sur un PC n’ayant pas de port de ce type avec un adaptateur USB/Série.

3. Les logiciels

Le nombre de logiciels permettant de communiquer avec le bus 1-Wire est assez limité, et pour la plupart ils sont en Anglais.

Ce logiciel est fournit par Dallas Semiconductor. Il permet d’avoir un aperçu rapide du réseau, et donc de pouvoir tester facilement son fonctionnement.

Une colonne affiche la liste des composants, et un clic sur le composant permet d’obtenir le détail des informations de ce composant.

1 wire onewireviewer

Même si ce logiciel est parfait pour tester une installation, il ne permet pas une utilisation en continue (pour enregistrer des températures par exemple).

Ce logiciel s’interface avec le contrôleur 1-Wire LinkTH, et il permet d’enregistrer les mesures, de définir des alertes …

1 wire thmon02

1 wire thmon01

L’excellent projet OWFS permet de voir le réseau 1-Wire comme un système de fichier, il est alors très facile de parcourir ce système pour lire les valeurs des différents composants.

Ce logiciel est avant tout conçu pour Linux (même si une version Windows existe), et il est possible de l’utiliser sur des systèmes très réduits, comme par exemple un routeur avec OpenWRT. La gestion du 1-Wire s’en trouve alors fortement simplifiée.

On retrouve sur le web des outils pour communiquer avec OWFS et mettre en forme les données qui sont lues, comme par exemple le site Aquarium Automation.

Ce logiciel permet l’acquisition de données et leur sauvegarde dans des fichiers textes.

Il est possible de transférer automatiquement ces fichiers sur un serveur FTP, afin de les utiliser par exemple sur un serveur web pour tracer des courbes de températures.

1 wire logtemp

Ce plug-in pour le logiciel HomeSeer permet d’avoir un suivi de la température de plusieurs pièces de votre maison facilement. En utilisant un contrôleur 1-Wire (HA7E, HA7Net et / ou TEMP08) pour lire les sondes numériques 1-Wire (DS18S20 et DS18B20), ce plug-in crée et met à jour automatiquement un « device » HomeSeer pour chaque capteur. En outre, les valeurs de température pour chacun des capteurs sont insérées dans une base de données sous-jacente pour la représentation graphique.

 

ultra1wire homeseer01

 

ultra1wire homeseer02

 

ultra1wire homeseer03

Il existe bien évidemment quelques autres logiciels plus ou moins avancés que vous retrouverez assez facilement sur Internet.