InfoPi is a single-page web application that displays various live data, like weather forecast and train departure times. The application is developed with Angular and can be packaged with the Electron browser to make an all-in-one executable bundle.
My own implementation was crafted for Raspberry Pi running Raspberry Pi Bookworm and a full HD monitor in the portrait orientation, but it will (supposedly) run on any platform that Electron supports and properly adapt itself to a broad range of resolutions.
This is how the information page looks like:
In order to build the package you will need:
- Node.js 24+
- corepack (normally a part of Node.js distribution)
- Angular CLI
- Run in the terminal:
# Clone the git repository
git clone https://github.com/yktoo/infopi.git
# Install dependencies. NB: make sure you've run 'corepack enable' first
cd infopi
yarn install
# Copy the sample configuration
cp src/environments/config.sample.ts src/environments/config.ts- If you plan to use train information, request an NS API key here.
- Edit the file
src/environments/config.tsyou copied on step 1 and update values in it. Also put the NS API key there if you have one.
The file provides some sane initial values, like refresh intervals. You are encouraged to change stuff like the weather station or bus stop as you see fit. - Test the application:
yarn electronYou should see a new browser window started in the kiosk mode (use Ctrl+Q to exit or Ctrl+Shift+I to open Developer Tools and diagnose problems).
To create a .deb package for your current architecture run yarn run package.
To create a package for Raspberry Pi run yarn run package:rpi.
The packages will be created as dist/installers/infopi_XXX_YYY.deb
Once you have a .deb, copy it onto your Raspberry Pi and install using:
sudo dpkg -i infopi_XXX_YYY.debTo test your setup, run infopi from the command line or use the Application menu launcher created by the package.
In order to make InfoPi start at bootup, you can add the following commands to ~/.config/lxsession/LXDE-pi/autostart:
# InfoPi app
infopiSee LICENSE.
- Angular
- Chart.js
- ng2-charts
- xml-js
- Weather Icons
- Electron, @electron/packager and electron-installer-debian
- Weather info (for the Netherlands): Buienradar.nl
- Train info: Nederlandse Spoorwegen
- Bus info: openOV
- FX rates: ECB
- Home automation: locally-run OpenHAB.
- Waste collection schedule (for the Netherlands): mijnafvalwijzer.nl
