A Suckless inspired dashboard application, targeting raspberry pis.
Go to file
2022-01-28 17:34:14 -05:00
bin Add bin folder 2021-12-17 13:41:12 -05:00
font Update fonts 2021-09-18 20:58:43 -04:00
img Improve background of plex panel 2021-12-23 21:26:51 -05:00
scripts Add contract to qrcode 2021-12-21 19:42:26 -05:00
src Add homeassistant network stats to wifi panel 2022-01-28 17:34:14 -05:00
tests Add home assistant test script 2022-01-28 17:31:26 -05:00
.gitignore Add home assistant test script 2022-01-28 17:31:26 -05:00
CREDITS.md Add and show weather icons 2021-12-22 19:14:41 -05:00
DEVELOPMENT.md Add FAQ to DEVELOPMENT 2022-01-17 15:02:20 -05:00
LICENSE.txt Add LICENSE.txt GPLv3 2021-12-22 23:00:29 -05:00
Makefile Add wifi qrcode script and instructions 2021-12-21 17:53:24 -05:00
README.md Update README with goals 2022-01-28 16:42:52 -05:00

dashboard

My dashboard, for my house. Display RSS feeds and other custom bits of info via direct SDL2 calls.

Features/TODO

  • (DONE) Write straight to framebuffer (sdl2)
  • (DONE) Display Weather rss json feed
    • Get UV Data from openUV
  • (DONE) Display Wifi qrcode
    • Get wifispeed and number of clients from home assistant
  • (DONE) Display plex currently playing
  • Display camera feed
  • Integrate with Home assistant data (New panel)
  • Integrate with octoprint

Depends on

  • sdl2
  • stdlib
  • rapidxml
  • rapidjson
  • libcurl

optional dependencies

  • Weather
    • rapidjson
    • libcurl
  • Plex
    • rapidjson
    • libcurl
  • Wifi
    • qrencode (for generating join code)

Building sdl2 on rpi

Run in this order

sudo apt-get install libdrm-dev libgdm-dev

Next downlad the SDL source tarball

cd sdl-src
./configure --enable-video-kmsdrm
make -j4
sudo make install

compile the test.cpp file provided in ./tests . There should be output on the screen as flashing. Feel free to change the desired graphics driver in the raspberry pi config

Developing your own panels

Refer to the development documentation

Usage

To compile:

make all

To install:

make install

To uninstall:

make uninstall

Wifi

The makefile by default will call a script that will generate a wifi qr code for you. You can add your SSID and password by editing the WIFI_SSID and WIFI_PASS variables in the make file, or by calling the script yourself in ./scripts. You can cleanup the wifi image at any time by calling make clean-wifi. Next time the executable is built it will regenerate the image.

The qr code generation relies on the program qrencode. It can be installed on any debian system using sudo apt install qrencode. By default the image has a transparent background. If you would like a different background, you will need to adjust wifi.cpp to adjust where it is located to your preference.

Plex

The plex panel relies on you having Tautilli installed on your local network. In plex_config.hpp just change the IP and Port to your local Tautulli server and everything should work.