适用于Raspberry Pi的Pimoroni Fan Shim的Python库
项目描述
Fan Shim for Raspberry Pi
安装
来自PyPi的稳定库
- 只需运行
sudo pip install fanshim
来自GitHub的最新/开发库
apt install git python3-pip
git clone https://github.com/pimoroni/fanshim-python
cd fanshim-python
sudo ./install.sh
参考
您应首先设置一个FANShim
类的实例,例如
from fanshim import FanShim
fanshim = FanShim()
风扇
用以下方法打开风扇
fanshim.set_fan(True)
用以下方法关闭它
fanshim.set_fan(False)
您还可以使用以下方法切换风扇
fanshim.toggle_fan()
您可以使用以下方法检查风扇的状态
fanshim.get_fan() # returns 1 for 'on', 0 for 'off'
LED
Fan Shim包含一个RGB APA-102 LED。
使用以下方法将其设置为任何颜色
fanshim.set_light(r, g, b)
r、g和b的参数应该是介于0和255之间的数字,描述您想要的颜色。
例如,全红色
fanshim.set_light(255, 0, 0)
按钮
Fan Shim包含一个按钮,您可以将动作绑定到按下、释放和保持事件。
当按钮被按下时执行某些操作
@fanshim.on_press()
def button_pressed():
print("The button has been pressed!")
或者当它被释放时
@fanshim.on_release()
def button_released(was_held):
print("The button has been pressed!")
或者当它被按下足够长的时间以触发保持时
fanshim.set_hold_time(2.0)
@fanshim.on_hold()
def button_held():
print("The button was held for 2 seconds")
您绑定到on_release()
的功能会传递一个was_held
参数,这可以让您知道按钮是否被按下了比配置的保持时间更长的时间。如果您想将一个动作绑定到“按下”并将另一个绑定到“保持”,您应该检查此标志并在on_release()
处理程序中执行您的操作
@fanshim.on_release()
def button_released(was_held):
if was_held:
print("Long press!")
else:
print("Short press!")
要配置按钮应该保持的时间量(以秒为单位),请使用
fanshim.set_hold_time(number_of_seconds)
如果您需要停止Fan Shim轮询按钮,请使用
fanshim.stop_polling()
您可以使用以下方式重新启动:
fanshim.start_polling()
备用软件
- 使用C语言和WiringPi的Fan SHIM - https://github.com/flobernd/raspi-fanshim
- 使用C++和libgpiod的Fan SHIM - https://github.com/daviehh/fanshim-cpp
0.0.5
- 用APA102库替换Plasma API
- 添加设置LED全局亮度的支持
- 添加禁用按钮和/或LED的支持
- 将packages/requires移动到setup.config,现在最低版本为Python 2.7
0.0.4
- 准备Fan SHIM使用旧版Plasma API
0.0.3
- 修复:降低轮询频率并使其可定制,针对PR #6
0.0.2
- 修复:修复退出时的错误
0.0.1
- 初始发布
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
fanshim-0.0.5.tar.gz (5.1 kB 查看散列)
构建的分发
fanshim-0.0.5-py3-none-any.whl (4.8 kB 查看散列)
fanshim-0.0.5-py2-none-any.whl (4.8 kB 查看散列)