-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buildbotics integration #411
Comments
Just follow the installation instructions on https://cncpro.yurl.ch/documentation/installation/36-install-raspberry-pi and you can connect the frontend over Raspi-IP:8000. |
I don't think that's quite what we want to do. I would like to serve the HTML, Javascript and CSS parts of LaserWeb4 from the RPi and have our Python based server code act as the "serial port server" on the backend. Do you think this could work? Am I missing anything? |
Unless your python code replicates lw server api, you will still need lw
server to do connection :|
El 12 sept. 2017 7:33 p. m., "Joseph Coffland" <[email protected]>
escribió:
… I don't think that's quite what we want to do. I would like to serve the
HTML, Javascript and CSS parts of LaserWeb4 from the RPi and have our
Python based server code act as the "serial port server" on the backend. Do
you think this could work? Am I missing anything?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#411 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABoIYJsQLQTf_KZVMQj4RJ-yz7FoNx93ks5shsBXgaJpZM4PN3A2>
.
|
What does the LW server do? Is it more than just a serial port server? Can you point me to docs on the API? |
Lw comms server provides an abstraction layer for the hardware,
Check https://github.com/LaserWeb/lw.comm-server
El 12 sept. 2017 8:49 p. m., "Joseph Coffland" <[email protected]>
escribió:
… What does the LW server do? Is it more than just a serial port server? Can
you point me to docs on the API?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#411 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABoIYDy4zvawBl4X9GvpZKxvcRe1XEhRks5shtIhgaJpZM4PN3A2>
.
|
Note that the API may change: LaserWeb/lw.comm-server#47 |
Our Python code already contains a WebSocket server. I wonder if we couldn't just implement the API directly. Our server does not need to support TinyG, GRBL or Smoothie. Its only purpose would be to support the Buildbotics controller. I found the API docs. It doesn't look too difficult but it would be nice to have some more details on the API. I.e. exactly what the data format should look like. |
I thought the Buildbotics controller was TinyG. |
If I had a $ for from everyone that thought it was a TinyG in a fancy box our Kickstarter would be funded already. We did start out with the TinyG firmware but we've made massive improvements and changes. The API between the RPi and the AVR is similar to the TinyG but there's a lot more to our controller. We have a Python program which runs on the RPi which adds a lot of functionality. I need to have that code in the loop. For this reason, the interface to LaserWeb would be very different. |
@jcoffland You will have to check the server source for all websocket events and emits. I did not plan to document the whole API in detail (too much time consuming). |
Perhaps I can help with documenting the API. It appears to be JSON data in both directions. It would be nice to have something like this: http://dev.buildbotics.com/ for all the API entry points. The important data is:
How do you associate requests with responses over Websocket? |
It doesn't. In most cases it broadcasts changes to all connected clients Something to watch out for: it uses the |
Sorry, but I love the way socket.io works and I don't see any reason to replace it. |
I hate react/redux, but I do not try to replace it ;) (I would prefer Meteor) |
socket.io stops other languages from talking to the server. |
I had the same problem with socket.io. I ended up switching to SockJS because I couldn't get socket.io to work with Python. On the Python side, I'm using tornado and sockjs.tornado. |
I have a working example of the Python3-socketio implementation for communication with LaserWeb4. It's working quite good. You may not need the functions at the end of the API. I just made these to have the same data-structure as my Octoprint-PythonAPI, because i'm using both on one RPi |
@Haschtl Nice stuff, appreciate your work! |
Thanks! I had some errors in the PythonAPI, just fixed it. |
Would love to integrate LaserWeb4 on the Buildbotics CNC controller. It has a built-in Raspberry Pi 3 so it could serve LaserWeb over the network. It would not take much effort to connect it up to the Buildbotics control firmware. https://github.com/buildbotics/bbctrl-firmware
The text was updated successfully, but these errors were encountered: