all:bibles:materiel:raspberry:sonde_temperature
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| all:bibles:materiel:raspberry:sonde_temperature [2024/08/15 10:32] – omeylhoc | all:bibles:materiel:raspberry:sonde_temperature [2024/08/15 10:34] (Version actuelle) – [Prise en compte] omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Sonde de température ====== | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== DS18B20 ===== | ||
| + | |||
| + | Ce capteur peut se présenter sous sa forme de simple composant ou bien de câble étanche. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Brochage ==== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Branchement ==== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Raccordement entre la masse (PIN 6 ou bien PIN 9) et le +3,3V (PIN 1) du raspberry. Dans notre cas utilisation du port GPIO 4 sur la PIN 7. Une résistance de 4,7 kΩ est à insérer entre le +3,3V (PIN 1) et le GPIO utilisé (PIN 7 dans notre cas). | ||
| + | |||
| + | ==== Prise en compte de la sonde ==== | ||
| + | |||
| + | === Installation des drivers 1-wire === | ||
| + | |||
| + | <code bash> | ||
| + | modprobe w1-gpio | ||
| + | modprobe w1-therm | ||
| + | </ | ||
| + | |||
| + | === Vérification === | ||
| + | |||
| + | Pour vérifier que la sonde est bien reconnue : | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | ls | ||
| + | cd 28-00000b471676 | ||
| + | cat w1_slave | ||
| + | </ | ||
| + | |||
| + | ==== Utilisation GPIO autre que GPIO 4 ==== | ||
| + | |||
| + | === Allocation dynamique | ||
| + | |||
| + | <code bash> | ||
| + | sudo dtoverlay w1-gpio gpiopin=4 | ||
| + | sudo dtoverlay w1-gpio gpiopin=17 pullup=0 | ||
| + | sudo dtoverlay w1-gpio gpiopin=27 pullup=0 | ||
| + | </ | ||
| + | |||
| + | === Au démarrage === | ||
| + | |||
| + | Editer le fichier <color # | ||
| + | |||
| + | <code bash> | ||
| + | dtoverlay=w1-gpio, | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Dépannage ==== | ||
| + | |||
| + | Si la sonde n'est pas reconnue éditer le fichier <color # | ||
| + | |||
| + | <code bash> | ||
| + | w1-therm | ||
| + | w1-gpio pullup=1 | ||
| + | </ | ||
| + | |||
| + | Editer le fichier <color # | ||
| + | |||
| + | <code bash> | ||
| + | [all] | ||
| + | dtoverlay=w1-gpio | ||
| + | </ | ||
| + | |||
| + | Redémarrer le raspberry pi et recommencer la vérification. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== SNMP ==== | ||
| + | |||
| + | === Installation packages === | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt-get install snmp snmpd snmp-mibs-downloader | ||
| + | </ | ||
| + | |||
| + | Editer le fichier <color # | ||
| + | |||
| + | <code bash> | ||
| + | # snmpd options (use syslog, close stdin/ | ||
| + | SNMPDOPTS=’-Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I extend -smux, | ||
| + | </ | ||
| + | |||
| + | === Installation scripts === | ||
| + | |||
| + | <code bash> | ||
| + | cd /opt/ | ||
| + | sudo git clone -b 1-0-release https:// | ||
| + | cd snmpmoni/ | ||
| + | sudo cp config/ | ||
| + | </ | ||
| + | |||
| + | === Configuration === | ||
| + | |||
| + | Editer le fichier <color # | ||
| + | |||
| + | < | ||
| + | rocommunity public 127.0.0.1 | ||
| + | rocommunity public 10.0.0.0/8 | ||
| + | </ | ||
| + | |||
| + | === Mapping === | ||
| + | |||
| + | Il faut maintenant créer le mapping entre l’ID de la sonde DS18B20 et SNMP. | ||
| + | |||
| + | Lister la/les sondes(s) de température reconnues par le système : | ||
| + | |||
| + | <code bash> | ||
| + | ls -l / | ||
| + | lrwxrwxrwx 1 root root 0 oct. 15 09:44 / | ||
| + | </ | ||
| + | |||
| + | Noter l'ID unique de la sonde : <color # | ||
| + | |||
| + | Editer le fichier <color # | ||
| + | |||
| + | < | ||
| + | 28-03119779959b | ||
| + | </ | ||
| + | |||
| + | La configuration permet de récupérer jusqu’à 8 sondes de température référencées sous les OID suivants : | ||
| + | |||
| + | < | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.2 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.3 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.4 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.5 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.6 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.7 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.8 | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | |||
| + | Redémarrer le service SNMP : | ||
| + | |||
| + | <code bash> | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | === Interrogation === | ||
| + | |||
| + | L' | ||
| + | |||
| + | <code bash> | ||
| + | snmpwalk -v 1 -c public 127.0.0.1 iso.3.6.1.4.1.50083.100.4.1.1.1.7.1 | ||
| + | </ | ||
| + | |||
| + | On obtient le résultat : | ||
| + | |||
| + | < | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.1.0 = INTEGER: 1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.2.5.116.104.101.114.109 = STRING: "/ | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.3.5.116.104.101.114.109 = STRING: "/ | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.4.5.116.104.101.114.109 = "" | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.5.5.116.104.101.114.109 = INTEGER: 5 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.6.5.116.104.101.114.109 = INTEGER: 1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.7.5.116.104.101.114.109 = INTEGER: 1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.20.5.116.104.101.114.109 = INTEGER: 4 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.2.1.21.5.116.104.101.114.109 = INTEGER: 1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.3.1.1.5.116.104.101.114.109 = STRING: " | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.3.1.2.5.116.104.101.114.109 = STRING: " | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.3.1.3.5.116.104.101.114.109 = INTEGER: 1 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.3.1.4.5.116.104.101.114.109 = INTEGER: 0 | ||
| + | iso.3.6.1.4.1.50083.100.4.1.1.1.7.1.4.1.2.5.116.104.101.114.109.1 = STRING: " | ||
| + | </ | ||
| + | |||
| + | où l'on trouve la température de 22,375 °C | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== BME280 ===== | ||
| + | |||
| + | Le BME280 est un capteur plus complet qui permet d' | ||
| + | |||
| + | ==== Brochage ==== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Branchement ==== | ||
| + | |||
| + | ^ BME280 | ||
| + | | VCC | Pin 1 | 3,3 V | | ||
| + | | GND | Pin 6 ou 9 | Masse | | ||
| + | | SCL | Pin 5 | I2C SCL | | ||
| + | | SDA | Pin 3 | I2C SDA | | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Prise en compte ==== | ||
| + | |||
| + | === Activer interface I2C === | ||
| + | |||
| + | Activer l' | ||
| + | |||
| + | <code bash> | ||
| + | sudo raspi-config | ||
| + | </ | ||
| + | |||
| + | === Récupérer l' | ||
| + | |||
| + | Lancer la commande suivante : | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install i2c-tools | ||
| + | sudo i2cdetect -y 1 | ||
| + | </ | ||
| + | |||
| + | Par défaut on doit trouver la sonde bme280 à l' | ||
| + | |||
| + | < | ||
| + | | ||
| + | 00: -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
| + | 70: -- -- -- -- -- -- 76 -- | ||
| + | </ | ||
| + | |||
| + | ==== Dépannage ==== | ||
| + | |||
| + | === ImportError: | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt-get install python-pip | ||
| + | sudo apt install python-smbus | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Sources ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
