A configurable LCD dashboard with touch functionality for headless Raspberry Pi servers.
This repository is in progress for the first documented version. The current version works perfectly, but there are still a few fine adjustments to make the configuration easier - please be patient and visit again in some days. By searching for a solution to fulfill all important steps i found a repository as a very good starting point. I didn't create a fork because there are to many changes and enhancements. Therefore i started with this new repository. In the final README you will find all informations about the original repo, this repo and the changed parts.
As the Raspberry is to be operated as a server in the distribution cabinet, it not only needs a DIN housing, but also a display to show the most important system information. A solution with various green and red LEDs seemed more complex to me than simply connecting a display. Another requirement was to be able to restart and shut down the Raspberry using buttons or a touch display. Last but not least, the Raspberry should not only be supplied with power via PoE, but also offer an M.2 slot for an NVMe SSD - because this is the only way to ensure long-term operation without possible SD card failures. In addition, the space required for operation via PoE is reduced as there is no need for an additional power supply unit.
The search for the necessary components turned out to be more difficult than expected. The market offers only a few DIN housings for the Raspberry Pi - espacially for the model 5, and there are only a few displays with a touch option that are small enough to fit into the housing. The range of combined PoE-M.2 HATS is manageable, but more than sufficient.
While testing the possible components, I decided to document two variants for mounting on a DIN rail and another variant for desktop use:
- Configuration with 4M wide housing for exclusive power supply via PoE
- Configuration with 6M wide housing for power supply via PoE, 24V or 220V
- Configuration with standard housing for power supply via USB plug-in power supply unit without touch functionality
As already mentioned in the introduction, the aim is to use the Raspberry as a headless server (i.e. without a screen) and to place it in a DIN-compliant distribution board. There it should perform its service, installed with any system according to the user's requirements.
In my case, I only need a 'lightweight' system to record data from the KNX system with:
- InfluxDB
- Grafana
In most cases, however, the Raspberry will certainly run as a server for
- NodeRed,
- HomeAssistant,
- OpenHAB or
- IOTStack (with the desired containers)
In the end, however, this is irrelevant, as it is all about DIN-compliant installation and the working dashboard.
- Record system data native in InfluxDB (without extra tools like Telegraf)
- Use with ST7789V2-based displays
- portrait or landscape orientation
- automatic resizing of text and fields based on display
- Use with CST816T-based touch panels
- control dashboard menu with gestures and buttons
- Values
- used RAM in percent
- used CPU in percent
- used HDD in percent
- used SWAP in percent
- current CPU temperature
- current SSD temperature
- current check if Influx is alive
- Influx measurements of the last x-hours/days
- current check if Grafana is alive
- current upload/download transfer rate
- Value visualisation
- entire value range from 0 to 100 in text color
- Set threshold for each value to switch from text color to 'alert' color. Alert color makes a fading from green to red based on the real value.
- Switch with touch panel between
- Dashboard
- with configurated values
- System information
- IP adress
- hostname
- Raspberry Pi version
- Reboot system
- Shutdown system
- Dashboard
Upcoming
Upcoming
The text is much brighter on the small displays (based on the backlight and pixel-pitch)
- Raspberry Pi 5
- Touch display that fits into the DIN housing / desktop case (preferably with ST7789V2 driver)
- DIN case / standard case
- 3D printed model of DIN Case top / desktop case cover
- Python >= 3.9
- NVMe-CLI Tool (if using Raspberry Pi with installed NVMe-SSD)
- Waveshare DIN RAIL CASE Pi 5
- State: Tested
- SKU: 26682 / PI5-CASE-DIN-RAIL-B
- Use with: Raspberry Pi 5
- Size: 4M
- Italtronic MODULBOX XTS !!!CURRENTLY NO AIR VENTS
- State: Untested
- SKU: 25.0410000.RP5
- Use with: Raspberry Pi 5
- Size: 4M
- Phoenix Contact BC Series CURRENTLY NOT OPTIMIZED FOR RPi 5
- State: Currently Untested / Upcoming
- SKU: 2202874
- Use with: Raspberry Pi 5
- Size: 6M
- Argon Neo 5 M.2 NVME
- State: Untested
- SKU: N/A
- Use with: Raspberry Pi 5
- Size: standard
- Waveshare - 1.69inch LCD Touch Display Module, 240×280
- State: Tested
- SKU: 27057 - 1.69inch Touch LCD Module
- Resolution: 240x280
- Use with: DIN case
- Waveshare - 1.69inch LCD Display Module, 240×280 WITHOUT TOUCH
- State: Tested
- SKU: 24382 - 1.69inch LCD Module
- Resolution: 240x280
- Use with: DIN case, standard case
- Phoenix Contact - BC DKL 2.4" Touch Display
- State: Currently untested / Upcoming
- SKU: 2202874
- Use with: Phoenix Contact DIN case 6M
- Raspberry Pi M.2 HAT+
- State: Tested
- SKU: N/A
- Use with: Raspberry Pi 5 with standard USB power supply
- Supported form factors: 2230, 2242
- Waveshare PoE M.2 HAT+
- State: Tested
- SKU: 28411
- Use with: Raspberry Pi 5, DIN case
- Supported form factors: 2230, 2242
- 52Pi P33 M.2 PoE+ HAT
- State: Tested
- SKU: EP-0241
- Use with: Raspberry Pi 5, DIN case 6M (Doesn't fit in 4M case)
- Supported form factors: 2230, 2242, 2260, 2280
- 52Pi M.2 NVME PoE+ HAT
- State: Currently untested / Upcoming
- SKU: EP-0240
- Use with: Raspberry Pi 5, DIN case
- Supported form factors: 2230, 2242
A review about combined HATs was made by Jeff Geerling GitHub / Blog on YouTube:
- Waveshare Micro HDMI to HDMI Multifunctional Adapter
- State: Currently untested / Upcoming
- SKU: 28411
- Use with: Raspberry Pi 4, Raspberry Pi 5, DIN case 6M
- DeskPi KL-P24 Micro HDMI to HDMI Adapter Board
- State: Currently untested / Upcoming
- SKU: DP-0036-2pcs
- Use with: Raspberry Pi 4, Raspberry Pi 5, DIN case 6M
- Argon THRML 30mm Active Cooler
- State: Currently untested / Upcoming
- SKU: N/A
- Use with: Raspberry Pi 5, DIN case, standard case
- Raspberry Pi Active Cooler
- State: Tested
- SKU: N/A
- Use with: Raspberry Pi 5, DIN case, standard case
-
- State: Tested without case / case test upcoming
- SKU: N/A
- Use with: Raspberry CM4, perhaps DIN case 6M
- Special features: M.2 Slot, Raspberry CM4, flexible power supply
A review about TOFU Board was made too by Jeff Geerling on YouTube:
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
If the Raspberry Pi is used with an M.2 HAT with an NVMe-SSD installed, the NVMe-CLI tool should be installed beforehand with this command:
sudo apt install nvme-cli
Download this respository in your user folder with:
sudo apt-get install git
git clone https://github.com/araeubig/Raspberry-Pi-Dashboard
You could run the dashboard 'one-time' or as 'service'. For customizing and testing the one-time run makes sense. After customizing / configuring the service is the preffered option.
Start the dashboard with:
cd Raspberry-Pi-Dashboard
./run.sh
Stop the running dashboard with ⌃ Control + C
Start the dashboard and run as service on boot with:
cd Raspberry-Pi-Dashboard
sudo ./create_service.sh
Stop the dashboard service with:
sudo systemctl stop rpidashboard.service
Remove the dashboard service with:
cd Raspberry-Pi-Dashboard
sudo ./remove_service.sh
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming
Upcoming