简介
OctoPrint 是一个开源的 3D 打印机 Web 控制器,它基于 Python 而开发,提供了人性化的用户界面,还支持插件扩展。OctoPrint Client 则是一个专门用来与 OctoPrint 交互的 npm 包,它可以运用到 Web 应用程序和 Node.js 应用程序中。
本篇文章将详细介绍 octoprint-client 包的使用方式及注意事项,在文章结尾部分,我们还将提供一个使用示例供大家参考。
使用步骤
安装 octoprint-client 包
在你的项目目录中使用 npm 来安装该包:
npm install octoprint-client --save
实例化 OctoPrintClient 对象
在你的代码中引用该包,并实例化一个 OctoPrintClient 对象:
const { OctoPrintClient } = require('octoprint-client'); const client = new OctoPrintClient({ baseUrl: 'http://localhost:8080', apiKey: 'API_KEY' });
你可以自由调整 baseUrl
和 apiKey
键值来匹配 OctoPrint 实例和 API 密钥。添加了 new
关键字后,将创建出一个 client
对象,该对象可以用来和 OctoPrint 交互。
与 OctoPrint 交互
当前可用的 API 方法包括:getCurrentState
、getPrinterState
、getPrinterJob
、createCommand
、cancelPrint
、getLocalFileList
、uploadFile
和 deleteFile
。
以下每个方法都需要传入一个回调函数,该函数会在响应完成后执行。第一个参数会是错误对象,第二个参数会是从 OctoPrint 返回的数据。
getCurrentState(cb)
: 返回打印状态,包括打印任务的名称、状态、时间和剩余时间。
let response = await client.getCurrentState();
getPrinterState(cb)
: 获取打印机状态信息,包括打印机类型、名称、温度和位置。
let response = await client.getPrinterState();
getPrinterJob(cb)
: 获取打印机当前任务信息,包括任务名称、运行时间和剩余时间、预计完成时间和文件信息。
let response = await client.getPrinterJob();
createCommand(payload, cb)
: 启动打印任务,payload 包括使用的 slicer、文件路径和打印参数等信息。
let payload = { slicer: 'cura', path: 'path/to/file', format: ' application/octet-stream', print: {quality: 'normal'} }; let response = await client.createCommand(payload);
cancelPrint(cb)
: 取消打印任务。
let response = await client.cancelPrint();
getLocalFileList(cb)
: 获取本地文件列表。
let response = await client.getLocalFileList();
uploadFile(filePath, cb)
: 上传本地文件到 OctoPrint。
let response = await client.uploadFile('path/to/file');
deleteFile(fileName, cb)
: 删除指定文件。
let response = await client.deleteFile('path/to/file');
综述
文章中我们详细的介绍了 octoprint-client 包的使用方式并且提供了一些 API 的代码示例和使用说明。希望这篇文章能够对初学者或者已经在使用 octoprint 的技术人员有所帮助。
在实际开发中,你可以发挥自己的想象力和创造力,更好的完成你的项目。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568d781e8991b448e4989