Personal dashboard running on Raspberry Pi and displaying on Waveshare 7.5" E-ink display
- Raspberry Pi
- Waveshare 7.5" V2 display
- OpenWeatherMap API Key
- Google OAuth credentials with Google calendar enabled
- Install dependent packages -
npm install
- Install redis
- Copy
.env
from.env.default
and populate it with your configurations - Create
backbone/creds/credentials.json
and populate it with credential from Google API Oauth profile - Run
backbone/fetchAndStore.js
with GUI and proceed with Oauth (need to sign in with Google). This step is only required once - Set up cronjob to run
npm run fetch
(ornode backbone/fetchAndStore.js
) at set intervals. This will ensure redis will get updated calendar information. Calendar events are stored incalendar
key - Build frontend by running
npm run build
- Run express server by running
npm run host
(in the background if you want to keep it running) - Visit
localhost:<YOUR_PORT_FROM_ENV>
and check the dashboard in action - Install ejs
- Run
ejs refresh -i 300 rpi-7in5-v2 "http://localhost:8000"
(recommend using screen to run ejs in the background)
- Run
docker compose up -d
- Set up cronjob to periodically run
npm run fetch
as mentioned earlier - Run
ejs refresh -i 300 rpi-7in5-v2 "http://localhost:8000
(recommend using screen to run ejs in the background)