adds image

This commit is contained in:
Florian Klemenz 2022-05-05 10:03:38 +02:00
parent b4bc30962f
commit a59e0c28cf

View File

@ -1,13 +1,20 @@
# FBDASH - lightweight dashboard for the RaspberryPi without X (using framebuffer only) # FBDASH - lightweight dashboard for the RaspberryPi without X (using framebuffer only)
<a href="resources/_20220505_094153.JPG">
<img src="resources/_20220505_094153.JPG" width="200px;" align="none" hspace="25px" vspace="0" />
</a>
## Get the sources
In order to setup the dashboard start with cloning this repo ;) In order to setup the dashboard start with cloning this repo ;)
git clone https://git.klelifo.de/flo/fb-dash git clone https://git.klelifo.de/flo/fb-dash
cd fb-dash cd fb-dash
# Connect the display to the RaspberryPi ## Connect the display to the RaspberryPi
Here is some info on how to wire the display to the RaspberryPi. Here is some info on how to wire the display to the RaspberryPi.
## Full connection diagram (9 wires needed) ### Full connection diagram (9 wires needed)
Wire the display connector according to the connector scheme below.\ Wire the display connector according to the connector scheme below.\
**NOTE:** The 56 Ohm resistor is suggested for safety reasons - but it also seems to work fine wihtout it **NOTE:** The 56 Ohm resistor is suggested for safety reasons - but it also seems to work fine wihtout it
@ -23,7 +30,7 @@ Wire the display connector according to the connector scheme below.\
GND --------------------------- GND | | PIN 9,14,20,25 GND --------------------------- GND | | PIN 9,14,20,25
VCC --------------------------- 3,3V | | PIN 1,17 VCC --------------------------- 3,3V | | PIN 1,17
## Minimal connection diagram (7 wires needed) ### Minimal connection diagram (7 wires needed)
Wire the display connector according to the connector scheme below.\ Wire the display connector according to the connector scheme below.\
**NOTE:** The 56 Ohm resistor is suggested for safety reasons - but it also seems to work fine wihtout it **NOTE:** The 56 Ohm resistor is suggested for safety reasons - but it also seems to work fine wihtout it
@ -39,7 +46,7 @@ Wire the display connector according to the connector scheme below.\
GND --------------------------- GND | | PIN 9,14,20,25 GND --------------------------- GND | | PIN 9,14,20,25
VCC --------------------------- 3,3V | | PIN 1,17 VCC --------------------------- 3,3V | | PIN 1,17
## Some explanation ### Some explanation
|---------> Power |---------> Power
GND --| GND --|
VCC --| VCC --|
@ -59,7 +66,7 @@ Wire the display connector according to the connector scheme below.\
|---------> Resets the display controller when pulled low |---------> Resets the display controller when pulled low
RESET | RESET |
# Configure the display ## Configure the display
**TL;DR** just run ```make rpi-config``` **TL;DR** just run ```make rpi-config```
Some work is needed before we can actually use the ILI9341 display with the RaspberryPi.\ Some work is needed before we can actually use the ILI9341 display with the RaspberryPi.\
@ -68,10 +75,10 @@ Essentially we need to
* Load the fbtft_device kernel module with the correct parameters * Load the fbtft_device kernel module with the correct parameters
to get a working /dev/fb1 framebuffer device. to get a working /dev/fb1 framebuffer device.
## Enable SPI interface on the raspberry pi ### Enable SPI interface on the raspberry pi
echo "dtparam=spi=on" | sudo tee -a /boot/config echo "dtparam=spi=on" | sudo tee -a /boot/config
## Activate modules to be loaded at boot ### Activate modules to be loaded at boot
echo "spi_bcm2835" | sudo tee -a /etc/modules echo "spi_bcm2835" | sudo tee -a /etc/modules
echo "fbtft_device" | sudo tee -a /etc/modules echo "fbtft_device" | sudo tee -a /etc/modules
echo "options fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18" | sudo tee -a /etc/modprobe.d/fbtft_device.conf echo "options fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18" | sudo tee -a /etc/modprobe.d/fbtft_device.conf
@ -79,28 +86,28 @@ to get a working /dev/fb1 framebuffer device.
# Setup fbdash binary ## Setup fbdash binary
**TL;DR** just run ```sudo apt install -y libmariadb2 && make install``` **TL;DR** just run ```sudo apt install -y libmariadb2 && make install```
After the display is setup we can build and install the fbdash binary. After the display is setup we can build and install the fbdash binary.
## Build the sources ### Build the sources
sudo apt install libmariadb2 sudo apt install libmariadb2
make make
## Install in /usr/bin ### Install in /usr/bin
sudo make install sudo make install
## Test it ### Test it
fbdash fbdash
# Use systemd for regular updates ## Use systemd for regular updates
While we could also use cron for regular execution of the fbdash binary I opted to use systemd this time.\ While we could also use cron for regular execution of the fbdash binary I opted to use systemd this time.\
The future is now ... ;) The future is now ... ;)
## Install unit files ### Install unit files
**TL;DR** just run ```make systemd-config``` **TL;DR** just run ```make systemd-config```
The following files use systemd to setup a regular update of the dashboard screen (60s by default).\ The following files use systemd to setup a regular update of the dashboard screen (60s by default).\
@ -111,7 +118,7 @@ If you like to change the default, just edit the ```fbdash.timer``` file before
sudo systemctl enable fbdash.timer sudo systemctl enable fbdash.timer
sudo systemctl start fbdash.timer sudo systemctl start fbdash.timer
## Check timers ### Check timers
systemctl list-timers systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2022-05-04 14:16:10 CEST 28s left Wed 2022-05-04 14:15:10 CEST 31s ago fbdash.timer fbdash.service Wed 2022-05-04 14:16:10 CEST 28s left Wed 2022-05-04 14:15:10 CEST 31s ago fbdash.timer fbdash.service