显示树莓派工作状态

它是如何工作的?

完成后,您将可以从 PC 上的浏览器窗口更新状态屏幕。您将导航到本地的 lcd.html 页面,然后 ** 单击按钮 以更改状态。

例如,如果您单击 “正在开会”

您的 LCD 屏幕将显示:” 在下午 2:12 的会议中”(下午 2:12 表示您单击按钮时的时间戳记)

下面是示例代码中包含的消息,但是您可以根据需要更改消息。

  • 状态:可用
  • 状态:忙
  • 状态:离开
  • 在通电话
  • 在开会
  • 视像通话
  • 评分纸

您需要:

  • 具有预焊接的 GPIO 头的树莓派 Zero W
  • 电源 /microSD 卡 / 键盘 / 鼠标 / 显示器 / HDMI 电缆 (适用于树莓派)
  • 带有 I2C 背包的 16x2 液晶屏
  • 小螺丝刀可调节 LCD 屏幕的对比度
  • 母对母跳线

可选:

  • 3D 打印树莓派
  • LCD 屏幕的外壳。

该机箱需要 8 个 M2.5 螺钉和图片悬挂硬件。

第 1 部分:硬件组装

在本节中,我们将把树莓派连接到 LCD 屏幕并打开树莓派。

从 LCD 屏幕上的 I2C 背包 (使用 4 条母对母跳线)

  1. 将 GND 连接到树莓派上的接地引脚
  2. ** 将 VCC 连接到树莓派上的 5V (引脚 2)**。
  3. 将 SDA 连接到树莓派上的引脚 3
  4. 将 SCL 连接到树莓派上的引脚 5

标准树莓派设置

  1. 插入用树莓派 OS 格式化的 microSD 卡
  2. 将键盘,鼠标和显示器 连接到树莓派。
  3. 将电源 连接到树莓派。

可选情况

有一个可选案例,可以为此项目进行 3D 打印用于打印的 STL 文件位于此处。该表壳适合带有接头的树莓派 ZeroW 。

1 将树莓派 Zero W 推入装入 4 针的外壳底部。

2 使用 4 个 M2.5 螺钉,将 LCD 屏幕固定在盖子上 / 机壳的前面,

为了将电线和带有 I2C 背包的 LCD 屏幕装入外壳,我略微弯曲了 I2C 背包的插针,然后插入了 4 条母对母电线。

3 延迟将盖子固定在机壳上,直到在本教程后面的 LCD 屏幕对比度调整之后。

第 2 部分:设置液晶显示器

在本节中,我们将设置 HQ 相机拍照。

1 启动您的树莓派。如果您还没有 microSD 卡,请参阅我们的文章如何首次设置树莓派或如何进行无头树莓派安装。

2 从树莓派 OS GUI 的” 首选项” 菜单中打开树莓派配置工具

3 ** 在” 接口” 标签上启用”I2C”**。

4 点击确定以关闭窗口。

5 打开终端。可以通过按 CTRL + T 来完成。

6 克隆此存储库:

git clone https://github.com/carolinedunn/WFH_LCD 

7 导航到您刚刚创建的目录

光盘 WFH_LCD 

8 通过输入终端测试您的设置

python lcd_disp.py 

9 使用螺丝刀调整屏幕背面的对比度转盘,直到您对输出感到满意为止。

现在,您应该在 LCD 屏幕上看到显示” 欢迎使用 Tom 的硬件!” 的文本。

可选: 作为附带项目,我提供了用于数字时钟显示的代码。运行 lcd \ _disp.py 代码后,现在在终端中输入** python clock.py **并在 LCD 显示屏上查看当前时间。

如果 LCD 屏幕上显示的时间不正确,请转到” 树莓派配置”(如步骤 2 所示) 的” 本地化” 标签,然后单击” 设置时区 “到您的时区。

第 3 部分:消息传递和 API 设置

在本节中,我们将测试并设置工作状态指示器。

1 导航到文件管理器中的 WFH \ _LCD 文件夹。 ** 在 Geany 或 Thonny 中打开 test \ _messages.py **。

2 通过单击 Geany 中的纸飞机图标或 Thonny 中的” 运行” 按钮来运行 test \ _messages.py 代码 **。

现在,您应该在 LCD 屏幕上看到各种状态消息,每个状态消息显示 2 秒钟。

3 要停止消息时,请按 CTRL + C 。

