CNCjs est une interface Web complète pour les contrôleurs CNC exécutant Grbl, Marlin, Smoothieware ou TinyG.
Pour une introduction plus complète, consultez la section Introduction de la page wiki.
Contrôleurs pris en charge
Grbl (Télécharger)
Grbl-Mega (Téléchargement)
Marlin (Télécharger)
Smoothieware (Télécharger)
TinyG ( Recommandé : version du firmware 0.97 build 449.xx ) (Télécharger)
g2core
Application de bureau pour Linux, Mac OS X et Windows
Lecture numérique 6 axes (DRO)
Visualisation 3D du parcours d'outil
Communiquer simultanément avec plusieurs clients
Vue réactive pour l'affichage sur petit écran avec une largeur d'appareil inférieure à 720 px
Safari sur un iPhone 5S [1] [2]
Espace de travail personnalisable
Widget personnalisé (depuis 1.9.10)
Boutons de commande MDI (Multiple Document Interface) personnalisés (depuis 1.9.13)
Mon compte
Commandes
Événements
Raccourcis clavier
Contour ShuttleXpress
Prise en charge multilingue
Regarder l'annuaire
Changement d'outil (depuis 1.9.11)
Sonde Z
cncjs-widget-boilerplate - Création de widgets personnalisés pour CNCjs.
cncjs-pendant-boilerplate - Un exemple minimum pour développer un pendentif cncjs.
cncjs-pendant-keyboard - Un simple pendentif (utilisant un clavier sans fil ou USB) à CNCJS.
cncjs-pendant-numpad - Un simple pendentif (utilisant un pavé numérique sans fil ou USB) vers CNCJS.
cncjs-pendant-lcd - Kiosque Web CNCjs pour les écrans tactiles Raspberry Pi.
cncjs-pendant-ps3 - Pendentif à distance Bluetooth Dual Shock / PS3 pour CNCjs.
cncjs-pendant-raspi-gpio - Contrôle pendentif GPIO Raspberry Pi simple pour CNCjs.
cncjs-pendant-tinyweb - Une petite console Web pour un petit écran LCD 320x240.
cncjs-shopfloor-tablet - Une interface utilisateur simplifiée pour cncjs optimisée pour les tablettes dans un environnement de production (atelier).
Chrome | Bord | Firefox | IE | Opéra | Safari |
---|---|---|---|---|---|
Oui | Oui | Oui | Non pris en charge | Oui | Oui |
Version | Niveau pris en charge |
---|---|
<= 10 | Non pris en charge |
12 | Soutenu |
>= 14 | Recommandé |
Node.js 14 ou supérieur est recommandé. Vous pouvez installer Node Version Manager pour gérer plusieurs versions de Node.js. Si git
est installé, clonez simplement le dépôt nvm
et consultez la dernière version :
git clone https://github.com/creationix/nvm.git ~/.nvm cd ~/.nvm git checkout `git describe --abbrev=0 --tags` cd .. . ~/.nvm/nvm.sh
Ajoutez ces lignes à votre fichier ~/.bash_profile
, ~/.bashrc
ou ~/.profile
pour qu'il soit automatiquement généré lors de la connexion :
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Ceci charge nvm
Une fois installé, vous pouvez sélectionner les versions de Node.js avec :
nvm install 14 nvm use 14
Il est également recommandé de mettre à niveau npm vers la dernière version. Pour mettre à niveau, exécutez :
npm install npm@latest -g
Installez cncjs en tant qu'utilisateur non root, sinon le module de port série risque de ne pas s'installer correctement sur certaines plates-formes comme Raspberry Pi.
npm install -g cncjs
Si vous envisagez d'utiliser sudo ou root pour installer cncjs, vous devez spécifier l'option --unsafe-perm
pour exécuter npm en tant que compte root.
sudo npm install --unsafe-perm -g cncjs
Consultez https://github.com/cncjs/cncjs/wiki/Installation pour d'autres méthodes d'installation.
Exécutez npm install -g cncjs@latest
pour installer la dernière version. Pour déterminer la version, utilisez cncjs -V
.
Exécutez cncjs
pour démarrer le serveur et visitez http://yourhostname:8000/
pour afficher l'interface Web. Passez --help
à cncjs
pour plus d'options.
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
Au lieu de transmettre les options de ligne de commande pour --watch-directory
, --access-token-lifetime
, --allow-remote-access
et --controller
, vous pouvez créer un fichier ~/.cncrc
contenant la configuration suivante en JSON format:
{"points de montage": [ {"route": "/pendant","target": "/home/pi/tinyweb"}, {"route": "/widget","target": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ],"watchDirectory": "/path/to/dir","accessTokenLifetime": "30d","allowRemoteAccess": false,"controller": ""}
Pour résoudre les problèmes, exécutez :
cncjs -vvv
Le fichier de configuration .cncrc contient des paramètres équivalents aux options de ligne de commande cncjs. Le fichier de configuration est stocké dans le répertoire personnel de l'utilisateur. Pour connaître l'emplacement réel du répertoire personnel, procédez comme suit :
Linux/Mac
écho $HOME
Fenêtres
écho %USERPROFILE%
Consultez un exemple de fichier de configuration ici.
Voir #242 (commentaire) pour une explication détaillée.
{ "ports": [ { "chemin": "/dev/ttyAMA0", "fabricant": "" } ], "baudrates": [115200, 250000], "mountPoints": [ { "route": "/widget", "target": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ], "watchDirectory": "/path/to/dir", "accessTokenLifetime": "30d", "allowRemoteAccess": false, "controller": "", "state": {"checkForUpdates": true,"controller" : { "exception": {"ignoreErrors": false } } }, "commandes": [ { "title": "Mise à jour (utilisateur root)", "commands": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -f cncjs"}, { "title": "Mise à jour (utilisateur non root)", "commands": "npm install -g cncjs@latest; pkill -f cncjs"}, { "title": "Reboot", "commands": "sudo /sbin/reboot"}, { "title": "Shutdown", "commands": "sudo /sbin/shutdown"} ], "événements": [], "macros": [], "utilisateurs": [] }
https://cnc.js.org/docs/
Il existe plusieurs fichiers *.gcode dans le répertoire des exemples. Vous pouvez utiliser le widget GCode pour charger un fichier GCode et effectuer un essai.
Si vous n'avez pas de logiciel CAM, essayez d'utiliser jscut pour créer du G-Code à partir de *.svg. Il s'agit d'un simple package CAM qui s'exécute dans le navigateur.
Découvrez une démo en direct sur http://jscut.org/jscut.html.
Utilisez les problèmes GitHub pour les requêtes.
Les demandes de tirage sont les bienvenues ! Apprenez à contribuer.
Vous pouvez aider à traduire les fichiers de ressources dans les répertoires d'applications et de serveurs de l'anglais vers d'autres langues. Consultez le guide de localisation pour savoir comment démarrer. Si vous n'êtes pas familier avec le développement GitHub, vous pouvez ouvrir un ticket ou envoyer vos traductions à [email protected].
Lieu | Langue | Statut | Contributeurs |
---|---|---|---|
cs | Ceština (tchèque) | ✔ | Miroslav Zuzelka |
de | allemand (allemand) | ✔ | Thorsten Godau, Max B. |
es | espagnol (espagnol) | ✔ | Juan Biondi |
fr | Français (français) | ✔ | Simon Maillard, Corentin Brulé |
hein | Magyar (hongrois) | ✔ | Sipos Péter |
il | Italiano (italien) | ✔ | vince87 |
oui | 日本語 (japonais) | ✔ | Naoki Okamoto |
nl | Pays-Bas (Pays-Bas) | ✔ | patriote néerlandais |
pt-br | Portugais (Brésil) | ✔ | cmsteinBR |
ru | Ру́сский (russe) | ✔ | Denis Youssoupov |
Royaume-Uni | українська (ukrainien) | ✔ | khvalera |
tr | Türkçe (turc) | ✔ | Ali GUNDOĞDU |
zh-cn | 简体中文 (chinois simplifié) | ✔ | Mandy Chien, Terry Lee |
zh-tw | 繁體中文 (chinois traditionnel) | ✔ | Cheton Wu |
Si vous souhaitez soutenir ce projet, vous pouvez faire un don via PayPal. Merci!
Ce projet existe grâce à toutes les personnes qui y contribuent. [Contribuer].
Merci à tous nos contributeurs ! ? [Devenez contributeur]
Soutenez ce projet en devenant sponsor. Votre logo apparaîtra ici avec un lien vers votre site Web. [Devenez parrain]
Sous licence MIT.