这个python模块允许smbus通过linux主机上的i2c/dev接口进行访问。主机内核必须具有I2C支持、I2C设备接口支持和总线适配器驱动程序。

mysmbus的Python项目详细描述


https://secure.travis-ci.org/bivab/smbus-cffi.svgLatest VersionImplementationLicenseDownload formatRequirements Status

这个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,您需要:

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/issues

开发

您可以从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和串行端口为每个测试写入数据。

作者

  • 大卫·施耐德

原始SMBus C扩展的作者:

  • 马克·霍夫曼

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

推荐PyPI第三方库


热门话题
java在某些练习中避免索引异常   java Android,如何在具有socket的网络区域上提高性能?   更改web中的执行顺序后,JavaServlet过滤器不起作用。xml   java如何绑定泛型类?   JavaGmail RESTAPI:使用Google凭证而不模拟   java是解码整数序列的最快方法   java根据hashmaps的值(通过map的值进行比较)对hashmaps的数组列表进行排序   用于JBoss 7.1或Apache的java负载平衡器,带有Healt检查   java非常慢的MySQL读取性能   java如何在使用iRetryAnalyzer时从Windows CMD关闭Selenium WebDriver?   java随机闪烁仅出现在Galaxy Note 4上   java AttributeOverride MappedSuperClass属性的类型不同   java JPA:如何检测现有实体是否已更新?   java如何使用mavenassemblyplugin从dependencySet中删除METAINF?   安装SecurityManager时,java MQQueueManager构造函数挂起