3D 打印的新鲜事,第四部分:OctoPrint

作者:Kyle Rankin

这是关于 3D 打印当前状况的四部分系列文章的最后一篇。在第一部分中,我概述了自从我三年前撰写关于 3D 打印的原始文章以来,3D 打印的差异。第二篇文章侧重于 3D 打印硬件的进步,第三篇专栏介绍了 3D 打印软件。在最后一篇文章中,我提到了一个特定的 3D 打印软件 OctoPrint,我觉得它值得单独写一篇文章,所以我将最后一篇文章专门介绍如何设置和使用 OctoPrint。

过去,打印 3D 对象的流程包括创建或下载 STL 格式的 3D 模型,使用切片软件将该 STL 文件转换为您的打印机可以理解的 GCODE 语言,然后使用其他主机软件(如 Pronterface)来了解如何与打印机通信,加载该 GCODE 并将其发送到打印机。最近,出现了一些将切片和主机软件组合到一个界面中的软件(如 Cura),虽然这当然很方便,但也意味着您连接到 3D 打印机以控制它的计算机必须在整个打印过程中保持连接。

虽然现在许多打印机都支持将 GCODE 加载到 SD 卡上进行“无头”打印,但在我看来,OctoPrint 是一种更好的方法。OctoPrint 将 3D 打印机控制软件与 Web 界面相结合,因此您可以通过网络控制打印机并监控其进度。更棒的是,虽然 OctoPrint 可以在任何 Linux 机器上运行,但 OctoPi 发行版是一个定制的 SD 卡镜像,旨在在 Raspberry Pi 上运行 OctoPrint。由于大多数极客都倾向于手头有一个 Raspberry Pi(如果您没有,与成熟的计算机相比,它也相对便宜),这使得从家里的任何地方控制您的 3D 打印机变得容易。

安装

要开始安装,您需要下载 OctoPrint。官方下载页面位于 http://octoprint.org/download,您可以在那里找到指向源代码包和 GitHub 存储库的链接。我假设大多数想要设置 OctoPrint 的人都会在 Raspberry Pi 上这样做,所以我的说明是针对安装 OctoPi 的。在下载页面上,您会找到指向一些 OctoPi 镜像的链接,因此请选择一个并下载最新的压缩 zip 形式的 OctoPi 镜像。

OctoPi 基于 Raspbian,因此一旦您有了 .zip 文件,安装过程就像您过去使用过的大多数其他 Raspberry Pi 镜像一样。解压缩文件,将 SD 卡插入您的计算机,然后使用 dd 将镜像写入您的 SD 卡设备


$ sudo dd if=2015-07-02_2015-05-05-octopi-wheezy-0.12.0.img 
 ↪of=/dev/mmcblk0 bs=1M

将镜像写入 SD 卡后,检查它是否自动挂载了驱动器。如果没有,弹出并重新插入它,然后挂载它。如果您计划通过 Wi-Fi 将 Raspberry Pi 连接到网络,OctoPi 在 0.12 版本中添加了一个新机制。使用您的无线网络设置编辑 SD 卡根目录下的 octopi-network.txt 文件。保存您的更改并卸载 SD 卡。现在您可以将 SD 卡插入您的 Raspberry Pi 并启动它了。

当 Raspberry Pi 启动并连接到网络后,您将能够使用与 Raspbian 使用的相同的默认凭据(登录名“pi”,密码“raspberry”)通过 SSH 登录到它,但当然,您会希望使用 passwd 命令将其更改为其他内容。与 Raspbian 一样,您可以键入 sudo raspi-config 来更改系统设置,OctoPrint 建议您使用此工具来扩展 SD 卡的文件系统以填充设备。

Web 界面

