用于控制树莓派GPIO通道的模块
项目描述
此软件包提供了一个Python模块,用于控制树莓派的GPIO。
请注意,此模块不适用于实时或时间关键的应用。这是因为您无法预测Python何时会进行垃圾回收。它还运行在Linux内核上,这不适合实时应用 - 它是多任务操作系统,另一个进程可能会被分配更高的CPU优先级,导致程序抖动。如果您需要真正的实时性能和可预测性,请购买Arduino http://www.arduino.cc!
请注意,当前版本尚不支持RPi的SPI、I2C、硬件PWM或串行功能。这将在不久的将来实现 - 请关注这一领域!单线功能也计划实现。
虽然硬件PWM目前不可用,但所有通道上都可以使用软件PWM。
有关示例和文档,请访问 http://sourceforge.net/p/raspberry-gpio-python/wiki/Home/
变更日志
0.7.1
改进RPi板 + peri_addr检测(问题190/191)
修复Python 3.9的PyEval_InitThreads弃用警告(问题188)
修复使用GCC 10的构建(问题187)
修复文档字符串以不包括许可证
移除Debian/Raspbian stretch打包支持
使用setuptools而不是distutils
添加Zero 2 W检测
已测试并可与Python 2.7、3.7、3.8、3.9、3.10一起使用
0.7.0
更新RPI_INFO以包括RPi 4B
为Pi4设置固定上拉/下拉(问题168)
修复文档字符串中的拼写错误
在Raspbian Buster + Python 3.8.0b2上测试并正常工作
修复aarch64的板卡检测(问题161/165)
修复c_gpio.c中检查mmap返回值(问题166)
0.6.5
修复重新导出/sys/class/gpio/gpioNN时的异常
0.6.4
事件清理错误(问题145)
对于重复的PWM对象引发异常(问题54 - Thijs Schreijer <thijs@thijsschreijer.nl>)
修复构建警告(问题146 - Dominik George)
test.py在python 2和3上运行不变
软PWM停止运行修复(问题94, 111, 154)
软PWM段错误修复(Luke Allen pull request)
0.6.3
修复代码以在PyPy下构建(Gasper Zejn)
os.system破坏事件检测 - Matt Kimball(问题127)
0.6.2
重写了Debian打包机制
RPI_INFO报告Pi 3
更改模块布局 - 将C组件移动到RPi._GPIO
0.6.1
更新RPI_INFO以检测更多板卡类型
问题118 - add_event_detect有时在未授权用户下给出运行时错误
问题120 - setmode()记住无效的模式
0.6.0a3
现在如果可用则使用/dev/gpiomem来避免以root运行
修复引脚3/5上的上拉/下拉警告
当禁用devicetree时,在Pi 2上更正基本地址
编译时caddr_t错误(问题109)
setup()参数无效时出错(问题93)
为wait_for_edge()添加超时参数(问题91)
0.5.11
修复 - 使用BOARD模式时缺少>26的引脚
添加getmode()
当使用混合模式时引发异常
GPIO.cleanaup()取消设置当前引脚模式
0.5.10
问题95 - 支持RPi 2板卡
引入RPI_INFO
弃用RPI_REVISION
问题97 - 修复setup()的docstring
0.5.9
问题87 - 关于i2c引脚上的上拉/下拉警告
问题86/75 - wait_for_edge()错误修复
问题84 - 使用自定义内核时正确识别RPi
问题90 - 清理列表/元组的通道
0.5.8
在GPIO.setup()中允许列表/元组的通道
GPIO.output()现在允许列表/元组的值
GPIO.wait_for_edge()错误修复(问题78)
0.5.7
问题67 - 加快GPIO.wait_for_event()的重复调用速度
为GPIO.wait_for_event()添加bouncetime关键字
添加额外的边缘/中断单元测试
GPIO.wait_for_event()现在可以与GPIO.add_event_detect()混合使用
改进事件清理
问题69已解决
0.5.6
问题68 - 支持RPi Model B+
修复gpio_function()
0.5.5
问题52 - ‘取消分配’一个通道
问题35 - 使用GPIO.event_detected()与switchbounce
重构事件代码
重写测试以使用unittest机制和新的测试板卡以及环回
修复GPIO.cleanup()后添加事件
问题64 - 关于/dev/mem权限错误的误导
问题59 - PWM常量和类之间的名称冲突
0.5.4
更改发布状态(从alpha更改为完整发布)
当GPIO.cleanup()没有清理内容时发出警告(问题44)
避免常量之间的冲突(例如,HIGH / RISING / PUD_DOWN)
在gpio_function中接受BOARD号码(问题34)
gpio_function的更多返回值(INPUT, OUTPUT, SPI, I2C, PWM, SERIAL, UNKNOWN)
整理docstring
修复gpio_function中的/dev/mem访问错误
0.5.3a
允许非root用户使用pydoc(问题27)
修复作为守护进程运行时的add_event_detect错误(问题32)
简化异常类型
从distribute更改为pip
0.5.2a
添加了软件PWM(实验性)
将抖动处理添加到事件回调中
为事件回调添加通道号参数(问题31)
内部重构和代码整理
0.5.1a
修复了多个GPIO的回调(问题28)
0.5.0a
添加了新的边缘检测事件(中断处理) - 添加了add_event_detect() - 添加了remove_event_detect() - 添加了add_event_callback() - 添加了wait_for_edge()
删除了旧的实验性事件函数 - 删除了 set_rising_event() - 删除了 set_falling_event() - 删除了 set_high_event() - 删除了 set_low_event()
将 event_detected() 改为新的边缘检测功能
input() 现在返回 0/LOW == False 或 1/HIGH == True(整数)而不是 False 或 True(布尔值)。
修复了重复导入错误(问题 3)
将 SetupException 改为 RuntimeError 以便在导入时捕获(问题 25,Chris Hager <chris@linuxuser.at>)
改进了函数的 docstrings
0.4.2a
修复了在 Arch Linux 上安装的问题(Python 3.3)(问题 20)
设置通道为输出时的初始值(问题 19)
0.4.1a
添加了 VERSION
允许将设置为输出的通道输入(Eric Ptak <trouch@trouch.com>)
0.4.0a
添加了对 Revision 2 版板的支持
添加了 RPI_REVISION
添加了 cleanup() 函数,并在程序退出时移除了自动重置功能
添加了 get_function() 来读取现有的 GPIO 通道功能(来自 Eric Ptak <trouch@trouch.com> 的建议)
添加了 set_rising_event()
添加了 set_falling_event()
添加了 set_high_event()
添加了 set_low_event()
添加了 event_detected()
添加了 test/test.py
将 debian 转换为 armhf
修复了 C 函数 short_wait()(感谢 Thibault Porteboeuf <thibaultporteboeuf@gmail.com>)
0.3.1a
修复了输出上高低状态交换的关键错误
为输入添加了上拉/下拉设置功能
0.3.0a
重写为 C 扩展
现在使用 /dev/mem 和 SoC 寄存器而不是 /sys/class/gpio
更快!
强制调用 GPIO.setmode()
添加了 GPIO.HIGH 和 GPIO.LOW 常量
0.2.0
将状态从 alpha 改为 beta
添加了 setmode() 以便使用 BCM GPIO 00.nn 通道号
将 InvalidPinException 重命名为 InvalidChannelException
0.1.0
修复了方向错误
添加了 MANIFEST.in(包括缺少的文件)
将 GPIO 通道号更改为引脚号
测试并通过!
0.0.3a
添加了 GPIO 表
重构
修复了一些关键错误
仍然完全没有测试!
0.0.2a
内部重构。仍然完全没有测试!
0.0.1a
第一个版本。在我能够拿到 Raspberry Pi 之前完全未测试!
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
RPi.GPIO-0.7.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd61c4b03c37b62bba4a5acfea9862749c33c618e0295e7e90aa4713fb373b70 |
|
MD5 | 22704930a4e674a3d35342bde6d69fe5 |
|
BLAKE2b-256 | c40f10b524a12b3445af1c607c27b2f5ed122ef55756e29942900e5c950735f2 |