GrblServer is a Grbl interface for standalone gcode execute service which works with nodejs.
By "Add to Home screen" feature on Chrome for Android.
git clone https://github.com/cho45/GrblServer.git
cd GrblServer npm install
Create config/local.json. You must edit "serialPort" path.
cp config/default.json config/local.json vi config/local.json
You should connect Grbl installed Arduino before running.
Google Chrome is recommended for performance.
(GrblServer also serves static files under ./browser)
Specify WebSocket/HTTP server port to serve.
Specify serial port path which is connected to Grbl.
Specify serial baudrate to Grbl.
You want to write configuration with other formats? You can: https://github.com/lorenwest/node-config/wiki/Configuration-Files
Specify TLS key/cert for HTTP2. Default is empty (disabled).
localhost cert (self signed certificates). Use it by following:
"TLSKey" : "dev/server.key", "TLSCert" : "dev/server.crt"
Or create self signed certificates by
Ensure that NodeJS has been installed on the Rapsberry Pi (https://learn.adafruit.com/node-embedded-development/installing-node-dot-js)
Clone GrblServer on Raspberry Pi:
mkdir app cd app git clone https://github.com/cho45/GrblServer.git cd GrblServer npm install vi config/local.json
Edit /etc/inittab to auto login by user pi:
sudo vi /etc/inittab # comment out following line: # 1:2345:respawn:/sbin/getty --noclear 38400 tty1 # and add following line: 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
Edit /etc/rc.local to auto launch GrblServer:
sudo vi /etc/rc.local # add following line before exit sudo -u pi /home/pi/app/GrblServer/service/grbl-server.sh
GrblServer is written in TypeScript.
sudo npm install -g typescript npm install make watch # tsc watch make server # launch websocket/http server
make server also serves static files under
You may need actual connection to Grbl. But you should not connect to Grbl which connected to powered CNC machine. So I suggest you to make another Grbl installed Arduino and use it for development.
Grbl is open-loop control except homing and probing. It means you don't need to connect actual CNC machine in most case.