一旦您的 Raspberry Pi 连接到网络,您就可以通过 http://octopi.local (如果您的系统支持 bonjour)访问 OctoPrint Web 界面,否则,只需在您的 Web 浏览器中键入主机的 IP 地址即可。您应该会看到如图 1 所示的界面。如果您尚未将 3D 打印机连接到 Raspberry Pi,现在是好时机。在网页的左侧是“连接”部分,其中应列出它可以用来连接到您的打印机的合理的默认串行设备,因此您应该能够成功按下“连接”按钮。如果由于某种原因这不起作用,您可能需要登录到您的 Raspberry Pi 并检查 dmesg 的输出,以查看当您插入 3D 打印机时,它显示为哪种设备。

图 1. 默认 OctoPrint 界面

默认的 OctoPrint 屏幕显示打印机挤出机温度以及(如果有)加热床温度的图表,它将允许您手动设置其中任何一个的温度。在该主页的左侧,您可以上传您在 Cura 或其他切片工具上创建的 GCODE 文件,然后您可以单击打印机图标开始打印。此主页还允许您暂停和取消作业。如果您需要在打印过程中更换耗材,无论是由于耗尽还是因为您想要混合多种颜色,暂停功能都很有用。

图 2. OctoPrint 控制界面

OctoPrint 上的第二个选项卡提供了一个基于 Web 的控制面板,您可以将其用于手动控制打印机的 X、Y 和 Z 轴以及挤出塑料。如果 OctoPrint 检测到 USB 网络摄像头或 Raspberry Pi 摄像头,它将自动启动 MJPG-streamer,您应该能够看到来自网络摄像头的实时视频(图 2)。当您想从房子的其他房间开始打印或想监视正在进行的打印时,这非常有用。如果您确实有一个摄像头对准您的打印机,您也可以单击“延时摄影”选项卡并配置 OctoPrint 以创建打印的延时视频。它可以每隔几秒钟拍摄一张快照,也可以在 Z 轴发生变化时(即当打印机移动到下一层时)拍摄一张快照。

“GCode 查看器”选项卡允许您在打印的 2D 表示中查看当前发送到打印机的 GCODE。您可以逐命令观看它,也可以使用此屏幕上的滑块来检查打印每一层上的工具路径。过去,当我想创建地形图的多色打印时,我曾使用过此功能,以便识别 GCODE 从海平面变为地面水平的特定层,这样我就可以暂停它并将蓝色塑料更换为另一种颜色。

最后,“终端”选项卡非常方便,因为大多数 3D 打印机都使用 GCODE 命令来调整校准设置。例如,我的 Printrbot 有一个 Z 轴探头,它用于在软件中自动调平打印床;但是,您仍然需要通过 GCODE 命令微调 Z 轴。“终端”选项卡允许您键入这些原始 GCODE 命令并查看它们的输出。

总而言之,即使 Cura 在 3D 打印机控制方面很棒,我发现我通常将 OctoPrint 用于我的所有 3D 打印。能够开始长时间打印并从沙发上查看它真是太好了。此外,生成打印延时视频的功能是无与伦比的。

正如您所看到的,自从我三年前的第一个专栏系列以来,3D 打印领域发生了巨大的变化。虽然在许多情况下,这些变化是负面的(例如转向专有软件和硬件),但在剩余的具有开放硬件的 3D 打印机、3D 打印软件的进步以及对易用性的更多关注方面,仍然有很多积极的变化。我希望您喜欢这个从 Linux 角度介绍 3D 打印当前状况的系列文章。如果不是,好消息是下个月我将转向 Hack 和 /. 的更传统主题。

Kyle Rankin 是 Linux Journal 的技术编辑和专栏作家,也是 Purism 的首席安全官。他是 Linux Hardening in Hostile NetworksDevOps TroubleshootingThe Official Ubuntu Server BookKnoppix HacksKnoppix Pocket ReferenceLinux Multimedia HacksUbuntu Hacks 的作者,也是许多其他 O'Reilly 书籍的贡献者。Rankin 经常在 BsidesLV、O'Reilly Security Conference、OSCON、SCALE、CactusCon、Linux World Expo 和 Penguicon 等会议上就安全和开源软件发表演讲。您可以在 @kylerankin 上关注他。

加载 Disqus 评论