Inky pHAT驱动程序
项目描述
Inky
Inky是用于Inky pHAT、Inky wHAT和Inky Impression电子纸显示器的Python库,适用于Raspberry Pi。
Inky pHAT
Inky pHAT是一款250x122像素的电子纸显示器,提供红/黑/白、黄/黑/白和黑/白颜色。非常适合标签和显示非常低频率的信息,如每日日历或天气概述。
Inky wHAT
Inky wHAT是一款400x300像素的电子纸显示器,提供红/黑/白、黄/黑/白和黑/白颜色。具有高分辨率,非常适合详细的每日待办事项列表、多日天气预报、公交车时刻表等。
Inky Impression
Inky Impression是我们系列中的7色eInk显示屏,有4英寸(640 x 400像素)5.7英寸(600 x 448像素)和7.3英寸(800 x 480像素)可供选择。它们色彩鲜艳,非常适合显示醒目的图形或大量数据。
安装
安装
我们建议使用Raspberry Pi OS Bookworm或更高版本的操作系统。它需要Python ≥3.7。
完整安装(推荐)
我们创建了一个简单的安装脚本,它会安装所有必需的组件,并让您轻松上手。要运行它,请在Raspberry Pi桌面上的菜单 -> 附件 -> 终端启动终端,如下所示
在新终端窗口中,键入以下命令(请检查是否有误)并按照屏幕上的说明操作
git clone https://github.com/pimoroni/inky
cd inky
./install.sh
注意 库将安装在“pimoroni”虚拟环境中,您需要激活它来运行示例
source ~/.virtualenvs/pimoroni/bin/activate
开发
如果您想贡献,或者喜欢生活在前沿,可以安装开发版本,如下所示
git clone https://github.com/pimoroni/inky
cd inky
./install.sh --unstable
从PyPi安装稳定库并手动配置
- 设置虚拟环境:
python3 -m venv --system-site-packages $HOME/.virtualenvs/pimoroni
- 切换到虚拟环境:
source ~/.virtualenvs/pimoroni/bin/activate
- 安装库:
pip install inky
在某些情况下,您可能需要使用sudo
或使用以下命令安装pip:sudo apt install python3-pip
。
这不会进行任何配置更改,因此您可能还需要启用
- i2c:
sudo raspi-config nonint do_i2c 0
- spi:
sudo raspi-config nonint do_spi 0
您可以选择运行sudo raspi-config
或图形化Raspberry Pi配置UI来启用接口。
使用
该库应使用Python 3运行。
自动设置
Inky可以尝试自动识别您的板(从其EEPROM中存储的信息),并相应地进行设置。这是处理最新Inky显示屏的最简单方法。
from inky.auto import auto
display = auto()
然后您可以从板上获取颜色和分辨率
display.colour
display.resolution
手动设置
如果您有旧型号的Inky没有EEPROM,您可以手动指定类型。Inky库包含pHAT和wHAT的模块,如下加载Inky pHAT
from inky import InkyPHAT
然后您需要选择颜色,可以是'red'、'yellow'或'black'之一,并实例化该类
display = InkyPHAT('red')
如果您使用的是wHAT,您需要从Inky库中加载InkyWHAT类,如下所示
from inky import InkyWHAT
display = InkyWHAT('red')
初始化Inky后,您只需要关注三个方法
设置图像
将PIL图像、numpy数组或列表设置到Inky的内部缓冲区。图像尺寸应与您使用的pHAT或wHAT的尺寸匹配。
display.set_image(image)
您应该使用PIL
来创建图像。PIL
提供了一个ImageDraw
模块,允许您在图像上绘制文本、线条和形状。请参阅:https://pillow.ac.cn/en/stable/reference/ImageDraw.html
设置边框
设置pHAT或wHAT的边框颜色。
display.set_border(colour)
colour
应该是inky.RED
、inky.YELLOW
、inky.WHITE
或inky.BLACK
之一,具体颜色取决于您的显示屏类型。
更新显示屏
准备好并设置好您的图像,并选择好边框颜色后,您可以使用以下命令更新您的电子墨水显示屏
display.show()
迁移
如果您正在从旧的 inkyphat
库迁移代码,您会发现 Inky 中已经移除了许多绘图和图像处理函数。这些函数一直由 PIL 提供,建议使用 PIL 创建和准备图像,然后再使用 set_image()
设置到 Inky 中。
2.0.0
- 重写为 gpiod/gpiodevice。
- 重新打包到 hatch/pyproject.toml。
- 破坏性更新:修复了所有板子的芯片选择行为
1.5.0
- 新增:支持 inky impression 7.3"。
- 修复:在 uc8159 上设置 WIDTH / HEIGHT。
1.4.0
- 新增:支持 inky SSD1683 的 WHAT 变体。
1.3.2
- 修复:处理 UC8159 (Inky Impression) 的 busy_wait 失败情况。
1.3.1
- 修复:修复 UC8159,使其不再崩溃。
1.3.0
- 新增:支持 inky UC8159 的 4" 640x400 显示器变体。
- 修复:修复 set_image 以防止其破坏 set_pixel。
- 新增:向 "auto()" 添加了 --simulate,以便自动示例可以模拟所选板子。
1.2.2
- 修复:将 Impression/7Color/UC8159 的 busy wait 超时从 15 秒提高到 30 秒。
1.2.1
- 修复:修复 inky 高温红色问题。
- 增强:支持 SSD1608 (250x122) 的 set_border。
1.2.0
- 新增:支持 inky impression 的 set_border。
- 修复:修复 inky impression 的橙色颜色问题。
- 修复:修复 inky impression 的 Python 2 无效参数错误。
- 新增:添加 inky impression 模拟器。
1.1.1
- 增强:使用 GPIO 驱动 UC81559 CS 以避免与 Grow 工作区的冲突。
- 添加 7-颜色/UC8159 的具体信息到 EEPROM。
- 修复:在类中定义 UC8159 颜色和大小常量。
- 修复:修复 auto 以正确获取参数,支持 UC8159 并优雅地回退。
1.1.0
- 新增:支持基于 UC8159 的 7-颜色 600x448 显示器。
- 增强:auto 现在包括回退选项。
- 增强:EEPROM 现在可以提供显示变体的文本字符串。
1.0.2
- 增强:始终安装 Pi 依赖项。
1.0.1
- 增强:调整 setup.py extras 以便更容易安装依赖项。
1.0.0
- 新增:支持基于 SSD1608 的显示器。
- 新增:模拟 Inky pHAT 和 wHAT 显示器。
- 新增:自动检测 Inky 并创建类构造函数。
- 增强:支持在读取 eeprom 时使用备用 i2c_bus。
- 增强:支持备用 spi_bus。
- 增强:支持备用 GPIO 驱动。
- 增强:将 sys.exit 调用替换为 ImportError。
- 增强:改进 docstrings。
0.0.5
- 增强:添加对红色/黑白高温 Inky wHAT 的支持。
0.0.4
- 修复:将正常红色 LUTs 恢复到正确值。
0.0.3
- 增强:添加对显示变体检测的支持。
- 增强:添加 DocStrings。
- 修复:修复所有颜色的 set_border。
0.0.2
- 修复:黄色 Inky pHAT 现在是黄色而不是棕色/黑色。
- 增强:对 set_image 进行性能调整。
0.0.1
- 初始发布
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。