Mahlzeit zusammen,
ich möchte den ermittelten Wert eines bh1750 Helligkeitssensor (I2C Bus) an ein Item übergeben.
Hört sich harmlos an, ich kriegs nicht hin...!
hier die Logik:
mit sh.raum.lux(luxtp) hätt ichs versucht zu übergeben, aber ohne Erfolg.
Ich habe natürlich verschiedene Code Varianten versucht.
Ich bin jetzt auch nicht der python Profi, vielleicht kann mir hier jemand weiterhelfen.
ich möchte den ermittelten Wert eines bh1750 Helligkeitssensor (I2C Bus) an ein Item übergeben.
Hört sich harmlos an, ich kriegs nicht hin...!
hier die Logik:
#!/usr/bin/ python
import smbus
import time
# Define some constants from the datasheet
DEVICE = 0x23 # Default device I2C address
POWER_DOWN = 0x00 # No active state
POWER_ON = 0x01 # Power on
RESET = 0x07 # Reset data register value
ONE_TIME_HIGH_RES_MODE = 0x20
bus = smbus.SMBus(1) # Rev 2 Pi uses 1
def convertToNumber(data):
# Simple function to convert 2 bytes of data
# into a decimal number
return ((data[1] + (256 * data[0])) / 1.2)
def readLight(addr=DEVICE):
data = bus.read_i2c_block_data(addr,ONE_TIME_HIGH_RES_MOD E)
return convertToNumber(data)
def main():
luxtp = '{:3.1f}'.format(readLight())
sh.raum.lux(luxtp)
if __name__=="__main__":
main()
import smbus
import time
# Define some constants from the datasheet
DEVICE = 0x23 # Default device I2C address
POWER_DOWN = 0x00 # No active state
POWER_ON = 0x01 # Power on
RESET = 0x07 # Reset data register value
ONE_TIME_HIGH_RES_MODE = 0x20
bus = smbus.SMBus(1) # Rev 2 Pi uses 1
def convertToNumber(data):
# Simple function to convert 2 bytes of data
# into a decimal number
return ((data[1] + (256 * data[0])) / 1.2)
def readLight(addr=DEVICE):
data = bus.read_i2c_block_data(addr,ONE_TIME_HIGH_RES_MOD E)
return convertToNumber(data)
def main():
luxtp = '{:3.1f}'.format(readLight())
sh.raum.lux(luxtp)
if __name__=="__main__":
main()
Ich habe natürlich verschiedene Code Varianten versucht.
Ich bin jetzt auch nicht der python Profi, vielleicht kann mir hier jemand weiterhelfen.
Kommentar