CNCjs
cncjs
3D打印
⭐⭐⭐⭐☆ (4/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 代码和刀具路径。