[term_pi] Ajout d'un script de lecture et d'une configuration pour collectd

This commit is contained in:
kleph 2015-05-19 02:27:09 +02:00
parent 95cb9e37c5
commit 66681d8e71

View file

@ -7,7 +7,7 @@ Tags: Linux, Arm, Embedded
Lang: fr Lang: fr
Un article parlant du branchement d'un capteur de température en 1-wire sur une raspberry. L'exemple est pour l'instant réalisé sur une raspberry 1 modèle B+. Un article parlant du branchement d'un capteur de température en 1-wire sur une raspberry. L'exemple est pour l'instant réalisé sur une raspberry 1 modèle B+.
Je me suis beaucoup inspiré du site [franboise314][1], avec un ajout de configuration pour le noyau 3.18+ et très bientôt comment faire un plugin collectd pour remonter ces informations sur le réseau. Je me suis beaucoup inspiré du site [franboise314][1], avec un ajout de configuration pour le noyau 3.18+ ainsi qu'un script basique et une configuration pour collectd, pour pouvoir avoir cette information cruciale dans le système de monitoring :-)
# Matériel # Matériel
- une sonde DS18B20 - une sonde DS18B20
@ -68,7 +68,38 @@ La deuxième ligne donne la température en millième de °C.
# Plugin collectd # Plugin collectd
TODO Dans un premier temps, je vais utiliser un script shell et le plugin [Exec][7] de collectd. J'essaierai de faire une meilleure version du plugin, en C je suppose, plus tard.
## En utilisant le plugin exec
Voici un exemple de script donné sur la page [wiki du plugin][7], adaptée pour ce capteur :
``` bash
#!/bin/bash
# script to read DS18B20 temp value and output in collectd format
# TODO check CRC
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
INTERVAL="${COLLECTD_INTERVAL:-60}"
if [ -z "$1" ]; then
echo "ERROR"
exit 1
fi
probe_id=$1
probe_path=/sys/bus/w1/devices/${probe_id}/w1_slave
while sleep "$INTERVAL"; do
value=$(awk -F "t=" '/t=/ {print $2/1000}' ${probe_path})
echo "PUTVAL \"${HOSTNAME}/exec-temp/gauge-DS18B20\" interval=${INTERVAL} N:${value}"
done
```
Voici la configuration du plugin dans le fichier `collectd.conf`. Notez l'id de la sonde en paramètre du plugin, il sera passé au script de lecture.
``` bash
<Plugin exec>
Exec "pi" "/home/pi/read_temp.sh" "28-001451521dff"
</Plugin>
```
[1]: http://www.framboise314.fr/mesure-de-temperature-1-wire-ds18b20-avec-le-raspberry-pi/ [1]: http://www.framboise314.fr/mesure-de-temperature-1-wire-ds18b20-avec-le-raspberry-pi/
[2]: ../Home%20router%20with%20sama5d35.html#chargeur-damorcage [2]: ../Home%20router%20with%20sama5d35.html#chargeur-damorcage
@ -76,3 +107,4 @@ TODO
[4]: https://www.raspberrypi.org/ [4]: https://www.raspberrypi.org/
[5]: images/therm_raspi.jpg [5]: images/therm_raspi.jpg
[6]: images/therm_raspi_bread.jpg [6]: images/therm_raspi_bread.jpg
[7]: https://collectd.org/wiki/index.php/Plugin:Exec