这个python模块允许smbus通过linux主机上的i2c/dev接口进行访问。主机内核必须具有I2C支持、I2C设备接口支持和总线适配器驱动程序。
smbus-cffi的Python项目详细描述
这个python模块允许smbus通过linux上的i2c/dev接口进行访问 东道主。主机内核必须支持I2C、I2C设备接口和 总线适配器驱动程序。
此模块是基于cffi的python重新实现python smbus c扩展 (http://www.lm-sensors.org/browser/i2c-tools/trunk/py-smbus/)在pypy上工作 和cpython(2.6及以上)。
注释
smbus方法read_block_data和block_process_call未经充分测试, 可能无法正常工作,请参阅下面的注释。
对覆盆子pi用户的注意事项:调用read_block_data和 块进程调用底层i2c/smbus库/驱动程序导致内核 覆盆子皮上的恐慌。在其他硬件上测试这些特性 很好的贡献方式。
示例
假设您在总线上的地址4连接了一个设备
>>> from smbus import SMBus >>> bus = SMBus(4) >>> bus.write_quick() >>> some_reg = 123 >>> bus.write_i2c_block_data(4, some_reg, [1, 4, 7])
依赖关系
要安装smbus cffi,您需要:
- C编译器
- I2C开发标题
- cffi(https://pypi.python.org/pypi/cffi/)
- pypy或cpython开发标题
- cffi需要libffi dev cpython
https://metacpan.org/pod/Device::SMBus提供了有关如何设置依赖项的详细说明。
在基于Debian的发行版上,这些发行版可以安装:
sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
在Arch Linux上:
pacman -S base-devel pacman -S i2c-tools
最后使用pip或从源代码安装cffi。
pip install cffi
安装
安装软件包有几种方法。首先按照上述说明安装依赖项。注意:不幸的是 在cpython上使用pip或setup.py安装时,需要确保 cffi软件包已经安装。
一。从pypi安装pip
pip install smbus-cffi
2.从git安装pip
pip install git+https://github.com/bivab/smbus-cffi.git
三。克隆存储库并运行setup.py
git clone https://github.com/bivab/smbus-cffi.git python setup.py install
开发
您可以从github托管的存储库中获取最新版本 https://github.com/bivab/smbus-cffi
文件requirements.txt包含需要使用的依赖项列表 中小企业CFFI。
该项目使用py.test进行测试,使用tox对pypy和python进行测试。
文件test/test_smbus_integration.py包含一组集成测试 smbus包装器。要运行集成测试,您需要一个Arduino板 与测试/测试草图中提供的草图一起闪烁。串行端口和 Arduino板的I2C引脚需要连接到运行 测验。该草图实现了smbus协议的副本,该协议读取 并使用smbus和串行端口为每个测试写入数据。
版权所有
此程序是免费软件;您可以重新分发和/或修改 根据由 自由软件基金会;许可证的第2版。
有关完整的许可文本,请参见许可证