Octoprint 是一款针对 3D 打印机的开源 Web 服务器软件,它可以通过 web 界面来控制和监控 3D 打印机。而 npm 包 octoprint 则是针对 Octoprint API 的一个封装,使得我们可以方便地在前端代码中使用 Octoprint API 来控制 3D 打印机,而无须直接与 API 进行交互操作。
本文将介绍如何使用 npm 包 octoprint 来控制 3D 打印机。文中将从安装 octoprint、连接到 3D 打印机和控制 3D 打印机三个方面详细介绍如何使用 octoprint。
安装
要使用 npm 包 octoprint,我们需要首先安装它。在终端中输入以下命令即可完成安装:
--- ------- ------ ---------
安装完成后,我们需要在代码中将它引入:
----- --------- - ---------------------
连接 3D 打印机
在继续前进之前,我们需要连接到 3D 打印机。使用 Octoprint 与 3D 打印机通信所需要的信息存储在一个名为 config.yaml 的文件中,而该文件则存储在 ~/.octoprint 文件夹下。为了连接到 3D 打印机,我们需要使用一些信息来创建一个新的 Octoprint 实例。
----- ---- - --- ----------- ---- ------------------------ -- -- --------- -- ------- ------ -- -- --- -- ---
在上面的代码中,我们创建了一个新的 Octoprint 实例,并传入了 url 和 apiKey 信息来连接到 3D 打印机。其中 apiKey 信息可以在 Octoprint 的 web 界面中找到。
控制 3D 打印机
成功连接到 3D 打印机后,我们可以开始对它进行控制。根据 Octoprint API 文档,我们可以使用 job.start
, job.cancel
, job.progress
和 printer.command
等方法来控制 3D 打印机。
开始打印
开始打印非常简单,只需要调用 job.start 方法即可。
----- -------------------------------------
在上面的代码中,我们使用了 await 来等待服务器响应。该方法将会开始打印给定路径下的 gcode 文件。
取消打印
如果想要取消当前的打印任务,则可以使用 job.cancel 方法。
----- ------------------
该方法将会取消当前的打印任务,同时会将 3D 打印机设置为待机状态。
监控进度
监控打印进度可以使用 job.progress 方法。该方法返回一个 object,其中包含了当前打印的详细进度信息。
----- -------- - ----- -------------------- ----------------------
输出结果如下:
- ----------- ----- -- ----- --------- --------- -- ------- ----------- ----- -- --------- ---------------- ----- -- --------- -------------------------- --- ---- -- ----------- -
发送 G-code 指令
要给 3D 打印机发送一个 G-code 指令,我们可以使用 printer.command 方法。
----- -------- - ----- -------------------------- ------- ----------------------
在上面的例子中,我们向 3D 打印机发送了一个 M104 指令,用于设置打印机热端的温度为 200 摄氏度。
示例代码
----- --------- - --------------------- ----- ---- - --- ----------- ---- ------------------------ ------- ------ --- ----- ---------- - ----- -- -- - ----- ------------------------------------- ------------------ ----------- - ----- ----------- - ----- -- -- - ----- ------------------ ------------------ ------------- - ----- --------------- - ----- -- -- - ----- -------- - ----- -------------------- ---------------------- - ----- ------------- - ----- ------ -- - ----- -------- - ----- -------------------------- ----------- ---------------------- -
通过以上代码示例,我们可以使用 npm 包 octoprint 来控制 3D 打印机,从而实现更高效和方便的 3D 打印体验。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005609881e8991b448decfa