CNCjs

cncjs

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

项目简介

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 轴探针功能。

技术规格

支持的控制器固件
支持的 Node.js 版本
支持的浏览器
默认端口
配置文件名
访问令牌有效期
远程访问

项目资源

物料清单 (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 包管理器

所需工具

工具用途是否必需
计算机 (Raspberry Pi 或 PC) 运行 CNCjs 服务器 ✅ 是
现代浏览器 访问 CNCjs Web 界面 ✅ 是
文本编辑器 编辑配置文件 .cncrc ▢ 推荐
G 代码生成软件 (如 jscut) 生成 G 代码文件 ▢ 推荐

能力画像

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

所需技能

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

适用场景

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