开发者生态
morning
如何建造打印机
摘要
I was planning to build an e-ink display when I came across the Xteink X3 online. Somewhere in the fine print, it said the thing was fully programmable. I was sold. When it arrived, I liked how flat i...
the
and
was
had
print
paper
should
printer
That
meant
2026-09-09
1 阅读
约5分钟阅读
cat-whisperer
字号:
当我在网上看到 Xteink X3 时,我正计划构建一个电子墨水显示器。在细则的某个地方,它说这个东西是完全可编程的。我被卖了。当它到达时,我喜欢它的平坦。它在我手中感觉很坚固。我开始向 CrossPoint 固件添加一些东西:不同的启动动画、通过摇动阅读器可以掷骰子、用于 SF 网络活动的 LinkedIn 二维码。但把东西放到上面是很乏味的。我必须加入它的热点并在浏览器中打开一个小上传网站。恶心。在寻找更好的方式向其发送内容时,我突然想到了一个想法。如果它看起来像纸,那么它的作用也应该像纸。我应该可以在上面打印。是什么让打印机成为打印机?我想在 MacBook 上打开某些内容,按“打印”,然后选择 Xteink。这意味着找出我的计算机期望在另一端找到什么。我最终选择了互联网打印协议(IPP)。它让计算机询问打印机它支持什么、提交文档并询问作业发生了什么。消息通过 HTTP 传输。 Get-Printer-Attributes 等操作会询问功能; Print-Job 发送工作。我宣传单色输出、300 dpi、一份副本和单面打印。对于文档格式,我接受 Apple 光栅和 PWG 光栅。这意味着 Mac 必须在发送文档之前将其转换为像素。企鹅会缩小结果以适合其屏幕。我声明了 A5 和信纸、介质类型文具以及名为“面朝上”的出纸槽。我叫它企鹅。它有正确的配色方案。我使用 Bonjour 以该名称宣布了 _ipp._tcp 服务。广告包括我接受的格式以及打印作业的地址。为了在 macOS 上实现无人驾驶发现,我还必须添加 _universal 子类型。这意味着直接调用 ESP-IDF 的 mDNS API,因为 Arduino 包装器没有公开它。让计算机发送寻呼只是工作的一部分。我仍然必须在这件事上收到它。我将该页面放在哪里? 300 dpi 的 Letter 页面为 2,550 × 3,300 像素。按每个灰度像素 1 个字节计算,未压缩时约为 8.4 MB。 X3 具有 400 KB RAM,其中 16 KB 保留用于缓存。我需要运行 Wi-Fi,运行打印机服务器,并以某种方式接收整个该死的页面。运行 Wi-Fi 并分配打印机的页面图像后,我还剩下 6.8 KB 的堆。我记得 Linux 上的 mmap 。我可以用 SD 卡做类似的事情并假装我有更多 RAM 吗? C3 的内存映射支持针对闪存,而不是 SD 卡上的文件。但等等。我可以将显示器作为我的存储空间吗?如果我通过转换管道传递传入页面并将结果直接写入显示会怎样?解码像素,缩小它们以适应,将它们抖动成黑色和白色。当一行准备好后,将其放在显示器上的适当位置并重新使用工作空间。继续下去,直到我有一个页面。显示器已经为其屏幕图像保留了 RAM。我可以在页面到达时立即构建该页面。在那之前,我一直在组装第二张完整的图像,只是为了复制它。我的解码器已经一行一行地工作了。我更改了缩放器以移交完成的行,并将它们连接到显示器的屏幕图像中。起初,我让页面以条带的形式出现,就像从打印机中送纸一样。每次中间刷新大约需要半秒,因此我转而立即显示完成的页面。我使用现有的屏幕截图编写器将完成的页面以 BMP 格式保存在 SD 卡上。图像缓冲区 RAM 之前 之后 超出芯片的 400 KB ~113 KB ~62 KB 这为其套接字缓冲区提供了网络堆栈空间。预览中有一只企鹅 由于某种原因,我的 MacBook 上有一张来自无食转生的示例漫画图像。我在预览中打开它并去打印它。打印机列表中有企鹅。天哪。我选择它并打印。漫画页面在 Xteink 上看起来非常好。根据记忆,大约过了一秒钟才出现。它还在那里。我花了一个晚上才完成第一张印刷品。打印机服务器在阅读器本身上运行。我可以让它加入 Wi-Fi 网络或启动自己的热点 literate-penguin 。我的企鹅现在可以读书了。代码位于我的 CrossPoint 分支中,包括打印机实现。保存的打印输出保留在 SD 卡上,我可以在读卡器上浏览它们。毕竟我的打印机有一个输出托盘。这是一个文件夹。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