Depuis hier, notre Framboise V2 est équipée d’un capteur de température, en la présence d’un BMP180, un capteur miniature de pression, altitude, et température.
A peine plus gros qu’un ongle, le BMP180 se relie via le bus I2C au Raspberry Pi 2. 4 fils suffisent : +, GND, et les signaux de commande I2C.
Sur internet, on lit tout et son contraire sur la longueur maximale du câble utilisable en I2C : 50 cm, 1 m, 12 m, bref, on a le choix des réponses à côté de la plaque. Ici, j’ai cannibalisé un bout de câble ethernet CAT5, non blindé, d’une longueur de 2 m. Figurez vous que cela fonctionne, et du premier coup : la sonde délivre ses données sans coup faillir, c’est précis, régulier !
Je passe sous silence l’installation physique du capteur, largement décrite sur Adafruit par exemple. Pensez bien à activer l’I2C (un raspi-config depuis le terminal, options avancées), et à valider le chargement des drivers. Là encore, tout se trouve sur Adafruit ou d’autres sites, je ne vais pas y revenir.
Le script python utilisé est le suivant, tempe.py :
#!/usr/bin/python # # decommentez pour activer la sortie de debuggage #import logging #logging.basicConfig(level=logging.DEBUG) # import Adafruit_BMP.BMP085 as BMP085 import time sensor = BMP085.BMP085() bmp = BMP085.BMP085() temp = bmp.read_temperature() pressure = bmp.read_pressure() / 100 altitude = bmp.read_altitude() print 'Temperature : {0:0.1f} C'.format(temp) print 'Pression : {0:0.0f} hPa'.format(pressure) # print 'Altitude: {0:0.1f} m'.format(altitude) print time.strftime('%X %x %Z')
Si vous avez bien câblé le module, vous devriez vous s’afficher les informations en un instant en lançant python tempe.py
J’ai décommenté l’affichage de l’altitude, plutôt pas précis à mon goût, et j’affiche la pression en hPa, plus lisible. Retenez à ce sujet qu’un pression inférieure à 1013 hPa annonce un mauvais temps. Au dessus, plus elle va monter, plus il fera beau. Mon grand-père tapotait son baromètre tous les matins, moi j’ai désormais une sonde informatique 😉
Une petite vue du montage avant d’avancer dans les explications :
La sonde est au bout du câble CAT5, toute petite. Il va maintenant falloir la protéger, l’idée étant de venir la positionner en extérieur, mais comment ? Enfermée dans un tube plastique, j’ai peur qu’elle ne mesure que le réchauffement de l’air intérieur une fois exposée au soleil : il va falloir l’aérer, tout en la gardant protégée de la pluie, sacré dilemme là !
Et soudain, au détour d’un café matinal, THE solution: une crépine !!
Oui je sais, c’est un peu bizarre, mais si vous réfléchissez bien, une crépine offre une aération sur une extrémité, et une partie protégée sur l’autre extrémité : c’est le candidat idéal pour notre projet ! Je me propose donc de venir y insérer le capteur, de boucher l’extrémité protégée par une produit du genre « ni clou ni vis », et de rajouter une grille fine (type moustiquaire) sur la partie aérée, évitant de voir des bestioles s’inviter à l’intérieur. Ainsi, notre BMP180 sera protégé de la pluie, mais ouvert aux quatre vents, impeccable pour une mesure fiable.
Bonjour.
Je souhaite me lancer dans les sondes de température.
Merci pour ce tutorial.
Pensez-vous qu’il soit envisageable de connecter ce capteur sur un module externe (module XRF par exemple) ?
Mon idée/souhait est d’avoir au moins 2 capteurs éloignés de mon raspberry. Je suis donc en train de rassembler toute la doc avant de commander le matos et de me lancer dans la construction 😉
Merci d’avance.
J’ai peut-être un début de réponse pour un module externe, sous la forme d’ESP8266, si cela peut aider.
Cf ce billet par exemple.