====== CNCJS ======
Parmi les outils de pilotage GRBL, il existe CNC.JS
Concernant mon utilisation, il présente un gros intérêt : fournir une interface de contrôle via serveur web, permettant de piloter le tout depuis une machine qui ne devra pas être physiquement connectée à la CNC.
En conséquence, le serveur cncjs est installé sur un raspberry pi 3B+, lui-même connecté en wifi à la maison.
Ensuite, depuis n'importe quel laptop ou tablette, également en wifi à la maison, je peux me connecter à cette page : http://cncjs.local
===== Setup sur Raspberry Pi =====
Suivre les instructions présentées ici : https://cnc.js.org/docs/rpi-setup-guide/
===== Configuration =====
Les éléments de configuration qui suivent servent également de backup en cas de recréation d'un cncjs.
==== Workspace.json ====
{
"version": "1.9.20",
"state": {
"session": {
"name": "",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IiIsIm5hbWUiOiIiLCJpYXQiOjE3Mjc2MDI5MjQsImV4cCI6MTczMDE5NDkyNH0.rw_h6FQpbzBL97i9FNkwKqCaWojb_oCrrqlilKFBEQ0",
"enabled": false
},
"workspace": {
"container": {
"default": {
"widgets": [
"visualizer"
]
},
"primary": {
"show": true,
"widgets": [
"connection",
"console",
"grbl"
]
},
"secondary": {
"show": true,
"widgets": [
"axes",
"gcode",
"probe",
"macro",
"spindle"
]
}
},
"machineProfile": {
"id": null
}
},
"widgets": {
"axes": {
"minimized": false,
"axes": [
"x",
"y",
"z"
],
"jog": {
"keypad": false,
"imperial": {
"step": 16,
"distances": []
},
"metric": {
"step": 12,
"distances": []
}
},
"mdi": {
"disabled": false
},
"shuttle": {
"feedrateMin": 500,
"feedrateMax": 2000,
"hertz": 10,
"overshoot": 1
}
},
"connection": {
"minimized": false,
"controller": {
"type": "Grbl"
},
"port": "/dev/ttyUSB0",
"baudrate": 115200,
"connection": {
"type": "serial",
"serial": {
"rtscts": false
}
},
"autoReconnect": true
},
"console": {
"minimized": false
},
"custom": {
"disabled": true,
"minimized": false,
"title": "",
"url": ""
},
"gcode": {
"minimized": false
},
"grbl": {
"minimized": false,
"panel": {
"queueReports": {
"expanded": true
},
"statusReports": {
"expanded": true
},
"modalGroups": {
"expanded": true
}
}
},
"laser": {
"minimized": false,
"panel": {
"laserTest": {
"expanded": true
}
},
"test": {
"power": 0,
"duration": 0,
"maxS": 1000
}
},
"macro": {
"minimized": false
},
"marlin": {
"minimized": false,
"panel": {
"heaterControl": {
"expanded": true
},
"statusReports": {
"expanded": false
},
"modalGroups": {
"expanded": false
}
},
"heater": {
"extruder": 180,
"heatedBed": 60
}
},
"probe": {
"minimized": false,
"probeCommand": "G38.2",
"useTLO": false,
"probeDepth": 10,
"probeFeedrate": 20,
"touchPlateHeight": 0,
"retractionDistance": 10
},
"smoothie": {
"minimized": false,
"panel": {
"statusReports": {
"expanded": true
},
"modalGroups": {
"expanded": true
}
}
},
"spindle": {
"minimized": false,
"speed": 1000
},
"tinyg": {
"minimized": false,
"panel": {
"powerManagement": {
"expanded": false
},
"queueReports": {
"expanded": true
},
"statusReports": {
"expanded": true
},
"modalGroups": {
"expanded": true
}
}
},
"visualizer": {
"minimized": false,
"disabled": true,
"projection": "orthographic",
"cameraMode": "pan",
"gcode": {
"displayName": true
},
"objects": {
"limits": {
"visible": true
},
"coordinateSystem": {
"visible": true
},
"gridLineNumbers": {
"visible": true
},
"toolhead": {
"visible": true
},
"cuttingTool": {
"visible": true
}
}
},
"webcam": {
"disabled": true,
"minimized": false,
"mediaSource": "local",
"deviceId": "",
"url": "",
"geometry": {
"scale": 1,
"rotation": 0,
"flipHorizontally": false,
"flipVertically": false
},
"crosshair": false,
"muted": false
}
}
}
}
==== Machine Profile ====
Name : CNC 3018 Pro
Limits:
- Xmin: -299
- Xmax: 0
- Ymin: -179
- Ymax: 0
- Zmin: 0
- Zmax: 30
==== Commands ====
Update (root user):
sudo npm install -g cncjs@latest --unsafe-perm; pkill -a -f cncjs
Update (non-root user):
npm install -g cncjs@latest; pkill -a -f cncjs
Reboot:
sudo /sbin/reboot
Shutdown:
sudo /sbin/shutdown
===== Extensions =====
A réinstaller potentiellement :
cncjs-kt-ext : autolevel extension
Le script de lancement contient :
```
#!/bin/bash
cd /home/pi/cncjs-kt-ext
node . --port /dev/ttyUSB0
```
et probablement :
cncjs-shopfloor-tablet-2.0.0 : pour un accès mobile... (pas convaincu).