用树莓pi处理i2c传感器的库

i2csense的Python项目详细描述


另一个用于处理通过 I2c总线(SDA,SCL管脚)到Raspberry Pi

此库实现以下I2C传感器: -Bosch BME280 Environmental sensor (temperature, humidity and pressure) -HTU21D temperature and humidity sensor -BH1750FVI light level sensor

安装

此库需要启用i2c总线,并使用 smbus-cffi要与之通信的模块,因此,在安装之前 pip,确保总线已启用,以及必需的依赖项 提供:

在Raspberry PI上安装SMBus支持的说明:

使用Raspberry PI配置实用程序启用I2C接口:

# Enable i2c interface
sudo raspi-config

选择Interfacing options->I2C选择<Yes>并点击Enter, 然后转到Finish,系统将提示您重新启动。

安装依赖项以使用smbus-cffi模块并重新启动:

sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
sudo reboot

检查传感器的I2C地址

安装i2c-tools后,可以使用一个新实用程序扫描 连接的传感器地址:

/usr/sbin/i2cdetect -y 1

它将输出如下表:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

因此,您可以看到三个传感器位于0x23(bh1750)0x40 (htu21d)0x77(bme280)地址。

使用pip

安装

最后,在python环境中,

pip install i2csense

用法

此库用于其他应用程序,其中传感器 用它们的配置参数实例化,在 所需间隔。但是,如果您想通过 命令行中还提供了一个简单的cli来测试传感器。

importsmbusfromi2csense.bme280importBME280bus=smbus.Bus(1)sensor=BME280(bus)delta_secs=5whileTrue:sensor.update()ifnotsensor.sample_ok:print("An error has occured")breakprint(sensor.current_state_str)sleep(delta_secs)

cli用法

查找传感器:

i2csense
# or specify the i2c bus:
i2csense -b 0

测试传感器:

# Test BME280 sensor with default params:
i2csense -s bme280

# Test BME280 sensor with custom params every 10 secs:
i2csense -d 10 --bus 0 --address 0x77 --sensor bme280 --params osrs_t=4osrs_p=4osrs_h=4mode=2filter_mode=1

变更日志

  • v0.0.1:第一版有3个传感器:BME280、BH1750、HTU21D
  • v0.0.2:小修复
  • v0.0.3:对BH1750的小修复,修复README.rst

待办事项:

  • 附加更多传感器
  • 使用更好的帮助和更多配置选项完成CLI界面

尽管这个库只包含三个传感器,但是 继续在i2c上运行更多的传感器或执行器来完成它 巴士,所以我鼓励你贡献更多的传感器,或者复制, 更改、编辑或建议任何更改

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用唯一的按钮标签单击按钮   代码生成如何使用Java codeModel为数组的特定索引赋值   java如何批量执行Camel SQL插入   java iText 7将ltv添加到现有签名   内存管理Java应用程序突然停止几天后(810)   带MySQL的java注册表单JavaFX在intellij中失败   如何使用eclipse为windows azure java项目启用远程调试   一种通用的java输入输出设计模式   java Android XML(RSS)忽略引号(“”)   java帮助:安卓中的8 X 10 2维按钮数组   java启动Android项目   JWrapper构建java应用程序   java如何在Android应用程序中设置基于日期/时间的默认页面加载?   java循环程序在完成后返回到起点   java Hibernate:更好的整体类还是多类映射?   回溯数独解算器的递归问题[Java]   java查找类用法   java如何在SpringWebFlow中将多个模型绑定到一个视图?