I just got my TSL2561 connected to a WEMOS D1 Mini working. Works great, much easier then when it was connected directly to my RPi with a very long cable.
I do notice a very large difference in the values produced with this setup and with the Python script I used before. This is a bit hairy, because my whole Domoticz is setup on these "old" values. I tried to replicate the output from the script in ESPEasy, but I'm missing a second value, that is used to calculate the outcome in the script (which I did't write myself BTW).
The script is:
Code: Select all
# TSL2561 import smbus import time # Get I2C bus bus = smbus.SMBus(1) # TSL2561 address, 0x39(57) # Select control register, 0x00(00) with command register, 0x80(128) # 0x03(03) Power ON mode bus.write_byte_data(0x39, 0x00 | 0x80, 0x03) # TSL2561 address, 0x39(57) # Select timing register, 0x01(01) with command register, 0x80(128) # 0x02(02) Nominal integration time = 402ms bus.write_byte_data(0x39, 0x01 | 0x80, 0x02) time.sleep(0.5) # Read data back from 0x0C(12) with command register, 0x80(128), 2 bytes # ch0 LSB, ch0 MSB data = bus.read_i2c_block_data(0x39, 0x0C | 0x80, 2) # Read data back from 0x0E(14) with command register, 0x80(128), 2 bytes # ch1 LSB, ch1 MSB data1 = bus.read_i2c_block_data(0x39, 0x0E | 0x80, 2) # Convert the data ch0 = data * 256 + data ch1 = data1 * 256 + data1 # Output data to screen print "Full Spectrum(IR + Visible) :%d lux" %ch0 print "Infrared Value :%d lux" %ch1 print "Visible Value :%d lux" %(ch0 - ch1)
With kind regards,