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
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.
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.
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 …
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.
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.
Il existe bien évidemment quelques autres logiciels plus ou moins avancés que vous retrouverez assez facilement sur Internet.