Raspberry Pi Connect software, currently in beta, aims to make remote access to the Raspberry Pi boards even easier and more secure by using a web browser and minimal configuration needed.
It’s been possible to access Raspberry Pi boards remotely through VNC forever, and the X protocol used to be an option before the switch to Wayland, but both can be somewhat hard to configure especially when wanting to access the machine on a different local network or from the internet. Raspberry Pi Connect aims to change that.
Under the hood, we’re told the web browser and the Raspberry Pi device established a secure peer-to-peer connection with the same WebRTC communication technology found in programs such as Zoom, Google Meet, or Microsoft Teams. The Raspberry Pi runs the “rpi-connect” daemon that listens to screen-sharing requests from the Raspberry Pi Connect website and establishes a secure, low-latency VNC instance directly between the Pi and the browser. Note the website is only used to establish the connection, so no traffic passes through Raspberry Pi Limited servers after that, except if it’s not possible to establish a direct connection in which case traffic may be securely relaid through our Raspberry Pi servers using DTLS encryption.
Since it’s supposed to be so easy, and I have a Raspberry Pi 5 on my desktop, let’s give it a try. Note Raspberry Pi Connect only works with Raspberry Pi OS 64-bit “Bookworm” with Wayland (the Lite version is not supported). I just connected an Ethernet cable and power to my Pi and did not connect any display. After accessing the board through SSH, I installed the (beta) software as follows:
1 2 3 4 |
sudo apt update sudo apt dist-upgrade sudo apt install rpi-connect sudo reboot |
At this point, we’ll need to create a Raspberry Pi ID with our email, but I noticed I already had one for some reason. Users running the desktop will find a remote access icon in the top right corner, where they can sign in with their Raspberry Pi ID. That also means you lose some anonymity/privacy compared to simply using VNC.
But since I’m running the Raspberry Pi 5 headless, I can use the command as explained in the documentation:
1 2 3 4 |
pi@raspberrypi:~ $ rpi-connect signin Complete sign in by visiting https://connect.raspberrypi.com/verify/xxxx-yyyy ⣷ Waiting for a response… |
I opened the link on my PC, and signed in…
and created a new device as requested.
At this point, we should be done with a congratulatory message.
Clicking on “view your dashboard” will bring us to the connect.raspberrypi.com website with our devices, and right now, I only have my one and only Raspberry Pi 5 showing up.
Clicking on Connect will start the remote access session. It works although with a lag as usual for this type of solution.
A bidirectional clipboard is there too, but I could only copy from the screen sharing to my laptop, as copying text from my laptop to the remote session (Search field on CNX Software website) did not work and the “Paste to remote” button became greyed out after I tried that.
I also tried it on my phone for fun, and after passing the annoying captchas, I managed to access the Raspberry Pi 5 remotely using my Android smartphone.
Using a desktop environment on a small screen is already a challenge, but with the controls taking a large part of the screen’s real estate it’s close to impossible to use. It’s still possible to zoom on the desktop so that it’s almost full screen, but the controls go away.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Why do I get “Unable to locate package rpi-connect” on Bullseye?
Because you need Bookworm 64-bit. It won’t work on earlier versions.
I may have missed it, but unfortunately no source code is available for either the server or the client.
Raspberry Pi Limited is not that interested in making open-source contributions and the code is probably not that device-specific, so it could potentially be copied by others.
For sure. It’s always ironic because their OS only exists because Debian made code and packages that were not device specific available to everyone.
I didn’t find any source code either and no reply from [email protected] when I asked about the license. The Debian package have deliberately silenced the lintian warning about missing copyright file.
I use NoMachine. No RaspberryPi.com man in the middle needed, but I only care about accessing on the local network and have not attempted any further.
Would rather use Head/Tailscale, Nebula etc.
What interests me is if it does have audio from the RPi to the computer and it is possible to use a micro hooked to the computer to send the audio to the RPi as well, as I want a solution that allows me to use a full Android compatible remote device from anywhere for specific apps such as WhatsApp or other OS dependant apps. I don’t want emulation, I want the real deal.
I’ll see what it does, and follow up. It creates a popout window, sound should be possible. I didn’t see any menu on the popout though, or provision for volume control though like you would with a video or KVM client.
I have checked the playing of a video via vlc, and get locally very good video playback. No evidence of sound being possible, and the window is silent. On further examination, the ctl, alt, and “system” keys have icons across the bottom of the popout. My suggestion is to see if you can find a program you can use to establish the stream, since you can initiate a session remotely, and do the relay of the data stream yourself, with a client and server setup, with relay. This appears to only solve the session initiation issue, and send keyboard, display… Read more »
I can also confirm there’s no audio when playing videos. I suppose it’s not implemented yet.
It’s working great for me. PiDP 11 Nd other boards are great.
I have no router bridge so this allows access during trips.
One enhancement I’d like to see is a command line way of enabling and disabling the capability to connect.
I’d write an email client to receive enable messages with secure tokens, so that the pi could remain offline but be enabled via that method. I don’t think I’ll leave the system with connect enabled as a usual setting.
please tell me that raspberrypi hasnt moved to wayland!
New release for Raspberry Pi Connect adding remote shell access and support for Raspberry Pi OS 32-bit or 64-bit meaning any Raspberry Pi SBC from the Raspberry Pi (1) model B supports the features.
https://www.raspberrypi.com/news/raspberry-pi-connect-remote-shell-access-and-support-for-older-devices/