Page 1 of 1

Command-line control

Posted: Sun Feb 24, 2019 8:59 pm
by unmannedman
Is there a way to configure and start Buildbotics CNC Controller program through Linux command-line (through SSH ) or API? I have tried to find any relevant information but failed so far. What I am looking to do is to configure and command stepper motors-based motion platform (potentially controlled by Buildbotics CNC Controller) through external (network connected) Linux-based system from command line or Python scrip level.

There seems to be Buildbotics API over HTTP (http://dev.buildbotics.com/) however its documentation does not mention specifcally any "Program" related commands.

Re: Command-line control

Posted: Tue Feb 26, 2019 9:53 pm
by Joe
It is possible to control the Buildbotics controller over HTTP. It's not documented but this is how the Web frontend works. dev.buildbotics.com is the API for our project sharing Website and is unrelated.

The HTTP entrypoints can be found listed in Web.py. For example, to start the currently selected GCode program you would do a PUT to /api/start. You can upload GCode with a muli-part form PUT to /api/file/. It would be pretty easy to do this with the Python requests library.

For example, with curl:

Code: Select all

curl -X PUT -F gcode=@hello.nc http://bbctrl.local/api
curl -X PUT http://bbctrl.local/api/start
To get status information, you need to open a Web socket connection to /websocket or /sockjs and listen to the JSON messages that are sent across it. This code in CAMotics does exactly that using Qt: https://github.com/CauldronDevelopmentL ... trlAPI.cpp

We will document this API eventually. I've opened a new issue on GitHub to track this request: https://github.com/buildbotics/bbctrl-f ... issues/201