CNCjs é uma interface baseada na web completa para controladores CNC executando Grbl, Marlin, Smoothieware ou TinyG.
Para uma introdução mais completa, consulte a seção Introdução da página wiki.
Controladores suportados
Grbl (Baixar)
Grbl-Mega (Baixar)
Marlim (Baixar)
Smoothieware (baixar)
TinyG ( Recomendado: firmware versão 0.97 build 449.xx ) (Download)
g2core
Aplicativo de desktop para Linux, Mac OS X e Windows
Leitura digital de 6 eixos (DRO)
Visualização 3D do caminho da ferramenta
Comunique-se simultaneamente com vários clientes
Visualização responsiva para exibição em tela pequena com largura de dispositivo inferior a 720 px
Safari em um iPhone 5S [1] [2]
Espaço de trabalho personalizável
Widget personalizado (desde 1.9.10)
Botões de comando MDI (Multiple Document Interface) personalizados (desde 1.9.13)
Minha conta
Comandos
Eventos
Atalhos de teclado
Contour ShuttleXpress
Suporte multilíngue
Diretório de exibição
Troca de ferramenta (desde 1.9.11)
Sonda Z
cncjs-widget-boilerplate - Criando widgets personalizados para CNCjs.
cncjs-pendant-boilerplate - Um exemplo mínimo para desenvolver um pingente cncjs.
cncjs-pendant-keyboard - Um pingente simples (usando teclado sem fio ou USB) para CNCJS.
cncjs-pendant-numpad - Um pingente simples (usando numpad sem fio ou usb) para CNCJS.
cncjs-pendant-lcd - Quiosque da Web CNCjs para monitores Raspberry Pi Touch.
cncjs-pendant-ps3 - Pingente remoto Bluetooth Dual Shock / PS3 para CNCjs.
cncjs-pendant-raspi-gpio - Controle simples Raspberry Pi GPIO Pendant para CNCjs.
cncjs-pendant-tinyweb - Um pequeno console web para um pequeno display LCD de 320x240.
cncjs-shopfloor-tablet - Uma UI simplificada para cncjs otimizada para tablets em um ambiente de produção (chão de fábrica).
Cromo | Borda | Raposa de fogo | Ou seja | Ópera | Safári |
---|---|---|---|---|---|
Sim | Sim | Sim | Não compatível | Sim | Sim |
Versão | Nível Suportado |
---|---|
<= 10 | Não compatível |
12 | Suportado |
>= 14 | Recomendado |
Node.js 14 ou superior é recomendado. Você pode instalar o Node Version Manager para gerenciar várias versões do Node.js. Se você tiver git
instalado, basta clonar o repositório nvm
e verificar a versão mais recente:
git clone https://github.com/creationix/nvm.git ~/.nvm cd ~/.nvm git checkout `git describe --abbrev=0 --tags` cd .. . ~/.nvm/nvm.sh
Adicione estas linhas ao seu arquivo ~/.bash_profile
, ~/.bashrc
ou ~/.profile
para que ele seja obtido automaticamente no login:
exportar NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Isso carrega o nvm
Depois de instalado, você pode selecionar versões do Node.js com:
nvm install 14 nvm use 14
Também é recomendado atualizar o npm para a versão mais recente. Para atualizar, execute:
npm install npm@latest -g
Instale o cncjs como um usuário não root, ou o módulo serialport pode não ser instalado corretamente em algumas plataformas como Raspberry Pi.
npm install -g cncjs
Se você for usar sudo ou root para instalar o cncjs, será necessário especificar a opção --unsafe-perm
para executar o npm como conta root.
sudo npm install --unsafe-perm -g cncjs
Confira https://github.com/cncjs/cncjs/wiki/Installation para outros métodos de instalação.
Execute npm install -g cncjs@latest
para instalar a versão mais recente. Para determinar a versão, use cncjs -V
.
Execute cncjs
para iniciar o servidor e visite http://yourhostname:8000/
para visualizar a interface web. Passe --help
para cncjs
para mais opções.
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
Em vez de passar opções de linha de comando para --watch-directory
, --access-token-lifetime
, --allow-remote-access
e --controller
, você pode criar um arquivo ~/.cncrc
que contém a seguinte configuração em JSON formatar:
{"pontos de montagem": [ {"route": "/pendant","target": "/home/pi/tinyweb"}, {"route": "/widget","target": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ],"watchDirectory": "/caminho/para/dir","accessTokenLifetime": "30d","allowRemoteAccess": false,"controller": ""}
Para solucionar problemas, execute:
cncjs -vvv
O arquivo de configuração .cncrc contém configurações equivalentes às opções de linha de comando do cncjs. O arquivo de configuração é armazenado no diretório inicial do usuário. Para descobrir a localização real do diretório inicial, faça o seguinte:
Linux/Mac
ecoar $HOME
Windows
eco %USERPROFILE%
Confira um exemplo de arquivo de configuração aqui.
Consulte #242 (comentário) para uma explicação detalhada.
{ "portas": [ { "caminho": "/dev/ttyAMA0", "fabricante": "" } ], "taxas de transmissão": [115200, 250000], "pontos de montagem": [ { "rota": "/widget", "target": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ], "watchDirectory": "/caminho/para/dir", "accessTokenLifetime": "30d", "allowRemoteAccess": false, "controller": "", "state": {"checkForUpdates": true,"controlador" : { "exceção": {"ignoreErrors": falso } } }, "comandos": [ { "title": "Atualizar (usuário root)", "commands": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -f cncjs"}, { "title": "Atualizar (usuário não root)", "commands": "npm install -g cncjs@latest; pkill -f cncjs"}, { "title": "Reiniciar", "comandos": "sudo /sbin/reboot"}, { "title": "Desligamento", "comandos": "sudo /sbin/shutdown"} ], "eventos": [], "macros": [], "usuários": [] }
https://cnc.js.org/docs/
Existem vários arquivos *.gcode no diretório de exemplos. Você pode usar o widget GCode para carregar um arquivo GCode e fazer um teste.
Se você não possui um software CAM, tente usar jscut para criar G-Code a partir de *.svg. É um pacote CAM simples que roda no navegador.
Confira uma demonstração ao vivo em http://jscut.org/jscut.html.
Use problemas do GitHub para solicitações.
Solicitações pull são bem-vindas! Aprenda como contribuir.
Você pode ajudar a traduzir arquivos de recursos em diretórios de aplicativos e servidores do inglês para outros idiomas. Confira o guia de localização para saber como começar. Se você não está familiarizado com o desenvolvimento do GitHub, você pode abrir um issue ou enviar suas traduções para [email protected].
Localidade | Linguagem | Status | Colaboradores |
---|---|---|---|
CS | Čeština (tcheca) | ✔ | Miroslav Zuzelka |
de | Alemão (Alemão) | ✔ | Thorsten Godau, Max B. |
é | Espanhol (espanhol) | ✔ | Juan Biondi |
franco | Français (francês) | ✔ | Simon Maillard, Corentin Brulé |
hein | Magiar (húngaro) | ✔ | Sipos Péter |
isto | Italiano (italiano) | ✔ | vince87 |
sim | 日本語 (japonês) | ✔ | Naoki Okamoto |
nl | Nederlands (Holanda) | ✔ | patriota holandês |
pt-br | Português (Brasil) | ✔ | cmsteinBR |
ru | Ру́сский (russo) | ✔ | Denis Yusupov |
Reino Unido | українська (ucraniano) | ✔ | khvalera |
tr | Türkçe (Turco) | ✔ | Ali GÜNDOĞDU |
zh-cn | 简体中文 (chinês simplificado) | ✔ | Mandy Chien, Terry Lee |
zh-tw | 繁體中文 (chinês tradicional) | ✔ | Cheton Wu |
Se quiser apoiar este projeto, você pode fazer uma doação usando o PayPal. Obrigado!
Este projeto existe graças a todas as pessoas que contribuem. [Contribuir].
Obrigado a todos os nossos apoiadores! ? [Torne-se um apoiador]
Apoie este projeto tornando-se um patrocinador. Seu logotipo aparecerá aqui com um link para seu site. [Torne-se um patrocinador]
Licenciado sob a licença MIT.