Nombre de connexions E-Mail Statistiques du site
Bio

vendredi 22 septembre 2017
Nombre de visites : 1069

Raspberry - BMP280

Toujours dans l’idée de me faire un petit système domotique, j’ai décidé de connecter un capteur de température/pressionAdafruit BMP280.

Capteur commandé, reçu et les premières galères commencent :
J’ai commandé en même temps des câbles mâles(pour connecter sur le bmp280) femelles (pour connecter sur le port GPIO du raspberry). Ces câbles, coté mâles rentrent bien dans les trous du bmp280 mais ne sont pas sertis dedans... Va falloir faire des soudures.

Dans un premier temps, j’ai fait une petite bidouille qui devrait marcher mais il me faut des câbles femelles-femelles (nouvelle commande...).

Câbles reçus, nouveau test.

Je connecte le bmp280 au raspberry et lance le programme de détection i2cdetect. Résultat, ballon, rien...

En regardant bien, je vois que je me suis gouré de port... On voit un schéma de câblage ici : https://www.hackster.io/windows-iot/weather-station-67e40d.

BMP280 —> RASPBERRY PI
Vin —> Pin 2 (5V)
GND —> Pin 6 (GND)
SCK —> Pin 5 (I2C1_SCL)
SDI —> Pin 3 (I2C1_SDA)

Cette fois, ça marche : i2cdetect me renvoie bien ça :

i2cdetect -y 1
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

J’essaie pas mal de programmes en c ou en python, mais soit ça compile pas, soit j’ai des messages d’erreurs...

Ensuite, je vois que domoticz gère directement les périphériques i2c, youpi. Je paramètres ça, mais pas de bol, il y a le bmp 85/180 et le bme280. Le bme280 me fais des erreurs , pas le bmp 85/180. Ça marche !!!

Enfin, non, j’ai 82° en température et 795000 hPa en pression !!! Je pense juste à un problème de calibration, je fais l’ajustement dans domoticz et c’est parti.

En fait, après une journée, ni la température , ni la pression ne bougent ...

J’apprends enfin, au fil de mes pérégrinations sur internet qu’il faut activer/réveiller le capteur avec la commande :
echo bmp280 0x77 > /sys/class/i2c-adapter/i2c-1/new_device

Ça marche !!! ;-) Encore une fois. Cette fois ci, sans programme, j’arrive a lire les valeurs de température et de pression via les commandes

cat /sys/bus/i2c/devices/1-0077/iio\:device0/in_pressure_input
qui renvoie : 101.601824218 (il faudra multiplier par 10 pour avoir la valeur en hPa)
et
cat /sys/bus/i2c/devices/1-0077/iio\:device0/in_temp_input
qui renvoie : 21420 (qu’il faudra diviser par 1000 pour avoir la valeur en degré).

Comme domoticz ne gère pas directement ce capteur, je suis obligé de passer par un dummy sensor, puis à l’actualiser via un script appelé toutes les minutes par cron.

Mais ça marche enfin, j’ai accès aux valeurs via domoticz (interface et web service REST). Je peux aussi afficher ces valeurs via munin (via les web services domoticz, de manière unifiée avec mes autres capteurs Oregon Scientific)

Une bonne chose de faite. J’attends maintenant un capteur BME280 (capteur comme le BMP280 mais avec l’humidité en plus). Il me reste plus qu’a faire un peu de soudure pour avoir une installation plus pro ...

Note : pour supprimer le peripherique, il faut faire :
echo 0x77 > /sys/class/i2c-adapter/i2c-1/delete_device




Répondre à cet article