跳转到主要内容

Inky pHAT驱动程序

项目描述

Inky

Build Status Coverage Status PyPi Package Python Versions

Inky是用于Inky pHATInky wHATInky 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桌面上的菜单 -> 附件 -> 终端启动终端,如下所示

Finding the terminal

在新终端窗口中,键入以下命令(请检查是否有误)并按照屏幕上的说明操作

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.REDinky.YELLOWinky.WHITEinky.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

  • 初始发布

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

inky-2.0.0.tar.gz (12.4 MB 查看哈希值)

上传时间 源代码

构建分发

inky-2.0.0-py3-none-any.whl (40.6 kB 查看哈希值)

上传时间 Python 3

由以下组织支持