Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using Windows IoT Remote Client

DZone's Guide to

Using Windows IoT Remote Client

Have a Raspberry Pi but no connected display? Fear not, Windows 10 IoT Core just added a feature that resembles remote desktop so you can interact with your devices.

· IoT Zone
Free Resource

Build an open IoT platform with Red Hat—keep it flexible with open source software.

Want to set up your Raspberry Pi with Windows 10 IoT Core and have remote access to your device with something like remote desktop? Good news! Windows 10 IoT Core supports something close, to it and there is a remote access app that works on Windows 10, Windows Phone 10, and even HoloLens.

Enabling Remote Access on Windows 10 IoT Core

Remote server support came with one of latest Windows 10 IoT updates, and it must be first enabled using the web interface.

Enabling Windows IoT Remote Server

Connecting to Windows 10 IoT Core

After this, open Windows Store and search for Windows IoT Remote Client. Install it and run it. Before doing anything on your Raspberry Pi, the connection to the device must be established.

Connecting to Windows 10 IoT Core

Working Remotely

If the Raspberry Pi is in a local network, and Remote Server is enabled, then soon, the Remote Client should show up on the screen of your Raspberry Pi.

Windows IoT Remote Client connected to RaspberryPi

What we see on the Windows IoT Remote Client screen is what Windows IoT is displaying to the screen if the screen is connected. By example, we can use the Windows 10 IoT Core command line to run commands.

Windows IoT Remote Client displaying command line

If command line access is not allowed for default users, we get the following error for every command we try to run: Access is denied. (Excep_FromHResult 0x80070005). Your device is not allowed to run the command line processor. To get rid of it, just log into the Raspberry Pi using PowerShell and run the following command:

reg ADD 
“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\EmbeddedMode\ProcessLauncher” /v AllowedExecutableFilesList /t REG_MULTI_SZ /d “c:\windows\system32\cmd.exe\0”


You should be able to use the command line now with default access:

Windows IoT Remote Client displaying command line

Remember one thing: Allowing default accounts to run everything on the command line is not a safe option, as every user in your network can connect to RaspberryPi and see its screen.

Remote Access over Mobile

There’s Windows IoT Remote Client also available for Windows Phone 10 devices. On Windows Phone 10, it offers almost the same experience as on desktop,

Windows IoT Remote Client on Lumia 950

On mobile, we will see the same main screen as with desktop application.

Windows IoT Remote Client on Lumia 950

For example, we can change settings.

Windows IoT Remote Client on Lumia 950

Of course, we can do all the other things too that work on the desktop version.

I found out that using a Lumia 950 with a Bluetooth keyboard and mouse to manage my Pi with remote control applications is way more convenient than using the touch screen.

The good thing is that we can now set up a Raspberry Pi and manage it with no need for a connected display. Windows IoT Remote Client works like remote desktop for Windows 10 IoT Core.

Wrapping Up

After some playing with the Windows IoT Remote Client, I found it to be a useful tool for those who have Raspberry Pis with no connected displays. It’s easy to control a Pi via desktop or Windows Phone. On phone, Windows IoT Remote Client is more convenient to use when the phone has a keyboard and mouse connected to it. The Windows IoT Remote Client makes it also easy to debug and try out Windows 10 IoT Core applications that have a user interface.

Download Red Hat’s blueprint for building an open IoT platform—open source from cloud to gateways to devices.

Topics:
windows 10 iot core ,remote access ,iot ,tutorial ,user interface

Published at DZone with permission of Gunnar Peipman, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}