Headless SBC (Single Board Computer)
Definition: headless is when an SBC (single board computer) is installed in a robot without a monitor, keyboard, or mouse.
Mounting an SBC (single board computer) on the robot, such as a LattePanda, Rock Pi X, Up Board, Atomic Pi, etc., provides the freedom for your robot to roam autonomously. When running headless, the computer will most likely not have a monitor, keyboard, or mouse. Meaning, you have to interact with the computer remotely over a remote desktop connection. There are a few things to consider when setting up a computer for a headless robot.
*Note: We recommend reviewing our Windows 10 Performance Tips before continuing these steps.
Disable Windows Password
When installing windows on your SBC, you can press "ENTER" when prompted for a password when creating the account. That will set an empty password, which means the computer will boot directly into Windows logged in as your specified account. However, if you have already set a password for your Windows account, you can disable the password.
Press the Windows key or Start Menu and type "Change Password."
Press the Change Password option. Enter your current password and leave the new password field blank.
Tight VNC - Remote Terminal Connection
To connect remotely to the SBC, we recommend using Tight VNC. This desktop sharing program allows a secure remote connection, and the program is free to use. By default, the program uses TCP port 5900, which means you can open a redirection port in your firewall and connect to the robot from anywhere in the world - given that you use your router's public IP address. Installing Tight VNC is relatively straightforward. Download the installer for your operating system (32 or 64 bit) and run the installer - select COMPLETE to install the server & viewer. Following the installation, the program will prompt for passwords to assign to the computer.
Now, you may install the Tight VNC program on another computer, your laptop, for instance, and connect to the robot SBC. There is no need to install the server when installing on your computer, so select CUSTOMIZE and deselect the server option. Only install the viewer on your laptop.
When you are connecting to the robot's SBC, you do so by the IP Address of the robot. If you're on the same network, say your home network, the IP address will be on the robot SBC. Use a command shell and type IPCONFIG to view the IP address. However, if you are connecting from a remote public IP address through your router, you will need to know the PUBLIC IP address of your router.
Get Local IP Address
Get Remote IP Address
Just remember if you want to connect remotely over the internet, your router will need to forward the port 5900 TCP to the local IP address of the robot.
Headless HDMI Resolution
When computers do not have a monitor connected, the screen resolution is not set. This usually means the screen resolution will be small, or the desktop will not be visible from a remote VNC connection. Even if you attempt to change the screen resolution in Windows, you will notice the drop-down will be disabled in grey. The video card cannot report the supported resolutions due to not having a monitor connected and thus defaulting to a low resolution. The solution is to use an HDMI Dummy Emulator. You can find them all over from Amazon to AliExpress. Here is an example of what you would be looking for: HDMI DDC EDID Dummy Plug Headless Ghost Display Emulator Fit Headless-1920x1080@60Hz-3Pack.
Once the HDMI Dummy Emulator is connected to your SBC, connect to it via VNC and configure your desired resolution. The HDMI emulator will pretend to be a monitor and thus allowing Windows to set the desired screen resolution for your VNC connection.