[term_pi] Ajout d'un script de lecture et d'une configuration pour collectd
This commit is contained in:
		
							parent
							
								
									95cb9e37c5
								
							
						
					
					
						commit
						66681d8e71
					
				
					 1 changed files with 34 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -7,7 +7,7 @@ Tags: Linux, Arm, Embedded
 | 
			
		|||
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+.
 | 
			
		||||
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
 | 
			
		||||
- une sonde DS18B20
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,38 @@ La deuxième ligne donne la température en millième de °C.
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# 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/
 | 
			
		||||
[2]: ../Home%20router%20with%20sama5d35.html#chargeur-damorcage
 | 
			
		||||
| 
						 | 
				
			
			@ -76,3 +107,4 @@ TODO
 | 
			
		|||
[4]: https://www.raspberrypi.org/
 | 
			
		||||
[5]: images/therm_raspi.jpg
 | 
			
		||||
[6]: images/therm_raspi_bread.jpg
 | 
			
		||||
[7]: https://collectd.org/wiki/index.php/Plugin:Exec
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue