A lean host for the Rpi #64

Closed
bethebeer opened this Issue Sep 27, 2012 · 18 comments

Comments

Projects
None yet
9 participants
@bethebeer

Is there any way that you could make a version for the raspberry pi. I am using raspbian and I imagine that processor hungry things like slicing or the 3D views will halt printing. Even on my MacBook Pro, the 3D view can halt printing for a moment, it is pretty old though and takes very little to freeze. A really lean version of the Repetier host would be perfect for using the pi as a permanent host. Like printing from an SD card, but also with the ability to hook the printer up to a monitor. Not sure if this is the right place to post this...and again, great firmware and host!

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Sep 27, 2012

Owner

Hi,
not sure this is the right place to tell already, but I have special plans for Raspberry Pi computer. I think the memory usage of the host is much to high for this, so I've come up with a different solution. I want to write a printer server that is written in C++ and uses only a few MB. The Host then can use this server as an alternative connection point instead of serial connections. The Pi sends the commands to the printer via USB/Serial connection and buffers the print. Advantages:

  • print is not affected by pauses on the host.
  • pi can handle more then 1 printer.
  • upload is much faster using ethernet.
  • Get printer status/upload files via web interface or host.
  • small memory print on the pi. All work is done on your normal pc.
  • several hosts can connect the same time to a printer.
  • Monitor attached to Pi could be used as printer state visualization.
  • Pi could store jobs like the sd card would. So old jobs can be rerun if wanted.

