Last updated:
0 purchases
pythontsl2591 0.2.0
TSL2591 Python Library
This is a simple python library for the Adafruit TSL2591 breakout board based on the Arduino library from Adafruit. It was developed to work on a Raspberry PI.
Requirements
To use this library, you must have the following:
TSL2591 sensor (not the TSL2561)
I2C enabled device
Python 3 (though Python 2 should technically still work)
Installation
This module can be installed using pip (and can find a copy of this module on PyPi).
pip install python-tsl2591
Quickstart
This library comes with an example file you can use, or you can copy and paste the following:
from python_tsl2591 import tsl2591
import time
if __name__ == '__main__':
tsl = tsl2591() # initialize
# full, ir = tsl.get_full_luminosity() # Read raw values (full spectrum and infared spectrum).
# lux = tsl.calculate_lux(full, ir) # Convert raw values to Lux.
while True:
print(tsl.get_current()) # Return object with all values.
# print (lux, full, ir)
time.sleep(2)
Install from Source
You can also install this Python module from source:
git clone https://github.com/kyletaylored/python-tsl2591
cd python-tsl2591
python setup.py install
Enabling I2C on your Raspberry Pi
You can enable I2C on the Raspberry Pi by following the instructions on Adafruit.
The quick version is:
Run sudo raspi-config
Select Advanced Options
Enable I2C
Reboot (sudo reboot)
When testing I2C (sudo i2cdetect -y 1), you should see at least one connected device, your TSL2591 at 0x29. For more information, see the FAQ.
FAQ
Fatal error (deprecated)
UPDATE: We have integrated the smbus2 library, which is an smbus library built in Python, and does not require any system packages like smbus-cffi or libffi-dev.
If you do not have those Raspbian packages installed prior to installing this library, you will run into errors that look similar to this.
fatal error: ffi.h: No such file or directory
#include <ffi.h>
^
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
I2C Check for Static Address
Because the TSL2591 connects via I2C, it's always good to run the I2C detection to verify the address is being read. Unlike the TSL2561 with programmable addresses, the TSL2591's address is hard coded and cannot be changed - thus it will always show 0x29.
In the example output below, you can see there are two I2C devices detected, one being the TSL2591.
pi@raspberrypi:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
License
Python files in this repository are released under the MIT license.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.