Affichage dans un prog en python

Fermé
salinois_39 Messages postés 2 Date d'inscription samedi 17 novembre 2018 Statut Membre Dernière intervention 17 novembre 2018 - Modifié le 17 nov. 2018 à 18:32
salinois_39 Messages postés 2 Date d'inscription samedi 17 novembre 2018 Statut Membre Dernière intervention 17 novembre 2018 - 17 nov. 2018 à 20:08
Bonjour,

voilà , je suis en train de construire une station météo avec un Raspberry
il y a des programmes à installer en python

il y en a un qui me pose problèmes

celui-ci fonctionne:

import bme280
import smbus2
from time import sleep

port = 1
address = 0x76 # Adafruit BME280 address. Other BME280s may be different
bus = smbus2.SMBus(port)

bme280.load_calibration_params(bus,address)

while True:
    bme280_data = bme280.sample(bus,address)
    humidity  = bme280_data.humidity
    pressure  = bme280_data.pressure
    ambient_temperature = bme280_data.temperature
    print(humidity, pressure, ambient_temperature)
    sleep(1)

[affichage du résultat]
python3 bme280_sensor.py
49.87386170915514 1005.3056173438076 19.81706531813834
49.87889466012192 1005.3056173438076 19.81706531813834
49.87369521503053 1005.2437963725118 19.812088077521185
49.79333347912018 1005.2790632288619 19.81706531813834
---------------------------------------------

dans la doc ils disent de remplacer la boucle While par une fonction read_all()
voici le programme modifié:

import bme280
import smbus2
from time import sleep

port = 1
address = 0x76
bus = smbus2.SMBus(port)

bme280.load_calibration_params(bus,address)

def read_all() :
    bme280_data = bme280.sample(bus,address)
    return bme280_data.humidity, bme280_data.pressure, bme280_data.temperature

[affichage du résultat]
~/weather-station $ python3 bme280_sensor_2.py
pi@raspberrypi:~/weather-station $

mais là rien ne s'affiche, où est l'erreur , je débute et j'ai beaucoup de mal...
merci si vous pouvez m'aider

salinois_39






2 réponses

Bonsoir.

Remplacer ta boucle while par une fonction n'a pas trop de sens, qui va appeler ta fonction, comment cette fonction devra être appelée périodiquement ?

Tu es bien obligé de faire une boucle infinie pour le faire.

D'ailleurs ce que montre le site où je suppose tu as suivi cela https://projects.raspberrypi.org/en/projects/build-your-own-weather-station/3 n'a pas trop de sens ou est très mal expliqué.

Après, c'est sûr que plutôt qu'une boucle infinie, tu pourrais gérer cela avec une tâche cron système ou autre méthode ne mobilisant pas de ressources système afin d'appeler ton script périodiquement, mais ne connaissant pas du tout, mais alors pas du tout ce qui concerne le raspberrypi, c'est hors de mes connaissances.
0
salinois_39 Messages postés 2 Date d'inscription samedi 17 novembre 2018 Statut Membre Dernière intervention 17 novembre 2018
17 nov. 2018 à 20:08
yes, c'est ce que je me disais, je pense que leur modif c'est une question affichage des valeurs .....
Raspberry c'est du linux
0