JeffreySun
Posts: 7
Joined: Thu Jul 19, 2012 1:10 am

Implement network displayer via RPi

Sun Jul 22, 2012 3:20 am

I have an application in mind to implement the network displayer. I plan to host an open source project for this. I post my idea here to hear your comments or suggestions.

Overview
The purpose of this project is to connect the projector, TV, PC monitor and any other display devices into Ethernet via Raspberry Pi. The display devices become the network devices. The laptop or PC can share its screen to them via Ethernet without the physical cables we must use currently. We can say good bye to the video cable now, such as VGA. The screen share is totally wireless.

The project is very useful in the multiparty conferencing and home entertainment.

High level design
Connect the display device (projector/TV) to RPi. The display device is used as the monitor of Rpi.
Connect the Rpi to Ethernet to make it accessible via network.
The PC/Laptop/Pad/Mobile access Rpi via network. It runs the "screen share client" application, which can send the screen data to the remote Rpi.
A "virtual displayer" application runs on the Rpi. It accepts the screen data from the client and shows them on its screen. Finally the shared screen is displayed in the physical display device connected to RPi.

Image

User story 1 - Network TV in home entertainment
Infrastructure:
I have the Raspberry Pi connected to the TV via HDMI interface. The Rpi and laptop are all connected to LAN.

Scenario:
I’m watching the movie on my laptop on the couch. It’s very interesting. I want to share it with my family and play it on my TV whose screen is much bigger.

Now I do the steps as below:
1. Use the TV remote control to change the source to be HDMI.
2. Start screen share client on the laptop.
3. Select TV and click the share button.
Result: The desktop screen is shown on the TV. We can watch the online movie on the TV.

The thing becomes much easier if it is integrated into the smart home system:
Specially, a smart house system is running in my department. The TV can be already controlled by my laptop. I can write a script to do the tree steps above. The function key F3 is configured as the short key of the script. In this case, when I want to display the laptop screen to TV. All the things I need to do is just click the F3 button. Very cool!

Conclusion:
I didn’t even get off the couch. The whole process is done amazingly.

Image

User story 2 - Network projector in meeting room
Infrastructure:
There is a projector in each meeting room. Each projector is connected to a Raspberry Pi via HDMI or VGA interface. The Rpi is connected to Ethernet.

Scenario:
I’m hosting a multiparty conference. The participants are from three different meeting rooms. I want all the participants can see my screen during the meeting.

Now I do the steps as below:
1. Start screen share client on my laptop.
2. Select Meeting Room 1, Meeting Room 2 and Meeting Room 3 from the projector list and click the share button.
Result: The projectors in the three rooms project my screen. So all the participants can see it.

Conclusion:
I don’t need to connect my laptop to the projector which the VGA cable as what we must do currently. I don’t need the assistants in other rooms to help to project my screen. The screen share becomes much easier. We can say goodbye to the VGA cable.

Image

The Client UI is as below.
Image

yefengjiang
Posts: 1
Joined: Sun Jul 22, 2012 6:02 am

Re: Implement network displayer via RPi

Sun Jul 22, 2012 6:03 am

Foresight view. good job, Jeffery

Jat421
Posts: 3
Joined: Sat Aug 04, 2012 2:57 am

Re: Implement network displayer via RPi

Sat Aug 04, 2012 11:18 am

That's a great project. I will be interested in setting up something like this in our office. Any progress on this yet?.Thanks!

robhague
Posts: 12
Joined: Sun Sep 04, 2011 8:14 am

Re: Implement network displayer via RPi

Sun Aug 05, 2012 2:02 pm

Sounds like a promising project. I did something similar, but far more rough-and-ready, as a demo a while ago:

http://rob.rho.org.uk/2011/10/vnc_on_the_raspberry.html

The demo used an alpha board and early OS image, but I've just written up a how-to describing the setup on more recent hardware and software:

http://rob.rho.org.uk/2012/08/rasppi_vnc_howto.html

It achieves the display sharing, but doesn't really have a UI to speak of - there's definitely room for improvement, and turning the whole lot into a more polished and coherent package. I don't know how far you've got already, but hopefully the above post might at least be a useful source of ideas.

Good luck with the project.

JeffreySun
Posts: 7
Joined: Thu Jul 19, 2012 1:10 am

Re: Implement network displayer via RPi

Mon Aug 06, 2012 1:05 pm

@robhague, you really made a big progress.

