Using Densitron UReady 1U and UReady 2U Displays for with Raw Panel
The SKAARHOJ xpanel-touch package allows users to create browser-accessible software UIs, appearing on the local network as Raw Panel devices.
Densitron presents compelling touch screen options for use with xpanel-touch. Their rack-mountable designs are notable. Additionally, certain screens come equipped with an internal computer, enabling direct web browser operation on the screen without requiring an external driving computer.
For a 1RU, 2RU, or 4RU Densitron touch display connected to any computer as a screen: This guide does not cover this setup. Essentially, you will need to launch a web browser in kiosk mode (full screen) directed to the SKAARHOJ Blue Pill device hosting the xpanel-touch webserver.
- A 2RU or 4RU unit with an integrated computer, running Lubuntu: We cover this setup below with instructions on autostarting the web browser.
- Build a compact "rack" style touch panel using a 1RU USB display and a Raspberry Pi driving it. Covered below as well as a DIY project.
This guide will assist in quickly setting up such configurations.
UReady 2U (with built-in x86) setup
- The units come pre-installed with the Lubuntu distribution, which should work immediately upon setup. This simplifies the process, requiring only the setup of an autostart sequence to open the browser in full-screen mode.
Preparing for Setup:
- Since our unit did not have an SSH server installed, you will need a keyboard and, preferably, a mouse.
- The default username and password are "densitron/densitron."
- Connect your keyboard and mouse to the unit.
- Power on the unit.
- After the device boots, locate the terminal icon on the taskbar and open it.
Create Autostart Entry:
To create a new autostart entry, type the following command in the terminal:
sudo nano /etc/xdg/autostart/display.desktop
If prompted, enter the password. This action will open an empty file for editing.
Lubuntu comes with the Firefox Browser pre-installed, which you'll use for this setup.
You will need to edit the content of the file to suit your needs. The content should resemble the following template, but you'll need to replace it with the IP address and port of your xpanel-touch server:
[Desktop Entry] Name=Firefox Exec=firefox --kiosk http://192.168.11.5:7952
Save the changes and exit. That's all there is to it! When the panel restarts, Firefox will open in full-screen mode at the address specified in the configuration. If you need to change the IP address later, simply edit the file again.
sudo nano /etc/xdg/autostart/display.desktop
To prevent the browser from automatically starting up, you can follow these steps:
sudo rm /etc/xdg/autostart/display.desktop
Variant with embedded version of xpanel-touch
It's possible to run the xpanel-touch application directly on the Densitron panels with built-in computer. This entails:
- Receiving a special xpanel-touch application from SKAARHOJ upon request, licensed to your device.
- Setting it up to start on every boot of the panel
- Pointing the screens web browser to the localhost instead of external IP address.
Running the binary:
There are likely several methods to transfer the xpanel-touch binary from SKAARHOJ to your Densitron panel. One effective approach is using a USB stick via the USB port. We recommend copying the binary into the home directory of the densitron user, setting execute permissions, and running it from there. Below are examples with the copy command and changing permissions:
After running it for the first time, two things will happen:
- A config file, xpanel-touch.toml, has been created in the home folder.
- A code, "MID", is shown, please send that to SKAARHOJ to receive your license. In return you will get a new binary which is licensed for your Densitron panel.
You can use nano to edit the config file:
This will lead you to an editor where you should modify at least the Ratio and Layout settings, for example to these values:
Ratio = "UReady 2U"
Layout = "Stream Deck Adapt"
The layout can be other options known from the configuration of xpanel-touch.
WSPort set to 7950 would be standard and Port for raw panel is usually set to 9953
Setting up Auto start:
It can be started by systemd creating a config file, rawpanel.service, in /etc/systemd/system/ with the following contents:
Description=Raw Panel Server
After creating this file, you must reload systemd and set it to auto start on every boot:
sudo systemctl daemon-reload
sudo systemctl enable rawpanel.service
Restart if needed with this:
sudo systemctl restart rawpanel.service
Check status like this:
sudo systemctl status rawpanel.service
Changing the URL for Firefox
Finally, change the URL for Firefox to localhost on port 7950 by editing the file "/etc/xdg/autostart/display.desktop" as per above:
Reboot the panel. Upon booting, you should see the touch UI displayed, similar to the image below (note that in the image, a Raw Panel client is connected, populating the buttons with content).
To test the connection, you can use a telnet client. For Mac users, you can use the command 'nc [IP address of panel] 9953' in the terminal. After connecting, type 'list', and you should see an output resembling this:
Note: During our tests, we observed that the Raw Panel server operating on the Densitron panel did not announce itself on the network via mDNS. The reason for this is unclear, but it may be addressed in future updates.
UReady 1U + Raspberry Pi 4 setup
- Raspberry Pi 4
- 5V/3A PSU with USB Type C cable
- DM-066GN-OPUR01 UReady 1U Single Monitor
- microSD card for the operating system
- USB keyboard/mouse (only needed during initial setup)
- Monitor (only needed during initial setup)
- USB FlashDrive (optional, only needed during initial setup)
Extra Power for Densitron Screen
The Densitron UReady 1U screen requires additional 5V power. There are two recommended methods to provide this power:
Using a MicroUSB Cable
- Connect an additional microUSB cable from one of the two "USB Out" ports on the screen to another USB port on the Raspberry Pi or to an external power supply. This is probably the easiest.
Using a 5V Power Plug:
- Alternatively, you can use the 5V Power Plug, which is compatible with a Molex 43025-0200 and 43030 series crimp terminals.
- We recommend using the Raspbian OS (Buster) version dated 2020-08-24. It can be downloaded here.
- We suggest using the Raspberry Pi Imager for flashing the OS. It's available for various operating systems and can be downloaded here.
- If you're unsure about the process at this stage, helpful guidance can be found in this article.
Setting Up Your Touch Panel:
- Insert the pre-flashed SD card into the Raspberry Pi (RPI).
- Connect a HDMI-compatible monitor and the USB keyboard and mouse.
- Connect the Densitron screen to the RPI using a USB-A to microUSB cable (into either USB 2.0 or USB 3.0 port). Note: The Densitron screen won't display anything at this stage.
- Power on the RPI.
Complete Raspbian OS Installation:
- Follow the onscreen instructions to complete the installation. This includes setting up the user, time zone, WiFi network, etc.
Enable Remote Access:
- To facilitate future adjustments without needing a keyboard and mouse, enable SSH and VNC servers on the RPI.
- Click the raspberry icon in the upper left corner of the screen.
- Navigate to Preferences -> Raspberry Pi Configuration.
- In the 'Interfaces' tab, enable SSH and/or VNC.
- Click 'OK' and reboot the RPI.
After rebooting, you should be able to remotely access the RPI via SSH or VNC.
Now, our next steps are to activate the Densitron screen and configure the browser to automatically open at the required URL address. To simplify this process, we have created a small shell script that will automatically make the necessary modifications for you.
Easy Setup Method
- Open the Terminal application on your Raspberry Pi.
- Run the following command to download the script. (If your Raspberry Pi doesn't have internet access, download the file on another machine with internet access and transfer it to your Raspberry Pi using a USB flash drive. Then, continue from step 3.)
curl -O https://raw.githubusercontent.com/SKAARHOJ/Support/master/Files/Densitron/DensitronSetup1U.sh
3. Next we need to give permissions to execute the file we have just downloaded. Execute following command:
sudo chmod 777 ./DensitronSetup1U.sh
4. Now we are ready to execute the script. Execute following command:
When prompted, enter the IP address and port of your xpanel-touch web server (the Blue Pill device where it's installed) and then press ENTER.
5. That is it, you can now power down your RPI, disconnect keyboard,mouse and HDMI screen. Next time you power it on the browser should open in full screen mode on the Densitron screen.
Advanced Setup Method
For advanced users interested in creating a custom setup, such as combining two Densitron screens or pairing a Densitron screen with an HDMI screen, detailed guidance is beyond the scope of this introductory tutorial. However, we will provide some basic hints to get you started:
- Edit or create /etc/X11/xorg.conf - in order to "describe" your multi monitor setup.
- Edit or create /etc/xdg/autostart/display.desktop for browser auto startup "tuning".
- Edit /etc/xdg/lxsession/LXDE-pi/autostart. It is crucial to add the following parameters:
@xset s off @xset -dpms
If you don't apply the recommended modifications, you may encounter USB dropouts, where the device disconnects and then reconnects during screen saver activation or wake-up. This issue can result in a 'green' and unresponsive screen. The Light Display Manager doesn't automatically detect this problem. Therefore, you'll need to either manually restart the Light Display Manager or create a udev rule to restart the service automatically when this condition occurs.
sudo service lightdm restart