Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

A lean host for the Rpi #64

Closed
bethebeer opened this Issue · 18 comments

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
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 :-(

@bethebeer

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
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.

@llluis

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
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).

@llluis

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

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
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.

@malx122

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

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

@TomekBrz

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
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.

@humptidumpti

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
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.

@thecrazy
@wd5gnr

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
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.

@repetier
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/

@repetier repetier closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.