Quick Start =========== SensorBridge Example -------------------- Following example code shows how to use this driver with a Sensirion STC3x connected to the computer using a `Sensirion SEK-SensorBridge`_. It is assumed, that the sensor is plugged into port 1 of the SensorBridge and COM Port 1 is used on the computer. The driver for the SensorBridge can be installed with .. sourcecode:: bash pip install sensirion-shdlc-sensorbridge .. sourcecode:: python import time from sensirion_i2c_driver import I2cConnection from sensirion_shdlc_driver import ShdlcSerialPort, ShdlcConnection from sensirion_shdlc_sensorbridge import SensorBridgePort, \ SensorBridgeShdlcDevice, SensorBridgeI2cProxy from sensirion_i2c_stc import Stc3xI2cDevice from sensirion_i2c_stc.stc3x.data_types import Stc31BinaryGas # Connect to the SensorBridge with default settings: # - baudrate: 460800 # - slave address: 0 with ShdlcSerialPort(port='COM1', baudrate=460800) as port: bridge = SensorBridgeShdlcDevice(ShdlcConnection(port), slave_address=0) print("SensorBridge SN: {}".format(bridge.get_serial_number())) # Configure SensorBridge port 1 for STC3x bridge.set_i2c_frequency(SensorBridgePort.ONE, frequency=400e3) bridge.set_supply_voltage(SensorBridgePort.ONE, voltage=3.3) bridge.switch_supply_on(SensorBridgePort.ONE) # Create STC3x device i2c_transceiver = SensorBridgeI2cProxy(bridge, port=SensorBridgePort.ONE) stc3x = Stc3xI2cDevice(I2cConnection(i2c_transceiver)) # set binary gas stc3x.set_bianry_gas(Stc31BinaryGas.Co2InAirRange100) # Measure once per second while True: time.sleep(1) gas_concentration, temperature = stc3x.measure_gas_concentration() # use default formatting for printing output: print("{}, {}".format(gas_concentration, temperature)) # custom printing of attributes: print( "{:0.2f} vol% ({} ticks), {:0.2f} °F ({} ticks)".format( gas_concentration.vol_percent, gas_concentration.ticks, temperature.degrees_fahrenheit, temperature.ticks)) .. _Sensirion SEK-SensorBridge: https://www.sensirion.com/sensorbridge/