CNCjs cncjs

3D打印 4/5 🧩 软硬件结合 已发布
cncjs 2464 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
CNCjs

项目简介

A web-based interface for CNC milling controller running Grbl, Marlin, Smoothieware, or TinyG.


CNCjs 是一个功能全面的开源 Web 界面,专为运行 Grbl、Marlin、Smoothieware 或 TinyG 等固件的 CNC 控制器设计。它解决了传统 CNC 控制依赖专用软件、操作界面不统一、难以远程监控和多人协作的问题,让用户只需通过浏览器即可完成从 G 代码发送、实时控制到加工状态监测的全流程操作。

标签

项目特点

**多控制器支持**:兼容 Grbl、Grbl-Mega、Marlin、Smoothieware、TinyG 和 g2core 等主流 CNC 控制器固件。
**6轴数字读数 (DRO)**:实时显示机床坐标和位置。
**3D 刀具路径可视化**:在浏览器中预览 G 代码的刀具路径。
**多客户端同时通信**:支持多个客户端同时连接到同一台 CNC 控制器。
**响应式界面**:针对小屏幕设备(如手机)进行了优化。
**可定制工作区**:用户可以根据需要自定义界面布局。
**自定义小部件**:支持开发和使用自定义小部件(自 1.9.10 版本起)。
**自定义 MDI 命令按钮**:可以创建常用 MDI 命令的快捷按钮(自 1.9.13 版本起)。
**键盘快捷键**:支持通过键盘快捷键进行操作。
**Contour ShuttleXpress 支持**:支持使用 Contour ShuttleXpress 控制器。
**多语言支持**:界面支持多种语言。
**目录监控**:可以监控指定目录的文件变化。
**刀具更换 (Tool Change)**:支持刀具更换操作(自 1.9.11 版本起)。
**Z 轴探针 (Z-Probe)**:支持 Z 轴探针功能。

技术规格

支持的控制器固件 Grbl, Grbl-Mega, Marlin, Smoothieware, TinyG, g2core
支持的 Node.js 版本 12 (支持), >=14 (推荐)
支持的浏览器 Chrome, Edge, Firefox, Opera, Safari (不支持 IE)
默认端口 8000
配置文件名 ~/.cncrc
访问令牌有效期 默认 30 天
远程访问 默认关闭,可通过 `--allow-remote-access` 开启

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
运行 Node.js 的计算机 (如 Raspberry Pi) 1 用于运行 CNCjs 服务器
CNC 控制器 (如 Arduino + Grbl) 1 支持 Grbl, Marlin, Smoothieware, TinyG 等
CNC 机床 1 连接到控制器
USB 线缆 1 连接计算机和控制器
Node.js (>=14) 1 运行环境
npm 1 包管理器

能力画像

⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 2/5

所需技能

🔧 **动手能力**:需要能够连接 CNC 控制器和计算机,配置串口通信,以及基本的 CNC 机床操作知识。 💻 **编程能力**:需要基本的命令行操作能力(安装 Node.js、npm 包),了解 JSON 配置文件格式。如果需要自定义小部件或挂件,则需要 JavaScript/Node.js 开发能力。 ⚡ **电子电路**:需要了解 CNC 控制器(如 Arduino)的基本接线和固件烧录。

适用场景

**DIY CNC 爱好者**:使用 Grbl 等开源固件搭建自己的 CNC 机床,并通过 Web 界面进行控制。
**小型工坊**:在车间环境中,通过平板电脑或手机远程监控和控制 CNC 机床。
**教育培训**:用于 CNC 编程和操作的教学演示。
**原型制作**:快速验证 G 代码和刀具路径。