Only drawback is that my pi is planned shipping date is early december :-(

Owner

repetier commented Sep 27, 2012

Hi,
not sure this is the right place to tell already, but I have special plans for Raspberry Pi computer. I think the memory usage of the host is much to high for this, so I've come up with a different solution. I want to write a printer server that is written in C++ and uses only a few MB. The Host then can use this server as an alternative connection point instead of serial connections. The Pi sends the commands to the printer via USB/Serial connection and buffers the print. Advantages:

  • print is not affected by pauses on the host.
  • pi can handle more then 1 printer.
  • upload is much faster using ethernet.
  • Get printer status/upload files via web interface or host.
  • small memory print on the pi. All work is done on your normal pc.
  • several hosts can connect the same time to a printer.
  • Monitor attached to Pi could be used as printer state visualization.
  • Pi could store jobs like the sd card would. So old jobs can be rerun if wanted.

Only drawback is that my pi is planned shipping date is early december :-(

@bethebeer

This comment has been minimized.

Show comment Hide comment
@bethebeer

bethebeer Sep 28, 2012

That sounds awesome.

If you're interested:
I may be getting a pi that I don't need. If I do, I could send it to you in a week or so. Assuming I'd get one back once you received yours.

That sounds awesome.

If you're interested:
I may be getting a pi that I don't need. If I do, I could send it to you in a week or so. Assuming I'd get one back once you received yours.

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Sep 29, 2012

Owner

Thanks, but that shouldn't be necessary. I cal already develop on my mac. The server should compile on different os, so I can start testing with a mac and continue with the pi when it arrives. What you can do is testing how it works on a pi, when the first version is ready. The first version will not have any web interface/visual interface, only the possibility to connect to a host. That makes developing the first version much faster. Other options will then follow.

Owner

repetier commented Sep 29, 2012

Thanks, but that shouldn't be necessary. I cal already develop on my mac. The server should compile on different os, so I can start testing with a mac and continue with the pi when it arrives. What you can do is testing how it works on a pi, when the first version is ready. The first version will not have any web interface/visual interface, only the possibility to connect to a host. That makes developing the first version much faster. Other options will then follow.

@llluis

This comment has been minimized.

Show comment Hide comment
@llluis

llluis Oct 1, 2012

This is awesome! Your idea to have a thin client on Pi communicating with the host is great.
As I am using repetier firmware and host for a while now and as I have a Raspberry Pi, I would like to help you testing if you want to.

Best regards
Luis

llluis commented Oct 1, 2012

This is awesome! Your idea to have a thin client on Pi communicating with the host is great.
As I am using repetier firmware and host for a while now and as I have a Raspberry Pi, I would like to help you testing if you want to.

Best regards
Luis

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Oct 2, 2012

Owner

Thanks. Not having my Pi yet, any help is appreciated. Will develop the version on Mac/Linux first. Since Pi uses Linux the server should then compile and run without problems (I Hope).

Owner

repetier commented Oct 2, 2012

Thanks. Not having my Pi yet, any help is appreciated. Will develop the version on Mac/Linux first. Since Pi uses Linux the server should then compile and run without problems (I Hope).

@llluis

This comment has been minimized.

Show comment Hide comment
@llluis

llluis Oct 2, 2012

Feel free to contact me in private / email.
As soon as you have any version, I can test it.
(I have some programming skills, so maybe I can help with that too)

llluis commented Oct 2, 2012

Feel free to contact me in private / email.
As soon as you have any version, I can test it.
(I have some programming skills, so maybe I can help with that too)

@malx122

This comment has been minimized.

Show comment Hide comment
@malx122

malx122 Oct 23, 2012

Have you started on this yet, repetier? I was having the same idea for my pi when I found this thread. I wonder if mono could be used to write the server in c#... but might be best to do it in c++ for the efficiency. (I'm liking c# better and I'm guessing that you do to)

malx122 commented Oct 23, 2012

Have you started on this yet, repetier? I was having the same idea for my pi when I found this thread. I wonder if mono could be used to write the server in c#... but might be best to do it in c++ for the efficiency. (I'm liking c# better and I'm guessing that you do to)

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Oct 23, 2012

Owner

No I didn't start yet. Did some thinking and created a c++ project. I want it portable and as a server it doesn't need an interface, so c++ is a natural choice. That way it can easily ported to any system with a c++ compiler. But you are right, c# is a bit easier to handle but lacks support and has much overhead for small devices like the pi. I guess with the new 512MB models this is no real issue but if you put it on smaller devices it is.

I want to finish the new firmware version first with the required host changes before I start with the server.

Owner

repetier commented Oct 23, 2012

No I didn't start yet. Did some thinking and created a c++ project. I want it portable and as a server it doesn't need an interface, so c++ is a natural choice. That way it can easily ported to any system with a c++ compiler. But you are right, c# is a bit easier to handle but lacks support and has much overhead for small devices like the pi. I guess with the new 512MB models this is no real issue but if you put it on smaller devices it is.

I want to finish the new firmware version first with the required host changes before I start with the server.

@malx122

This comment has been minimized.

Show comment Hide comment
@malx122

malx122 Oct 23, 2012

Mono works good on my early version of pi, but I have no idea on how much overhead it brings. (I have only tried small noncritical things)
http://insanedev.co.uk/raspberry-pi-developing-with-mono-c-vb-net-others/

I also running C# program on my STM32F4-discovery card but there I can see some limits :)

But on the other hand, if you create the server in c++ you have then covered most of the normal c languages with your software package. (with firmware in c and hos in c#) ;).

Looking forward to this server solution. I'm using a standalone computer for this purpose right now (and windows remote desktop to control it), but that computer are having a little problem to keep up with the host program. (crashes with memory problem now and then)

malx122 commented Oct 23, 2012

Mono works good on my early version of pi, but I have no idea on how much overhead it brings. (I have only tried small noncritical things)
http://insanedev.co.uk/raspberry-pi-developing-with-mono-c-vb-net-others/

I also running C# program on my STM32F4-discovery card but there I can see some limits :)

But on the other hand, if you create the server in c++ you have then covered most of the normal c languages with your software package. (with firmware in c and hos in c#) ;).

Looking forward to this server solution. I'm using a standalone computer for this purpose right now (and windows remote desktop to control it), but that computer are having a little problem to keep up with the host program. (crashes with memory problem now and then)

@r1cht3r

This comment has been minimized.

Show comment Hide comment
@r1cht3r

r1cht3r Oct 23, 2012

Definitely interested in this, I have both 256 and 512 RPi from Element14 available for any testing.

r1cht3r commented Oct 23, 2012

Definitely interested in this, I have both 256 and 512 RPi from Element14 available for any testing.

@TomekBrz

This comment has been minimized.

Show comment Hide comment
@TomekBrz

TomekBrz Nov 11, 2012

Is there any way to subscribe to this project? I'd love to follow; see how it goes. But I also feel a bit guilty that I'm bumping a 18 day old thread. Hopefully the project is not dead.

Is there any way to subscribe to this project? I'd love to follow; see how it goes. But I also feel a bit guilty that I'm bumping a 18 day old thread. Hopefully the project is not dead.

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Nov 11, 2012

Owner

Haven't opened the project officially. Watch out for Repetier-Server to appear among my projects, this will be the name for it. Then you watch it like any other github project. I'm still waiting for my pi, but will start soon with the skeletton.

Owner

repetier commented Nov 11, 2012

Haven't opened the project officially. Watch out for Repetier-Server to appear among my projects, this will be the name for it. Then you watch it like any other github project. I'm still waiting for my pi, but will start soon with the skeletton.

@humptidumpti

This comment has been minimized.

Show comment Hide comment
@humptidumpti

humptidumpti Dec 11, 2012

i also want to place my interesst in this.. using host and firmware at the moment and start to set up my pi these days. would love to controle via the host software the "pi server"

i also want to place my interesst in this.. using host and firmware at the moment and start to set up my pi these days. would love to controle via the host software the "pi server"

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Dec 11, 2012

Owner

Small update: I started with the skeleton and hope to create a first version this year or early january. The server can be controlled via host or directly with a web interface, as the core communication is a builtin webserver. That way you could even check the printer with your iPad/iPhone/Android phone.

Owner

repetier commented Dec 11, 2012

Small update: I started with the skeleton and hope to create a first version this year or early january. The server can be controlled via host or directly with a web interface, as the core communication is a builtin webserver. That way you could even check the printer with your iPad/iPhone/Android phone.

@thecrazy

This comment has been minimized.

Show comment Hide comment
@thecrazy

thecrazy Dec 11, 2012

Very cool.

On Tue, Dec 11, 2012 at 4:39 AM, repetier notifications@github.com wrote:

Small update: I started with the skeleton and hope to create a first
version this year or early january. The server can be controlled via host
or directly with a web interface, as the core communication is a builtin
webserver. That way you could even check the printer with your
iPad/iPhone/Android phone.


Reply to this email directly or view it on GitHubhttps://github.com/repetier/Repetier-Host/issues/64#issuecomment-11237100.

Very cool.

On Tue, Dec 11, 2012 at 4:39 AM, repetier notifications@github.com wrote:

Small update: I started with the skeleton and hope to create a first
version this year or early january. The server can be controlled via host
or directly with a web interface, as the core communication is a builtin
webserver. That way you could even check the printer with your
iPad/iPhone/Android phone.


Reply to this email directly or view it on GitHubhttps://github.com/repetier/Repetier-Host/issues/64#issuecomment-11237100.

@wd5gnr

This comment has been minimized.

Show comment Hide comment
@wd5gnr

wd5gnr Dec 21, 2012

I have been trying to do this using socat. You can easily expose an serial port on the network using socat. Sadly, there are many reports of Mono not thinking the exposed pty is a real serial port. I haven't dug into the mono code to see why. However... on Linux if you allowed us to put in something for a com port like tcp:192.168.1.5:3121 and realize that it is just an endpoint you could use socat on Linux/Mac and com0com/com2tcp on Windows.

That is probably a very simple change and then the "server" already exists in free form for all the major platforms.

Oh yeah, links:

http://sourceforge.net/projects/com0com/

http://www.dest-unreach.org/socat/doc/socat.html

Actually I misspoke. What you really want is something like file:/dev/pty/3 and then your code just opens it like a file. No need for you to think about sockets. And the com2tcp ought to work "as is" I would think since it makes up a fake com port that I doubt mono can tell apart from a real one.

wd5gnr commented Dec 21, 2012

I have been trying to do this using socat. You can easily expose an serial port on the network using socat. Sadly, there are many reports of Mono not thinking the exposed pty is a real serial port. I haven't dug into the mono code to see why. However... on Linux if you allowed us to put in something for a com port like tcp:192.168.1.5:3121 and realize that it is just an endpoint you could use socat on Linux/Mac and com0com/com2tcp on Windows.

That is probably a very simple change and then the "server" already exists in free form for all the major platforms.

Oh yeah, links:

http://sourceforge.net/projects/com0com/

http://www.dest-unreach.org/socat/doc/socat.html

Actually I misspoke. What you really want is something like file:/dev/pty/3 and then your code just opens it like a file. No need for you to think about sockets. And the com2tcp ought to work "as is" I would think since it makes up a fake com port that I doubt mono can tell apart from a real one.

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Dec 22, 2012

Owner

That would work I think, mut a Raspberry Pi is too good to be a redirection device. Fortunately I have gotten my pi yesterday, so I can start with my work. I already started and have some days free, so I hope to have the first prototype soon.

Owner

repetier commented Dec 22, 2012

That would work I think, mut a Raspberry Pi is too good to be a redirection device. Fortunately I have gotten my pi yesterday, so I can start with my work. I already started and have some days free, so I hope to have the first prototype soon.

@repetier

This comment has been minimized.

Show comment Hide comment
@repetier

repetier Jan 19, 2013

Owner

For all following this issue. The server for pi is usable. I will add some more functions over time but it seems to work stable on my pi.

http://www.repetier.com/repetier-server-download/

Owner

repetier commented Jan 19, 2013

For all following this issue. The server for pi is usable. I will add some more functions over time but it seems to work stable on my pi.

http://www.repetier.com/repetier-server-download/

@repetier repetier closed this Jan 19, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment