Outils pour utilisateurs

Outils du site


issue110:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue110:python [2016/07/10 13:01] d52frissue110:python [2016/07/10 17:59] (Version actuelle) auntiee
Ligne 7: Ligne 7:
 Ce mois-ci, nous utiliserons mon capteur de température favori actuellement : le capteur Dallas Semiconductor DS18B20 One Wire. Il ressemble à un transistor « ordinaire », mais c'est un capteur très précis, beaucoup plus que le DHT11 utilisé le mois dernier. Il ne fait pas l'humidité, mais, pour les lectures de température, c'est un composant très bon et peu cher. Toutes les demandes et sorties de données se font sur un seul picot. Il a une plage de fonctionnement de - 55°C à 125°C (-67°F to 257°F) et devrait être capable de fonctionner avec 3 mètres de câble. Il a aussi un mode parasitaire qui permet de dériver l'alimentation de la ligne de données. Ce mois-ci, nous utiliserons mon capteur de température favori actuellement : le capteur Dallas Semiconductor DS18B20 One Wire. Il ressemble à un transistor « ordinaire », mais c'est un capteur très précis, beaucoup plus que le DHT11 utilisé le mois dernier. Il ne fait pas l'humidité, mais, pour les lectures de température, c'est un composant très bon et peu cher. Toutes les demandes et sorties de données se font sur un seul picot. Il a une plage de fonctionnement de - 55°C à 125°C (-67°F to 257°F) et devrait être capable de fonctionner avec 3 mètres de câble. Il a aussi un mode parasitaire qui permet de dériver l'alimentation de la ligne de données.
  
-La feuille de spécifications peut être trouvée sur : https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf. Voici à quoi il ressemble...+La feuille de spécifications peut être trouvée sur : https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf. Voici à quoi il ressemble :
  
-Le câblage d'un seul capteur est facile. Voir sur le dessin à droite.+Le câblage d'un seul capteur est facile. Voir le dessin à droite.
  
 **There are only three connections to the RPi. Ground (sensor pin 1) to RPi pin 6, 3.3v (sensor pin 3) to RPi pin 1, and data (sensor pin 2) to RPI pin 7 (GPIO 4). You need to put a 4.7k resistor between sensor pins 2 and 3 (data and +Voltage). That’s it. If you wish to add more sensors to the project, simply connect them ground to ground, +voltage to +voltage and pin 2 to pin 2 of the “main” sensor. No additional resistors should be needed for a reasonable line length. Next page, right-hand side, is an example of a three sensor project. **There are only three connections to the RPi. Ground (sensor pin 1) to RPi pin 6, 3.3v (sensor pin 3) to RPi pin 1, and data (sensor pin 2) to RPI pin 7 (GPIO 4). You need to put a 4.7k resistor between sensor pins 2 and 3 (data and +Voltage). That’s it. If you wish to add more sensors to the project, simply connect them ground to ground, +voltage to +voltage and pin 2 to pin 2 of the “main” sensor. No additional resistors should be needed for a reasonable line length. Next page, right-hand side, is an example of a three sensor project.
Ligne 17: Ligne 17:
 One thing you have to do is tell the operating system you want to use kernel support for one-wire devices. If you are using Raspbian Jessie, this is done in raspi-config. If you are using another OS, then you must add the following line to the /boot/config.txt file.** One thing you have to do is tell the operating system you want to use kernel support for one-wire devices. If you are using Raspbian Jessie, this is done in raspi-config. If you are using another OS, then you must add the following line to the /boot/config.txt file.**
  
-Il n'y a que trois connexions au RPi. La masse (picot 1 du capteur) vers le picot 6 du RPi, 3,3 V (picot 3 du capteur) vers le picot 1 du RPi, et les données (picot 2 du capteur) vers le picot 7 du RPi (GPIO 4). Vous avez besoin d'un résistance de 4,7k entre les picots 2 et 3 du capteur (données et alim +). Elle y est. Si vous souhaitez ajouter d'autres capteurs au projet, connectez-les simplement de masse à masse, d'alim+ à alim+ et picot 2 à picot 2 vers le capteur « principal ». Pas besoin de résistances additionnelles pour une longueur de ligne raisonnable. Page suivante, à droite, vous trouvez un exemple d'un projet avec trois capteurs.+Il n'y a que trois connexions au RPi. La masse (picot 1 du capteur) vers le picot 6 du RPi, 3,3 V (picot 3 du capteur) vers le picot 1 du RPi, et les données (picot 2 du capteur) vers le picot 7 du RPi (GPIO 4). Vous avez besoin d'une résistance de 4,7 k entre les picots 2 et 3 du capteur (données et alim +). C'est tout. Si vous souhaitez ajouter d'autres capteurs au projet, il suffit de les connecter masse à masse, alim+ à alim+ et picot 2 à picot 2 du capteur « principal ». Pas besoin de résistances additionnelles pour une longueur de ligne raisonnable. Page suivante, à droite, vous trouvez un exemple d'un projet avec trois capteurs.
  
 Le code Le code
  
-Vous devez dire au système d'exploitation quel support de noyau vous souhaitez utiliser pour les capteurs à un fil. Si vous utilisez Raspbian Jessie, c'est déjà disponible dans raspi-config. Si vous utilisez un autre OS, vous devez alors ajouter la ligne suivante au fichier /boot/config.txt :+Vous devez dire au système d'exploitation que vous souhaitez utiliser le support de noyau pour les capteurs à un fil. Si vous utilisez Raspbian Jessie, c'est déjà disponible dans raspi-config. Si vous utilisez un autre OS, vous devez alors ajouter la ligne suivante au fichier /boot/config.txt :
  
 **dtoverlay=w1-gpio **dtoverlay=w1-gpio
