CNCjs 是一个基于 Web 的全功能界面,适用于运行 Grbl、Marlin、Smoothieware 或 TinyG 的 CNC 控制器。
有关更完整的介绍,请参阅 wiki 页面的介绍部分。
支持的控制器
Grbl(下载)
Grbl-Mega(下载)
马林鱼(下载)
Smoothieware(下载)
TinyG(推荐:固件版本0.97 build 449.xx )(下载)
g2核心
适用于 Linux、Mac OS X 和 Windows 的桌面应用程序
6 轴数字读数 (DRO)
刀具路径 3D 可视化
同时与多个客户沟通
设备宽度小于 720px 的小屏幕显示的响应式视图
iPhone 5S 上的 Safari [1] [2]
可定制的工作空间
自定义小部件(自 10 年 9 月 1 日起)
自定义 MDI(多文档界面)命令按钮(自 1.9.13 起)
我的账户
命令
活动
键盘快捷键
Contour ShuttleXpress
多语言支持
观看目录
工具更换(自 1.9.11 起)
Z 探针
cncjs-widget-boilerplate - 为 CNCjs 创建自定义小部件。
cncjs-pendant-boilerplate - 开发 cncjs 挂件的最低限度示例.
cncjs-pendant-keyboard - CNCJS 的简单挂件(使用无线键盘或 USB)。
cncjs-pendant-numpad - CNCJS 的简单挂件(使用无线数字键盘或 USB)。
cncjs-pendant-lcd - 适用于 Raspberry Pi 触摸显示屏的 CNCjs Web Kiosk.
cncjs-pendant-ps3 - 适用于 CNCjs 的双冲击 / PS3 蓝牙远程吊坠。
cncjs-pendant-raspi-gpio - CNCjs 的简单 Raspberry Pi GPIO 挂件控制.
cncjs-pendant-tinyweb - 用于小型 320x240 LCD 显示屏的小型 Web 控制台。
cncjs-shopfloor-tablet - cncjs 的简化 UI,针对生产(车间)环境中的平板电脑进行了优化。
铬合金 | 边缘 | 火狐浏览器 | IE | 歌剧 | 狩猎之旅 |
---|---|---|---|---|---|
是的 | 是的 | 是的 | 不支持 | 是的 | 是的 |
版本 | 支持级别 |
---|---|
<= 10 | 不支持 |
12 | 支持 |
>= 14 | 受到推崇的 |
建议使用 Node.js 14 或更高版本。您可以安装 Node Version Manager 来管理多个 Node.js 版本。如果您安装了git
,只需克隆nvm
存储库,然后查看最新版本:
git clone https://github.com/creationix/nvm.git ~/.nvm cd ~/.nvm git checkout `git describe --abbrev=0 --tags` cd .. . ~/.nvm/nvm.sh
将这些行添加到~/.bash_profile
、 ~/.bashrc
或~/.profile
文件中,以便在登录时自动获取它:
导出 NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && 。 "$NVM_DIR/nvm.sh" # 这会加载 nvm
安装后,您可以通过以下方式选择 Node.js 版本:
nvm install 14 nvm use 14
还建议您将 npm 升级到最新版本。要升级,请运行:
npm install npm@latest -g
以非 root 用户身份安装 cncjs,否则串口模块可能无法在某些平台(如 Raspberry Pi)上正确安装。
npm install -g cncjs
如果要使用 sudo 或 root 来安装 cncjs,则需要指定--unsafe-perm
选项以 root 帐户运行 npm。
sudo npm install --unsafe-perm -g cncjs
其他安装方法请查看https://github.com/cncjs/cncjs/wiki/Installation。
运行npm install -g cncjs@latest
以安装最新版本。要确定版本,请使用cncjs -V
。
运行cncjs
启动服务器,访问http://yourhostname:8000/
查看Web界面。将--help
传递给cncjs
以获取更多选项。
pi@rpi3$ cncjs -h Usage: cncjs [options] Options: -V, --version output the version number -p, --portSet listen port (default: 8000) -H, --host Set listen address or hostname (default: 0.0.0.0) -b, --backlog Set listen backlog (default: 511) -c, --config Set config file (default: ~/.cncrc) -v, --verbose Increase the verbosity level (-v, -vv, -vvv) -m, --mount : Add a mount point for serving static files -w, --watch-directory Watch a directory for changes --access-token-lifetime Access token lifetime in seconds or a time span string (default: 30d) --allow-remote-access Allow remote access to the server (default: false) --controller Specify CNC controller: Grbl|Marlin|Smoothie|TinyG|g2core (default: '') -h, --help output usage information Examples: $ cncjs -vv $ cncjs --mount /pendant:/home/pi/tinyweb $ cncjs --mount /widget:~+/widget --mount /pendant:~/pendant $ cncjs --mount /widget:https://cncjs.github.io/cncjs-widget-boilerplate/v1/ $ cncjs --watch-directory /home/pi/watch $ cncjs --access-token-lifetime 60d # e.g. 3600, 30m, 12h, 30d $ cncjs --allow-remote-access $ cncjs --controller Grbl
您可以创建一个~/.cncrc
文件,其中包含以下 JSON 配置,而不是传递--watch-directory
、 --access-token-lifetime
、 --allow-remote-access
和--controller
命令行选项格式:
{“挂载点”:[ {"route": "/pendant","target": "/home/pi/tinyweb"}, {“路线”:“/ widget”,“目标”:“https://cncjs.github.io/cncjs-widget-boilerplate/v1/”} ],“watchDirectory”:“/path/to/dir”,“accessTokenLifetime”:“30d”,“allowRemoteAccess”: false,“controller”:“”}
要解决问题,请运行:
cncjs -vvv
配置文件.cncrc包含与 cncjs 命令行选项等效的设置。配置文件存储在用户的主目录中。要找出主目录的实际位置,请执行以下操作:
Linux/苹果机
回显$HOME
视窗
回显%用户配置文件%
在此处查看示例配置文件。
详细解释请参见#242(评论)。
{“端口”:[ { "路径": "/dev/ttyAMA0", "制造商": "" } ], "波特率": [115200, 250000], "挂载点": [ {“路线”:“/ widget”,“目标”:“https://cncjs.github.io/cncjs-widget-boilerplate/v1/”} ], "watchDirectory": "/path/to/dir", "accessTokenLifetime": "30d", "allowRemoteAccess": false, "controller": "", "state": {"checkForUpdates": true,"controller" : { "异常": {"ignoreErrors": false } } }, “命令”: [ { "title": "更新(root 用户)", "commands": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -f cncjs"}, { "title": "更新(非 root 用户)", "commands": "npm install -g cncjs@latest; pkill -f cncjs"}, { "title": "重新启动", "命令": "sudo /sbin/reboot"}, {“标题”:“关机”,“命令”:“sudo / sbin / shutdown”} ]、“事件”:[]、“宏”:[]、“用户”:[] }
https://cnc.js.org/docs/
示例目录中有几个 *.gcode 文件。您可以使用GCode小部件加载GCode文件并进行试运行。
如果您没有 CAM 软件,请尝试使用 jscut 从 *.svg 创建 G 代码。它是一个在浏览器中运行的简单 CAM 包。
请访问 http://jscut.org/jscut.html 查看现场演示。
使用 GitHub 问题来请求。
欢迎拉请求!了解如何做出贡献。
您可以帮助将应用程序和服务器目录中的资源文件从英语翻译成其他语言。查看本地化指南以了解如何开始。如果您不熟悉 GitHub 开发,可以提出问题或将您的翻译发送至 [email protected]。
语言环境 | 语言 | 地位 | 贡献者 |
---|---|---|---|
CS | 切什蒂纳(捷克) | ✔ | 米罗斯拉夫·祖泽尔卡 |
德 | 德语(德语) | ✔ | 托尔斯滕·戈道,马克斯·B. |
英语 | 西班牙语(西班牙语) | ✔ | 胡安·比昂迪 |
FR | 法语(法语) | ✔ | 西蒙·梅拉德、CorentinBrulé |
胡 | 马扎尔语(匈牙利语) | ✔ | 西波斯·彼得 |
它 | 意大利语(意大利语) | ✔ | 文斯87 |
贾 | 日本语(日语) | ✔ | 冈本直树 |
NL | 荷兰(荷兰) | ✔ | 荷兰爱国者 |
PT-BR | 葡萄牙语(巴西) | ✔ | 克斯坦BR |
茹 | Ру́сский(俄语) | ✔ | 丹尼斯·尤苏波夫 |
英国 | українська(乌克兰语) | ✔ | 赫瓦莱拉 |
t | Türkçe(土耳其语) | ✔ | 阿里·贡多杜 |
zh-cn | 简体中文(简体中文) | ✔ | 钱曼迪、李泰瑞 |
zh-tw | 繁体中文(繁体中文) | ✔ | 吴彻顿 |
如果您想支持该项目,可以使用 PayPal 进行捐赠。谢谢你!
这个项目的存在要感谢所有做出贡献的人。 [贡献]。
感谢我们所有的支持者! ? [成为支持者]
成为赞助商来支持该项目。您的徽标将显示在此处,并带有指向您网站的链接。 [成为赞助商]
根据 MIT 许可证获得许可。