Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
fr:one_wire [2020/04/21 21:51]
mathvds created
fr:one_wire [2021/07/29 09:28] (current)
mathvds [Connexion des sondes 1-wire au Raspberry]
Line 1: Line 1:
-Principes du bus et exemple d'installation sur RaspberryPI3 avec Calaos v3+====== Bus One Wire ====== 
 +Cette page explique les bases du bus 1-wire et donne un exemple d'installation (sous Calaos V3 sur Raspberry PI3) 
 +===== Principe du bus 1-wire ===== 
 +Le bus 1-wire peut être câblé en série ou en étoile. 
 + 
 +{{:fr:one_wire1.png?direct&400}} 
 + 
 +Il fonctionne sous une tension de 5V. 
 + 
 +Les composants principaux utilisés sont : 
 +  * L’interface USB – 1-wire DS9490R 
 +  * Les sondes de températures DS18B20 
 +Ce type de bus est principalement utilisé pour les mesures de température mais beaucoup d'autres composants compatibles existent. 
 +===== Sondes de température DS18B20 ===== 
 +==== Types de sondes ==== 
 +Une sonde 1-wire possède 3 fils ou 3 pattes, suivant qu’il s’agit d’un modèle câblé ou sous forme d’un composant électronique. 
 +=== Modèle câblé === 
 +La sonde est protégée dans une enveloppe inox étanche. Elle possède 3 fils. 
 + 
 +{{:fr:one_wire2.png?direct&100}} 
 + 
 +  * Fil Rouge : Power (5v). Indiqué VDD, VCC, V+ suivant les documentations. 
 +  * Fil Jaune : 1-wire data (données). 
 +  * Fil Noir : GND, 1-wire Ground (0v). 
 + 
 +=== Modèle « nu » === 
 +{{:fr:one_wire3.png?direct&200}} 
 + 
 +==== Câblage des sondes ==== 
 +Il y a 2 façons de câbler les sondes: 
 +  - **Mode parasite**\\ On câble avec 2 fils.\\ V+ (5v) et GND (0v) sont reliés ensembles. 
 +  - **Mode alimenté**\\ 3 fils sont utilisés. 
 + 
 +{{:fr:one_wire4.png?direct&400|}} 
 + 
 +==== Identification des sondes ==== 
 +Les sondes ont chacune un identifiant unique du style F603079779927828. Il peut être indiqué sur la sonde, sinon on peut le retrouver grâce : 
 +  * Au logiciel [[https://www.maximintegrated.com/en/products/ibutton/software/1wire/owv_offline_instructions.cfm|OneWireViewer]] (Windows):\\ Il suffit de l’installer, de connecter l’adaptateur DS9490R dans un port USB du PC et d’y brancher la sonde à tester. 
 + 
 +  * Directement sur le serveur CALAOS: Voir plus loin 
 +===== Connexion des sondes 1-wire au Raspberry ===== 
 +Le bus peut être connecté de 2 façons au Raspberry: 
 +  - Via les pins GPIO du Raspberry Pi\\ {{:fr:one-wire5a.jpg?direct&200|}}\\ Pour accéder au sondes il faudra utiliser les drivers kernel w1-therm et w1-gpio. Ceux-ci sont utilisé uniquement sur RaspberryPi quand on connecte directement à un GPIO.\\ \\  
 +  - Via adaptateur USB-1-wire DS9490R\\ {{:fr:one_wire6.png?direct&100|}}\\ Le driver utilisé sera un driver OWFS.\\ Pour le câblage, voici une vue de face du connecteur femelle de l’adaptateur DS9490R\\ {{:fr:one_wire7.png?direct&500|}} 
 + 
 +===== Exemple d’installation simple ===== 
 +On câble tout en utilisant du câble Ethernet et des fiches RJ45. 
 + 
 +On utilise l’adaptateur USB. 
 +==== Câblage Bus ==== 
 +Même si on n’a besoin que de 3 fils, on utilise du câble Ethernet (8 fils) car pas cher et trouvable facilement. Les sondes seront câblées en étoile. Elles sont reliées par : 
 +{{:fr:one_wire8.png?direct&200|}} 
 + 
 +==== Sondes ==== 
 +On connecte une fiche RJ45 mâle sur les 3 fils des sondes. Cela permet des tests faciles et plus tard un remplacement rapide si besoin. 
 +{{:fr:one_wire9.png?direct&400|}} 
 +==== Cable RJ11 vers RJ45 (Connexion du bus à l’adaptateur) ==== 
 +Le but est de faire un câble d’interface entre le module DS9490R qui a un connecteur RJ11 et les sondes qu’on va câbler en RJ45. 
 + 
 +Le câble utilisé est un câble style câble téléphone 6 fils avec connecteurs RJ12 sur lequel on remplace un connecteur RJ12 par un connecteur RJ45. 
 +==== Ajout des sondes dans CALAOS ==== 
 +Une fois que toutes nos sondes sont câblées, il faut les ajouter dans CALAOS. 
 + 
 +On va d’abord vérifier que les sondes sont bien détectées sur le bus. Ensuite il faudra les déclarer dans CALAOS Installer. 
 +=== Détection des sondes === 
 +  * S’assurer que l’adaptateur est bien connecté au Raspberry avec au moins une sonde connectée. 
 +  * Se connecter au Raspberry avec Putty 
 +  * Couper le server Calaos: quand le serveur tourne, l'outil 1wire ne fonctionne pas, les 2 ne peuvent pas accéder au driver en même temps.\\ La commande pour stopper le serveur est :\\ //systemctl stop calaos-server// 
 +  * L’outil calaos_1wire intégré à Calaos, permet de scanner le bus pour détecter les sondes. Il faut utiliser la commande suivante: 
 + 
 +//calaos_1wire --scan -u// 
 + 
 +--scan : scanne le bus 
 + 
 +-u : parce qu’on utilise l’adaptateur usb 
 + 
 +Résultat : 
 + 
 +{{:fr:one_wire10.png?direct&600|}} 
 + 
 +Les numéros commençant par 28. Sont les sondes, les températures correspondantes sont indiquées à droite. 
 + 
 +Pour chaque sonde, il faut noter ce numéro, c’est lui qui sera déclaré dans Calaos Installer. 
 + 
 +Le dernier résultat commençant par 81. est l’adaptateur. 
 + 
 +Rem1 : Pour savoir quelle sonde se trouve où, nous les avons branchées une par une en relançant le scan à chaque fois. 
 + 
 +Rem2 : Le format des numéros de sonde n’est pas le même dans OneWireViewer et dans Calaos. C’est bien ce format Calaos qu’il faut indiquer dans Calaos Installer. 
 + 
 +  * Le serveur peut être redémarré avec :\\ //systemctl start calaos-server// 
 + 
 +=== Ajout dans CALAOS Installer (ici version: v3.2) === 
 +Dans la pièce où se trouve la sonde, aller dans le menu //Ajouter>OneWire>Sonde de Température//
 + 
 +{{:fr:one_wire11.png?direct&400|}} 
 + 
 +Une sonde est rajoutée dans la pièce. Voici les paramètres à rentrer: 
 + 
 +**__Paramètres principaux__** 
 + 
 +{{:fr:one_wire12.png?direct&400|}} 
 + 
 +  * ow_id : le numéro d’identification de la sonde relevé précédemment. 
 + 
 +  * ow_args : -u si on utilise l’adaptateur usb. 
 + 
 +  * name : le nom qui va apparaitre dans Calaos. 
 + 
 +**__Paramètres Optionnels__** 
 + 
 +{{:fr:one_wire13.png?direct&400|}} 
 + 
 +  * Offset : permet d’ajouter ou de retirer des degrés par rapport à la température envoyée par la sonde 
 +  * Coef_a : doit être à 1 par défaut. Chez moi il était à 0, attention donc. 
 + 
 +Il n'y a plus qu'à envoyer le projet au serveur Calaos et la température devrait apparaître dans calaos_home.