#!/usr/bin/env python3.x # #----------------------------------------------------------------------------- # # Programme de publication sur MQTT de la pression du LPS25HB sur bus I2C # #----------------------------------------------------------------------------- import paho.mqtt.client as mqtt import smbus # Recuperation des informations # Donnees pour le LPS25HB dont son addresse sur cartelette Pololu address=0x5d CTL_REG1=0x20 CTL_REG1_VALUE=0xb0 PRESS_OUT_XLauto=0xa8 # Ouverture du bus et echanges I2C bus=smbus.SMBus(1) data=bus.write_byte_data(address, CTL_REG1, CTL_REG1_VALUE) data=bus.read_i2c_block_data(address, PRESS_OUT_XLauto, 3) pression=(data[0]+256*(data[1]+256*data[2]))/4096 pression=round(pression, 2) if(pression<800): exit() if(pression>1400): exit() MQTT_MSG="Pre= %.2f mbar" % pression # Configuration du mqtt MQTT_BROKER = "localhost" MQTT_PORT = 1883 MQTT_KEEPALIVE_INTERVAL = 45 MQTT_TOPIC = "Meteo/Capt00" # Initiate MQTT Client mqttc=mqtt.Client() # Connect with MQTT Broker mqttc.connect(MQTT_BROKER, MQTT_PORT, MQTT_KEEPALIVE_INTERVAL) # Publish message to MQTT Topic mqttc.publish(MQTT_TOPIC, MQTT_MSG) # Disconnect from MQTT_Broker mqttc.disconnect()