Utiliser une sonde de mesure de température, pression et humidité relative (bme280)


Configuration

pgd@rpi01:~ $ sudo raspi-config                       

Aller dans "9 Advanced Options" puis "A6 I2C " puis "back" et "Finish"pour activer le support au niveau du noyau.

Si vous avez installé Raspbian, les pilotes pour la communication I²C sont désactivés par défaut. Pour les activer, vous devez aller dans les paramètres du Pi.
Pour ce faire, aller dans le menu principal, puis Preferences et Raspberry Pi Configuration. Puis, sous l’onglet Interfaces, sélectionner enabled pour I²C

Brancher la sonde

Sonde :
  • fil rouge : power (3,6 V max)
  • fil noir : gnd (masse)
  • fil vert : sda
  • fil bleu : scl

    Schéma :
    Carte de circuits imprimés Desc Broches d’en-tête GPIO
    VCC 3.3V P1-01
    GND Terre P1-06
    SCL I2C SCL P1-05
    ADD I2C SDA P1-03


    Installation logicielle

    Pour tester la présence de la sonde :
    pgd@rpi01:~ $ sudo i2cdetect -y 1                     

    Le résultat doit montrer que l’adresse est bien 0x76 lorsque SD0=0 (relié à GND).

    pgd@rpi01:~ $ wget -O bme280.py http://bit.ly/bme280py

    ou bien
    pgd@rpi01:~ $ wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py


    Pour tester :
    pgd@rpi01:~ $ python bme280.py                        

    Le résultat doit afficher la température, la pression et l'humidité

    Si besoin, installer python et i2c-tools :
    pgd@rpi01:~ $ sudo apt-get install python-smbus       

    pgd@rpi01:~ $ sudo apt-get install i2c-tools          


    Scripts python

    pgd@rpi01:~ $ sudo nano PGdTempPressHumi.py           

    # -*- coding: utf-8 -*-                 
    import bme280                           
    import time                             
                                            
    while True:                             
    temperature,pression,humidite = bme280.readBME280All()
    print "Temp : ", temperature, "°C \t P : ", pression, "hPa \t HR : ", humidite, "%"
    time.sleep(2)                           

    pgd@rpi01:~ $ python PGdTempPressHumi.py              



    pgd@rpi01:~ $ sudo nano PGdTempPressHumi_batch.py     

    #===============================================================================
    import bme280                           
    import time                             
    from datetime import datetime           
                                            
    #===============================================================================
    while True:                             
    temperature,pression,humidite = bme280.readBME280All()
    now = datetime.now()                    
                                            
    logFile = open("log_temp-press-humi.csv", "a")
    logFile.write(now.strftime("%Y-%m-%d") + ";" + now.strftime("%H:%M:%S") + ";" + str(temperature) + ";" + str(pression) + ";" + str(humidite) + "\n")
    logFile.close()                         
                                            
    time.sleep(2 * 60 * 20) # 20 min    
                                            
    #===============================================================================

    pgd@rpi01:~ $ python PGdTempPressHumi_batch.py        


    Interprétation des variations de pression

    La pression oscille entre 960 et 1060 hectoPascal (l’unité de mesure de la pression atmosphérique). Il faut alors savoir que la pression atmosphérique moyenne au niveau de la mer est de 1013 hPa : c’est un chiffre important pour pouvoir bien interpréter les résultats que donne le baromètre.
  • plus la pression atmosphérique baisse, plus le temps est mauvais : pluie, froid, grisaille, nuages, etc.
  • plus la pression atmosphérique augmente, plus la température sera douce, le soleil au rendez-vous et le climat agréable.

    Il faut également savoir analyser les variations de pression, car ce sont surtout elles qui permettent de prévoir le temps à venir.
  • une pression constante, avec peu de variations, est généralement synonyme de beau temps.
  • une pression atmosphérique qui grimpe rapidement alors que le temps est changeant signifie que la météo s’améliore. Plus elle s’approche des 1015hPa et si elle les dépasse, il y a de fortes chances que le beau temps s’installe.
  • si la pression atmosphérique diminue à un rythme soutenu, l’orage est probable.
  • si la pression descend sous les 1000hPa, voire même les 990hPa ou les 980hPa, il y a un risque de tempête.
  • si la pression baisse de manière calme et passe en dessous de 1015hPa, cela veut tout simplement dire que la pluie arrive et qu’elle devrait durer pendant quelques heures… voire plusieurs jours, tant qu’il n’y a aucune remontée de la pression atmosphérique.
  • une pression forte signale d'avantage un temps calme qu’un climat réellement agréable.