joukos / PaperTTY

PaperTTY - Python module to render a TTY or VNC on e-ink
948 stars 101 forks source link

Beyond raspberry pi? #23

Closed kodonnell closed 4 years ago

kodonnell commented 5 years ago

I'm guessing this is only feasible on the raspberry pi because Waveshare sell with hats - but is there any info/discussions/plans for using this on a generic box?

joukos commented 5 years ago

No concrete plans for now but no actual restrictions either - mostly boils down to having usable GPIO pins to control the display. Do you have any ideas/suggestions?

kodonnell commented 5 years ago

Afraid no - my hardware experience is very limited. If there was some way to add an HDMI cable, that'd be amazing. I guess one could stick with the raspberry pi and just network it to another PC, which would be pretty trivial.

joukos commented 5 years ago

One motivation behind this project was the fact that the displays are too bothersome to use because they lack HDMI for example :) In any case such connectivity would require a more complex interface board. Maybe when e-ink technology develops further or we get stuff like solid state pixels all of these problems will be solved and we can rejoice.

Before that, it would be possible to write some code to have the display work with some convenient interface, I've been mostly thinking of making a VNC client - this would allow using practically any programs with it and also to display things over the network.

However, that would be a different project altogether.

kodonnell commented 5 years ago

... solid state pixels ...

Ooooooh!

I've been mostly thinking of making a VNC client - this would allow using practically any programs with it and also to display things over the network.

I saw this in the readme but didn't follow the implications - can you run me through it a bit slower (or link some docs)? E.g. how would this enable me to use this as a display for my laptop?

joukos commented 5 years ago

Assuming that there was a VNC client implemented, you could simply start a VNC server on your laptop, then connect to it from the RPi that is connected to the display (driven by the hypothetical VNC client).

The server could provide access to either the main display that you see on your laptop panel (using x11vnc) or a separate, "hidden" display (using vncserver) which likely would make more sense as you can more easily configure it to suit the monochrome display by choosing a minimal window manager and use an arbitrary pixel size for the desktop.

Another option is to run the VNC server on the RPi too, in which case you could start individual programs from other hosts - such as your laptop - via SSH + X forwarding, by running ssh -X <my_laptop> <someprog> in the simplest case, after which you'd see the process start on the laptop, but it would draw on the VNC display over the network.

To simulate a scenario where the e-ink is another display on your laptop, you'd need to:

Not sure of all the practicalities yet, but that's the rough idea. The biggest benefit of the VNC client would in any case be the fact that there's no need to mess with terminal stuff or other specifics, since we can just let the programs draw pixels as they would normally, while refreshing the e-ink in a smart way.

joukos commented 4 years ago

Closing this since now the VNC support is there.

gdkrmr commented 4 years ago

If there was some way to add an HDMI cable

https://www.waveshare.com/product/oleds-lcds/e-paper/eink-disp-103.htm

I think this currently is the most affordable e-Ink monitor

joukos commented 4 years ago

Oh, so Waveshare now makes those too, thanks for the heads up. Still super expensive though :neutral_face:

gdkrmr commented 4 years ago

I think first E-Ink monitor was like 1200$, so prices are dropping, just give it a year or two...