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.
Command-line control
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.
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.
Re: Command-line control
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:
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
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
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
Re: Command-line control
Also looking to control from a computer through SSH or http,
Is there a document or example to follow.
Is there a document or example to follow.
Re: Command-line control
Tried
curl -X PUT -F gcode=@hello.nc http://bbctrl.local/api
hello.nc
F1600 (Feed speed)
G0 X59.25 Y5.85
G1 X61.68 Y6.7
G1 Y56.6
G1 X6.04
M2 (end program)
I get the following error.
curl -X PUT -F gcode=@hello.nc http://192.168.0.167/api
<html><title>405: Method Not Allowed</title><body>405: Method Not Allowed</body></html>
curl -X PUT -F gcode=@hello.nc http://bbctrl.local/api
hello.nc
F1600 (Feed speed)
G0 X59.25 Y5.85
G1 X61.68 Y6.7
G1 Y56.6
G1 X6.04
M2 (end program)
I get the following error.
curl -X PUT -F gcode=@hello.nc http://192.168.0.167/api
<html><title>405: Method Not Allowed</title><body>405: Method Not Allowed</body></html>