Skip to main content

使用 Wio Terminal 为 Windows/MacOS 构建 HMI 显示器

在本教程中,我们将介绍如何使用 Wio Terminal 作为 HMI 显示器,使用在 Windows/Linux/Mac OS 上运行的用户模式 SDK。这扩展了 Wio Terminal 在工业应用中的可能性!

如果您想将 Wio Terminal 与树莓派一起用作 HMI 显示器,请查看此教程

所需硬件

Wio Terminal 固件

首先,您需要通过 PC 将 Arduino 程序上传到您的 Wio Terminal。

有两个示例NullFunctionalUSBDisplayAndMouseControl

  1. 如果您想要在 Wio Terminal 上获得更高的屏幕刷新率,请将 NullFunctional 上传到 Wio Terminal。
  2. 如果您想要Wio Terminal 同时充当 USB 鼠标,请将 USBDisplayAndMouseControl 上传到 Wio Terminal。
note

确保阅读注释,对于用户模式 SDK,USBDISP().begin(true); 变为 USBDISP().begin(true, true);

uf2 方法

为了方便起见,我们还提供了上传 Wio Terminal 固件的 uf2 方法。只需从下面下载 uf2 文件。

通过快速滑动电源开关两次进入引导加载程序模式。更多参考信息,请参见此处

您的 PC 中应该出现一个名为 Arduino 的外部驱动器。将下载的 uf2 文件拖到 Arduino 驱动器中。

主机设备固件

这次我们的主机设备变成了我们的 PC,让我们了解如何使用用户模式 SDK 将 Wio Terminal 用作 HMI 显示器!

MacOS/Linux OS - C++ SDK

  • 下载固件仓库:
cd ~
git clone https://github.com/Seeed-Studio/seeed-linux-usbdisp.git
  • 导航到用户模式 sdk 路径:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk/rpusbdisp-drv/src

打开 rpusbdisp.cc根据您的 Wio Terminal 固件(Nullfunctional 或 USBDisplayAndMouseControl)定义宏。取消注释您正在使用的那个:

  • 导航回用户模式 sdk 路径:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk
  • 制作并构建驱动程序:
make
note

您可能需要一些依赖库,如 lisusb。MacOS 可以使用 brew,Linux OS 可以使用 apt-get 来安装。

  • 导航到构建目录:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk/build/
  • 运行演示:
sudo ./rpusbdispdemo --demo 1

您应该看到 Wio Terminal 开始显示,图形被绘制出来。此源代码位于:seeed-linux-usbdisp/drivers/usermode-sdk/demo/src/main.cc

多屏幕

此 C++ SDK 还支持多屏幕(多个 Wio Terminal),对于 2 屏幕使用,只需运行演示 2:

sudo ./rpusbdispdemo --demo 2

注意: 这里提供了最多使用 4 个屏幕的 4 个演示,您可以查看源代码以参考您的应用程序。

Windows - Python SDK

对于 Windows,您可以在 Python 上运行用户模式 sdk!首先,确保您已安装 python 并安装依赖库:

note

Python 是跨平台的,您可以在所有平台上运行此演示,包括 Windows/Linux/MacOS

pip3 install pyusb
  • 转到 python-demo 路径:
cd ~/seeed-linux-usbdisp/drivers/python-demo/
  • 打开 simple-test.py 并使用 Wio Terminal 内的固件定义正确的宏,然后保存。
  • 运行 Python 演示:
python3 simple-test.py

多屏幕

此 Python SDK 还支持多屏幕(多个 Wio Terminal),您可以查看 USBDisplay.py 作为参考。

此示例使用 4 个 Wio Terminal 作为显示器,格式如下所示:

devices = list(usb.core.find(find_all=True, idVendor=0x2886, idProduct=0x802D))
dev1 = devices[0] # device 0
dev2 = devices[1] # device 1
dev3 = devices[2] # device 2
dev4 = devices[3] # device 3

简单演示

这个示例简单地使用 Python 将图像从 PC 端传输到 Wio Terminal。

  • 进入演示路径:
cd ~/seeed-linux-usbdisp/drivers/python-demo/
  • 下载 image.jpg 并将其保存在与 image-test.py 相同的位置。

注意:选择与您的 Wio Terminal 固件匹配的宏,否则会出现错误。

  • 运行演示:
python3 image-test.py

资源

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...