有关 ** test \ _messages.py ** 的代码注释

  • ** 命令 mylcd.lcd \ _display \ _screen ** 指的是 github 软件包 https://github.com/carolinedunn/WFH _LCD 中包含的文件 i2c \ _lcd \ _driver.py **
  • 在您的 LCD 屏幕上,有 ** 2 行,每行包含 16 个字符 **。
  • ** mylcd.lcd \ _display \ _string (“Welcome to”, 1)** 指示 Pi 在 LCD 显示屏的第一行上显示”Welcome to”。第一个参数是文本,第二个参数是 LCD 屏幕的行号。如果您的字符串 (第一个参数) 长于 16 个字符,则 LCD 屏幕上只会显示前 16 个字符。
  • 函数 ** currentTime ()** 获取当前时间并将其格式化为 Hour:Minute AM/PM 字符串,即”9:34 AM”
  • 如果显示的时间不正确,请转到树莓派配置 -> 本地化选项卡,然后将” 设置时区” 设置为您的时区。
  • ** sleep (2)** 告诉您的 Pi 在继续前进之前将每条消息显示 2 秒钟。
  • ** mylcd.lcd \ _clear ()** 告诉您的 Pi 清除 LCD 。

返回教程:

4 可选:现在,您可以将文本 ** 更改为您选择的消息。

5 运行更新的代码,以在 LCD 屏幕上看到您的文本。

6 打开 status.py ** 以在 Geany 或 Thonny 中进行编辑。您可以在文件管理器的 WFH \ _LCD 文件夹 ** 中找到它。

7 通过单击 Geany 中的纸飞机图标或 Thonny 中的运行按钮来 ** 运行 status.py ** 代码。 LCD 屏幕此时不应改变。

8 启动您的 Chromium 浏览器

9 导航到”http://raspberrypi:5000/api/busy"(假设”raspberrypi” 是您的招待员),您的 LCD 屏幕应随 Pi 的当前时间更新为” 状态:忙”。

有关 status.py 的代码注释

此 Python 代码创建可从网络上其他设备调用的 API 。要对此进行测试,请转到台式计算机,键入 Pi 的主机名,然后键入”:5000/api/busy”(例如:[http://raspberrypi:5000/api/busy](http://raspberrypi: 5000/api/busy)),以查看 LCD 屏幕上的文本更改为” 状态:忙”
例如,如果您的 Pi 的主机名是 raspberrypi (默认主机名),请在台式计算机的浏览器中输入以下 URL”http://raspberrypi:5000/api/away", LCD 屏幕上的文本现在将显示为
“状态:离开”**
代码 **”@ app.route (‘/api/available’, Methods = \ [‘GET’])”** 告诉 Pi 映射’/api/available’使用以下命令运行功能 switchAvailable () REST API GET 请求
函数
switchAvailable ()** 设置 LCD 屏幕上的文本,类似于在 test \ _messages.py ** 中看到的文本

此时,您可以将 LCD 文本功能自定义为适合您目的的状态,并记下可以更改,添加或删除的 API 名称。例如,如果您添加了” 写书” 功能,则需要创建一个 API 调用,也许是对”status.py” 的”api/book”。
在进行下一步之前,请不要忘记在 Chromium 中测试所有 API 调用。

要在 Chromium 中测试的网址

单独测试 API 调用可能很乏味。如果我们创建了一个带有按钮的网站来代替点击每个 API 怎么办?我们将在下一步中进行操作。

第 4 部分:从桌面更新您的 Pi 并设置 Python 脚本在启动时运行

重要提示:在此步骤中,您的台式计算机和树莓派必须都连接到同一 WiFi 网络。

1 如果您在上一步中通过添加或删除按钮对 status.py 进行了更改,则需要对 html 文件进行相应的更改。为此,请从文件管理器转到 /home/pi/WFH_LCD/templates,然后右键单击 lcd.html。选择”Geany” 作为您的编辑工具。如果您在 ** status.py 中添加了 API 调用,那么您将需要在 lcd.html 中添加相应的按钮, API 调用功能 **。 *

  • lcd.html 上的代码注释
  • 此 HTML 文档中有 3 个主要部分。
  • 第 1 节为每个状态条目创建图形按钮。
  • 第 2 节将 API 调用映射到变量。
  • 第 3 节是在按下按钮进行 API 调用并记录网页上最后单击状态时执行的功能的列表。

返回教程:

2 您可能需要停止并重新启动 Geany 或 Thonny 的 status.py **。在继续下一步之前,请确保 status.py 正在运行。

3 在 Chromium 中导航至 http://raspberrypi.local:5000

4 点击每个按钮以再次测试您的 API 调用。

5 现在转到桌面 Internet 浏览器并导航到: http://raspberrypi.local:5000/

6 单击任何状态按钮,然后观察您的 Pi 的 LCD 文本更改。

现在,让我们回到树莓派并设置 status.py 代码以在启动时运行。

1 打开终端

2 输入验证码

 sudo  nano /home/pi/.bashrc 

3 在.bashrc 的底部输入以下文本

python /home/pi/WFH_LCD/status.py 

4 按 Ctrl-X 退出,按 Y 保存。

5 重启您的 Pi 。

Pi 重启后,它将每次自动运行 ** status.py ** python 脚本。

分享到