Command-line control

Post technical questions about the Buildbotic Controller here.
Forum rules
No profanity, no gambling, no illegal activity, so sexual or pornographic material.

Posts not related to the Buildbotic CNC Controller are likely to be moved or deleted.
Post Reply
unmannedman
Posts: 1
Joined: Sat Feb 23, 2019 2:59 am

Command-line control

Post by unmannedman » Sun Feb 24, 2019 8:59 pm

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.

User avatar
Joe
Site Admin
Posts: 1
Joined: Fri Feb 02, 2018 2:00 pm
Location: Petaluma, CA
Contact:

Re: Command-line control

Post by Joe » Tue Feb 26, 2019 9:53 pm

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

Post Reply