In your how to page, you mentioned the network performance issue.
Performance will vary according to the network, but I’ve found it reasonable for general use. It’s not really up to video, but it should be fine for presentations.
This article (http://www.makeuseof.com/tag/tightvnc-t ... c-clients/) compares the VNC family products, including RealVNC, UltraVNC, TigerVNC and TightVNC.

|| VNC || Memory working set / private (KB) || network (B/Sec) ||
|| RealVNC || 10,284/4,520 || 1,887 ||
|| UltraVNC || 11,420/4,932 || 1,621 ||
|| TigerVNC || 11,788/5,328 || 5,840 ||
|| TightVNC || 8,004/6300 || 3,218 ||

If the UltraVNC can be installed on Raspian, we would benefit a better network performance.

Besides the VNC family, do you know other open source projects which can be used to share the screen? The functionality of TightProjector is exactly what we require for the network displayer. But it doesn't support Mac OS X and Raspian systems. I'm looking for a lightweight project.

alexchamberlain
Posts: 121
Joined: Thu Jun 14, 2012 11:20 am
Location: Leamington Spa, UK

Re: Implement network displayer via RPi

Mon Aug 06, 2012 1:10 pm

X11...

If it could work, the best way would be to have an X server running on the display and simply forward X displays to it.
Developer of piimg, a utility for working with RPi images.

robhague
Posts: 12
Joined: Sun Sep 04, 2011 8:14 am

Re: Implement network displayer via RPi

Tue Aug 07, 2012 7:54 pm

I don't know of any other open-source option that is as cross-platform and general as VNC. While X11 applications can be run quite happily on Windows and Mac, it can't be used to remote native applications on those platforms. Also, performance is a question; X11 is sensitive to network latency, especially for graphically intensive applications. There are things you can do to improve matters, but it wouldn't solve the portability issue. That said, it'd be quite easy to support VNC as well as X; the setup I described already runs an X server. However, I'm not sure what you'd do about input; my assumption is that you'd want to use the mouse and keyboard on the system attached, rather than the ones on the Raspberry Pi.

I know there's an open-source client for Apple's AirPlay (see, for example, RaspMBC), but I don't know of a server. In any case, it'd likely be a single implementation, and Apple could change the protocol at any point. VNC has the advantage of multiple well-tested implementations. In terms of performance, it's worth investigating the different encodings supported.

Cheers,
Rob

Oetss
Posts: 6
Joined: Sat Jan 05, 2013 11:07 am

Re: Implement network displayer via RPi

Sat Jan 05, 2013 11:10 am

Dear Jeffery,

This is exactly what I was looking for.
Is everything working out alright? Is there something we can test for you?

Greetings,
Michiel

Imstuck
Posts: 2
Joined: Sun Jan 20, 2013 9:08 pm

Re: Implement network displayer via RPi

Sun Jan 27, 2013 4:47 pm

I'm looking for exactly the same. Did you get anywhere?

edebakker
Posts: 1
Joined: Wed Jan 30, 2013 5:08 pm

Re: Implement network displayer via RPi

Wed Jan 30, 2013 5:10 pm

Dear Jefferey,

Sounds like a very promising project, and something I will definately be interested in in using in the near future. Any luck on finding a solution?

greetings
Erik

172pilot
Posts: 13
Joined: Wed Mar 06, 2013 9:10 pm

Re: Implement network displayer via RPi

Wed Mar 06, 2013 9:29 pm

This is what I'm looking for too, but I want it to emulate a "Network Projector" which is a Microsoft RDP protocol based standard that's built into Windows since Vista.. Theoretically you should be able to hit a function key and get it to discover your network projector and immediately mirror the screen to it... BUT, I'd be interested to help test other methodologies as well. any progress?

synacknz
Posts: 1
Joined: Sat Mar 23, 2013 7:51 am

Re: Implement network displayer via RPi

Sat Mar 23, 2013 8:03 am

Hi, I have looked into this as well, I also wonder if this could be used to tie it in as a second moniter. Anyhow the background on how it works is documented on MSDN here.

http://msdn.microsoft.com/en-us/library/bb931330.aspx

http://msdn.microsoft.com/en-us/library ... d.60).aspx

http://msdn.microsoft.com/en-us/library ... d.60).aspx

Look forward to any solutions you come up with. It should be doable with a simple web service that can trigger a RDP request back to the submitter.

slimjim2234
Posts: 5
Joined: Thu Jun 13, 2013 2:00 pm

Re: Implement network displayer via RPi

Wed Nov 13, 2013 8:58 pm

i'd like a solution to this too, here are the closest things I have found:
xdmx
maxivista
zonescreen
http://www.piwall.co.uk/

I believe you're answer lies in the piwall.

Erfa
Posts: 1
Joined: Thu Jun 19, 2014 12:33 pm

Re: Implement network displayer via RPi

Thu Jun 19, 2014 12:38 pm

I would also really like something like this.

The project Airtame is more or less exactly what I would need, but it hasn't been released yet. It's basically this, but they have replaced the RPi with their own dongle. Apparently they tested it with RPis initially though, and plan to release the software for that as well, later this year.

Sounds promising!

bernarddt
Posts: 1
Joined: Thu Jun 30, 2016 2:30 pm

Re: Implement network displayer via RPi

Thu Jun 30, 2016 2:33 pm

I had exactly this same idea to use a RPi as a VNC client, and also to add some sort of web interface to control the presentation. It can be expanded to add a Samba server with a share to allow presenter and participants to share files.

Return to “Other projects”