Ligne 47: Ligne 47:
 sudo modprobe w1-therm sudo modprobe w1-therm
  
-Puis vous avez besoin de modifier le répertoire (cd) pour le répertoire du composant 1-fil et lister (ls) les appareils pour vérifier que votre thermomètre est chargé correctement.+Puis vous devez modifier le répertoire (cd) pour le répertoire du composant 1-fil et lister (ls) les appareils pour vérifier que votre thermomètre est chargé correctement.
  
 cd /sys/bus/w1/devices/ cd /sys/bus/w1/devices/
Ligne 53: Ligne 53:
 ls ls
  
-Dans les pilotes des matériels, votre capteur doit être listé comme une série de chiffres et de lettres. Dans mon cas, le composant est enregistré comme 28-000005e2fdc3. Vous avez ensuite besoin d'accéder au capteur avec la commande cd, en remplaçant mon numéro de série par le votre.+Dans les pilotes des matériels, votre capteur doit être listé comme une série de chiffres et de lettres. Dans mon cas, le composant est enregistré comme 28-000005e2fdc3. Vous devez ensuite accéder au capteur avec la commande cd, en remplaçant mon numéro de série par le vôtre.
  
 **cd 28-000005e2fdc3 **cd 28-000005e2fdc3
Ligne 81: Ligne 81:
 72 01 4b 46 7f ff 0e 10 57 t=23125 72 01 4b 46 7f ff 0e 10 57 t=23125
  
-la page suivante, en haut à droite, vous pouvez voir comment il aurait fallu faire dans l'« ancien temps », la bibliothèque que nous allons utiliser réellement.+À la page suivante, en haut à droite, vous pouvez voir comment il aurait fallu faire « jadis », la bibliothèque que nous allons utiliser réellement.
  
 **Timo Furrer has provided a wonderful library for us to use on the RPi written in pure Python. You can get it at https://github.com/timofurrer/w1thermsensor. The current version is 0.3.1 and is also available through pypi. **Timo Furrer has provided a wonderful library for us to use on the RPi written in pure Python. You can get it at https://github.com/timofurrer/w1thermsensor. The current version is 0.3.1 and is also available through pypi.
Ligne 99: Ligne 99:
 Voyez le code « d'aujourd'hui », page suivante, en bas à droite, utilisant la bibliothèque de Timo... Voyez le code « d'aujourd'hui », page suivante, en bas à droite, utilisant la bibliothèque de Timo...
  
-Il y a que 7 lignes de code qui sont nécessaires ici. Ces lignes qui sont commentées vous permettent de voir les autres façons d'obtenir et d'imprimer les données dans différentes unités de températures (Celsius et Kelvin).+Seulement 7 lignes de code sont nécessaires ici. Les lignes qui sont commentées vous permettent de voir les autres façons d'obtenir et d'imprimer les données dans différentes unités de températures (Celsius et Kelvin).
  
 Comme indiqué plus haut, vous pouvez avoir plus d'un capteur sur la même ligne de données. Aussi, voici le code pour un appel unique qui récupère les valeurs de température de tous les capteurs du système. Comme indiqué plus haut, vous pouvez avoir plus d'un capteur sur la même ligne de données. Aussi, voici le code pour un appel unique qui récupère les valeurs de température de tous les capteurs du système.
Ligne 125: Ligne 125:
     print("Sensor %s has temperature %.2f" % (sensor.id, sensor.get_temperature()))     print("Sensor %s has temperature %.2f" % (sensor.id, sensor.get_temperature()))
          
-Bien sûr, vous voudrez faireferez plus d'un appel de données ; modifiez donc le code ci-dessus de la façon que vous souhaitez.+Bien sûr, vous voudrez faire plus d'un appel de données ; modifiez donc le code ci-dessus de la façon que vous souhaitez.
  
-Si vous voulez faire un appel à un capteur en particulier, vous pouvez utiliser ce code comme point de départ.+Si vous voulez faire appel à un capteur en particulier, vous pouvez utiliser ce code comme point de départ.
  
 from w1thermsensor import W1ThermSensor from w1thermsensor import W1ThermSensor
Ligne 141: Ligne 141:
 Until then, enjoy checking out the temperatures around your office/abode.** Until then, enjoy checking out the temperatures around your office/abode.**
  
-Ainsi, vous pouvez voir qu'en utilisant la bibliothèque de Timo Furrer vous réduisez votre code pratiquement de 27 lignes à 3 (pour un seul appel). C'est merveilleux.+Ainsi, vous pouvez voir qu'en utilisant la bibliothèque de Timo Furrer vous réduisez votre code de 27 lignes à 3 (pour un seul appel). C'est merveilleux !
  
-Je voulais vous montrer comment utiliser l'afficheur LCD 16x2 avec ceci, mais je pense que je vais laisser la place à d'autres auteurs et nous repoussons cette partie au mois prochain. Ne perdez pas votre matériel de projet, nous l'utiliserons le mois prochain.+Je voulais vous montrer comment utiliser l'afficheur LCD 16x2 avec ceci, mais je pense que je vais laisser la place à d'autres auteurs et nous repousserons cette partie au mois prochain. Ne perdez pas votre matériel de projet, nous l'utiliserons le mois prochain.
  
 En attendant, amusez-vous à vérifier la température de votre bureau/domicile. En attendant, amusez-vous à vérifier la température de votre bureau/domicile.
issue110/python.1468148505.txt.gz · Dernière modification : 2016/07/10 13:01 de d52fr