如何在远程屏幕上显示图片?该项目结合了两种设备并依赖于开源工具。
与之前的远程电子纸消息面板项目相比,远程电子纸图片面板不依赖专有协议和基础设施。
相反,它使用轻量级 MQTT 协议,代理可以托管在任何本地 PC 甚至单板计算机 (SBC) 中。MQTT 依赖于 TCP/IP 堆栈。图像在 PC 上准备和格式化,以最大限度地减少远程设备上的处理。
Pervasive Displays 提供范围广泛的电子纸屏幕,从 1.54" 到 12.2",有黑白或黑白红版本,以及通用驱动板Pervasive Displays Extension Kit Gen 3 。
电子纸屏幕就像一张纸:它们只在打印文本或图像时需要电源。一旦文本或图像被打印出来,屏幕就不再需要电源。它们甚至可以分离:文字或图像保持不变!更详细的介绍解释了电子纸的工作原理。
除了低功耗和持久显示外,电子纸屏幕即使在阳光直射下也能提供高可读性,在该项目中使用的 2.71" 面板上分辨率高达 130 dpi、117 dpi。
Espressif 凭借经济实惠且功能强大的 ESP8266 和 ESP32 SoC 彻底改变了物联网。
远程设备由 ESP32-DevKitC 或 ESP32-Pico 开发板、Pervasive Displays Extension Kit Gen 3开发板和Pervasive Displays 电子墨水显示器组成。
硬件
对于硬件部分,进行如下操作:
电子纸屏幕需要一个存储在 SRAM 中的外部帧缓冲器。因此,屏幕的大小受到 ESP32 板上可用 SRAM 的限制,总共 520 kB 中大约有 128 kB。这里的项目使用了一块2.71"的单色屏。
软件
该应用程序依赖于两个主要库:
缓冲区大小默认为 256 字节,因此需要通过setBufferSize()调整以处理标题和图像。这里,对于使用的 2.71" 面板,它被设置为 6 kB。
// MQTT
myMQTT.setBufferSize(6144);
myMQTT.setServer(myBrokerIP, 1883);
myMQTT.setCallback(callbackMQTT);
#include "PDLS_EXT3_Basic_Fast.h"
Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_EXT3_271_Fast, boardESP32DevKitC);
所有凭据都存储在单独的头文件中。
const char* mySSID = "";
const char* myPassword = "";
const char* myBrokerIP = "
主设备可以是任何 PC 或单板计算机 (SBC)。它托管图像转换器和 MQTT 代理。两者都通过终端在命令行模式下使用。
转换图片
图像原生格式未针对 IoT 进行优化。典型的 264x176 BMP 图像重量为 136 kB。由于电子纸屏幕是单色的,因此图像将被转换为便携式位图 ( PBM)格式。
转换后图像的标题以P4作为幻数和屏幕尺寸为特征,此处为 176 水平像素 x 264 垂直像素。
P4
176 264
为此,该项目使用了GraphicsMagick,这是一种命令行实用程序,几乎可以将任何格式转换为可移植位图。PBM 格式的转换后的 264x176 图像重量小于 6 kB。
MQTT 经纪人
该项目使用Mosquitto作为 MQTT 代理。它带有有用的实用程序来发布和订阅主题。
Mosquitto 的最新版本需要特定的配置以允许外部和匿名连接。只需编辑文件/etc/mosquitto/mosquitto.conf并添加以下三行。
listener 1883
protocol mqtt
allow_anonymous true
将图片发送到远程电子纸显示器有两个步骤。
转换图片
首先,gm使用以下选项将图片转换为可移植位图格式;
$
gm convert IMAGE1.BMP -resize 264x176 -rotate 90 PBM:IMAGE1.PBM
发送图片
然后,mosquitto_pub使用以下选项发送图像:
$
mosquitto_pub -h 127.0.0.1 -t image/show -f IMAGE1.PBM
最后,ESP32 接收并显示图像。
其他选项
image/clear主题清屏
为了获得更清晰的界面,Node-RED提供了一个很好的仪表板来封装命令行过程。图像按钮打开一个对话框以选择图像。然后启用“发送”按钮并通过 MQTT 发送图像。
Pervasive Displays 提供从 1.54" 到 12.2" 的各种屏幕,包括单色和黑白红。较大的屏幕可能需要外部存储器,例如 Pervasive Displays e-Paper EPD 扩展套件第 3 代上的 SPI SRAM 或某些高级 ESP32 板上可用的 PSRAM。该项目尚未使用 black-white-red 选项进行测试。
MQTT 解决方案被广泛使用并提供服务质量 (QoS) 等高级功能。
WiFi 收音机非常耗电,抹杀了电子纸屏幕的低功耗能力。因此,更换为蓝牙或低于 1 GHz 之类的无线电将能够使用标准电池实现长达一年的自治,尽管使用不同的协议(如 MQTT-SN)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !