CNCjs ist eine webbasierte Schnittstelle mit vollem Funktionsumfang für CNC-Steuerungen, auf denen Grbl, Marlin, Smoothieware oder TinyG ausgeführt werden.
Eine ausführlichere Einführung finden Sie im Abschnitt „Einführung“ der Wiki-Seite.
Unterstützte Controller
Grbl (Download)
Grbl-Mega (Download)
Marlin (Download)
Smoothieware (Download)
TinyG ( Empfohlen: Firmware-Version 0.97 Build 449.xx ) (Download)
g2core
Desktop-App für Linux, Mac OS X und Windows
6-Achsen-Digitalanzeige (DRO)
3D-Visualisierung des Werkzeugwegs
Kommunizieren Sie gleichzeitig mit mehreren Clients
Responsive Ansicht für kleine Bildschirmanzeigen mit einer Gerätebreite von weniger als 720 Pixel
Safari auf einem iPhone 5S [1] [2]
Anpassbarer Arbeitsbereich
Benutzerdefiniertes Widget (seit 1.9.10)
Benutzerdefinierte MDI-Befehlsschaltflächen (Multiple Document Interface) (seit 1.9.13)
Mein Konto
Befehle
Veranstaltungen
Tastaturkürzel
Kontur ShuttleXpress
Mehrsprachige Unterstützung
Uhrenverzeichnis
Werkzeugwechsel (seit 1.9.11)
Z-Sonde
cncjs-widget-boilerplate – Erstellen benutzerdefinierter Widgets für CNCjs.
cncjs-pendant-boilerplate – Ein absolutes Minimalbeispiel für die Entwicklung eines CNCJS-Pendants.
cncjs-pendant-keyboard – Ein einfaches Pendant (mit drahtloser Tastatur oder USB) zu CNCJS.
cncjs-pendant-numpad – Ein einfaches Pendant (mit drahtlosem Nummernblock oder USB) zu CNCJS.
cncjs-pendant-lcd – CNCjs Web Kiosk für Raspberry Pi Touch Displays.
cncjs-pendant-ps3 – Dual Shock / PS3 Bluetooth-Fernbedienungsanhänger für CNCjs.
cncjs-pendant-raspi-gpio – Einfache Raspberry Pi GPIO Pendant-Steuerung für CNCjs.
cncjs-pendant-tinyweb – Eine winzige Webkonsole für kleine 320 x 240 LCD-Displays.
cncjs-shopfloor-tablet – Eine vereinfachte Benutzeroberfläche für CNCJS, optimiert für Tablet-Computer in einer Produktionsumgebung (Werkstattumgebung).
Chrom | Rand | Firefox | IE | Oper | Safari |
---|---|---|---|---|---|
Ja | Ja | Ja | Nicht unterstützt | Ja | Ja |
Version | Unterstützte Ebene |
---|---|
<= 10 | Nicht unterstützt |
12 | Unterstützt |
>= 14 | Empfohlen |
Node.js 14 oder höher wird empfohlen. Sie können Node Version Manager installieren, um mehrere Node.js-Versionen zu verwalten. Wenn Sie git
installiert haben, klonen Sie einfach das nvm
Repo und schauen Sie sich die neueste Version an:
git clone https://github.com/creationix/nvm.git ~/.nvm cd ~/.nvm git checkout `git describe --abbrev=0 --tags` cd .. . ~/.nvm/nvm.sh
Fügen Sie diese Zeilen zu Ihrer Datei ~/.bash_profile
, ~/.bashrc
oder ~/.profile
hinzu, damit sie bei der Anmeldung automatisch als Quelle übernommen wird:
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Dadurch wird nvm geladen
Nach der Installation können Sie Node.js-Versionen auswählen mit:
nvm install 14 nvm use 14
Es wird außerdem empfohlen, npm auf die neueste Version zu aktualisieren. Führen Sie zum Upgrade Folgendes aus:
npm install npm@latest -g
Installieren Sie cncjs als Nicht-Root-Benutzer, da das Serialport-Modul sonst auf einigen Plattformen wie Raspberry Pi möglicherweise nicht korrekt installiert wird.
npm install -g cncjs
Wenn Sie sudo oder root zum Installieren von cncjs verwenden möchten, müssen Sie die Option --unsafe-perm
angeben, um npm als Root-Konto auszuführen.
sudo npm install --unsafe-perm -g cncjs
Weitere Installationsmethoden finden Sie unter https://github.com/cncjs/cncjs/wiki/Installation.
Führen Sie npm install -g cncjs@latest
aus, um die neueste Version zu installieren. Um die Version zu ermitteln, verwenden Sie cncjs -V
.
Führen Sie cncjs
aus, um den Server zu starten, und besuchen Sie http://yourhostname:8000/
um die Weboberfläche anzuzeigen. Übergeben Sie --help
an cncjs
um weitere Optionen zu erhalten.
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
Anstatt Befehlszeilenoptionen für --watch-directory
, --access-token-lifetime
, --allow-remote-access
und --controller
zu übergeben, können Sie eine ~/.cncrc
Datei erstellen, die die folgende Konfiguration in JSON enthält Format:
{"mountPoints": [ {"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": ""}
Führen Sie Folgendes aus, um Probleme zu beheben:
cncjs -vvv
Die Konfigurationsdatei .cncrc enthält Einstellungen, die den Befehlszeilenoptionen von cncjs entsprechen. Die Konfigurationsdatei wird im Home-Verzeichnis des Benutzers gespeichert. Um den tatsächlichen Speicherort des Home-Verzeichnisses herauszufinden, gehen Sie wie folgt vor:
Linux/Mac
echo $HOME
Windows
echo %USERPROFILE%
Sehen Sie sich hier eine Beispielkonfigurationsdatei an.
Eine ausführliche Erklärung finden Sie in #242 (Kommentar).
{ "Anschlüsse": [ { "path": "/dev/ttyAMA0", "manufacturer": "" } ], „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 } } }, "Befehle": [ { „title“: „Update (Root-Benutzer)“, „commands“: „sudo npm install -g cncjs@latest --unsafe-perm; pkill -f cncjs“}, { „title“: „Update (Nicht-Root-Benutzer)“, „commands“: „npm install -g cncjs@latest; pkill -f cncjs“}, { „title“: „Reboot“, „commands“: „sudo /sbin/reboot“}, { „title“: „Shutdown“, „commands“: „sudo /sbin/shutdown“} ], „events“: [], „macros“: [], „users“: [] }
https://cnc.js.org/docs/
Im Beispielverzeichnis befinden sich mehrere *.gcode-Dateien. Mit dem GCode-Widget können Sie eine GCode-Datei laden und einen Testlauf durchführen.
Wenn Sie keine CAM-Software haben, versuchen Sie, mit jscut G-Code aus *.svg zu erstellen. Es handelt sich um ein einfaches CAM-Paket, das im Browser ausgeführt wird.
Sehen Sie sich eine Live-Demo unter http://jscut.org/jscut.html an.
Verwenden Sie GitHub-Probleme für Anfragen.
Pull-Anfragen willkommen! Erfahren Sie, wie Sie einen Beitrag leisten können.
Sie können dabei helfen, Ressourcendateien in App- und Serververzeichnissen vom Englischen in andere Sprachen zu übersetzen. Sehen Sie sich den Lokalisierungsleitfaden an, um zu erfahren, wie Sie beginnen können. Wenn Sie mit der GitHub-Entwicklung nicht vertraut sind, können Sie ein Problem eröffnen oder Ihre Übersetzungen an [email protected] senden.
Gebietsschema | Sprache | Status | Mitwirkende |
---|---|---|---|
cs | Čeština (Tschechisch) | ✔ | Miroslav Zuzelka |
de | Deutsch (Deutsch) | ✔ | Thorsten Godau, Max B. |
es | Español (Spanisch) | ✔ | Juan Biondi |
fr | Français (Französisch) | ✔ | Simon Maillard, CorentinBrulé |
Hu | Magyar (Ungarisch) | ✔ | Sipos Péter |
Es | Italiano (Italienisch) | ✔ | vince87 |
ja | 日本語 (Japanisch) | ✔ | Naoki Okamoto |
nl | Nederlands (Niederlande) | ✔ | niederländischer Patriot |
pt-br | Português (Brasilien) | ✔ | cmsteinBR |
ru | Ру́сский (Russisch) | ✔ | Denis Jussupow |
Vereinigtes Königreich | українська (Ukrainisch) | ✔ | Khvalera |
tr | Türkçe (Türkisch) | ✔ | Ali GÜNDOĞDU |
zh-cn | 简体中文 (vereinfachtes Chinesisch) | ✔ | Mandy Chien, Terry Lee |
zh-tw | 繁體中文 (Traditionelles Chinesisch) | ✔ | Cheton Wu |
Wenn Sie dieses Projekt unterstützen möchten, können Sie über PayPal spenden. Danke schön!
Dieses Projekt existiert dank aller Menschen, die dazu beitragen. [Beitragen].
Vielen Dank an alle unsere Unterstützer! ? [Unterstützer werden]
Unterstützen Sie dieses Projekt, indem Sie Sponsor werden. Hier erscheint Ihr Logo mit einem Link zu Ihrer Website. [Sponsor werden]
Lizenziert unter der MIT-Lizenz.