The idea is you can use the built in graphics to generate images that show on a remote screen. But I guess you can build a webpage showing a bitmap, which is the screen capture. But how to keep it updating? A page paying a “video”?
I don’t know the detail but I think VNC might be somewhat a simpler protocol than RDP? I am just guessing based on where I see VNC used vs RDP. I have seen VNC implemented with other graphics libraries for C/C++ development on embedded devices that use graphics displays. (emWin from Segger for example.)
For me, VNC allows easier remote support. A current device we sell is based on Windows CE 6.0. They are almost always on a closed network but a customer can set up their laptop with a cellular connection and allow me access to their desktop. They connect to the closed network via ethernet cable and I can access the devices through VNC remotely on their laptop.
Security is an issue especially if the device is on a network connected to the internet. I don’t have enough knowledge to know exactly how to mitigate the security issues but they are the same you would face with a PC using a VNC server. Our approach is a closed network with no outside connections and only enabling the VNC server on the device when it is needed.
However, my opinion comes form the remote IoT world, where bytes cost more.
I would see the the webserver as @Mike suggested would be a good use of resources.!
We implemented such functionality via OTA connection, where TeraTerm is the client.
Essentially an OTA terminal environment. This environment is only used when there is some ‘Deep’ rooted problem, where such problem is totally unknown. Requires continuous connection.
Otherwise, normally, we OTA commands to remote device (hand-rolled webserver) to gather debug data…based on what are previously known possible problems. Requires a NOT continuous connection.
@Mike let’s say we have a large machine with a SITCore controlling and measuring things. There may or may not be a screen by the machine to monitor what it is doing. Now, say I want to monitor things from an office that is few feet away from the machine. I can build a website to do what I need, but wouldn’t it be easier to just run VNC on my desktop and remotely see the same screen from the machine?
Running something similar on Android for remote access was slow over GPRS during some testing I did earlier this year and I ended up abandoning the whole idea. I now have auto capture of the LOGCAT and upload this to a server for investigation.
I think the web interface idea is a better solution but it does require that the IP address is visible to the Internet which opens up another can of worms with security and also not possible with GPRS connections in the first place. Teamviewer or similar is my go-to solution for PC desktop systems.
I assume a generic VPN client in TinyCLR is probably not possible.
I think there is a Reverse VNC connection that the VNC Server can initiate an outgoing connection to a listening VNC Viewer. Since this is an outgoing connection it would get around any cellular or routers that forbid connections from the outside.