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 Raspbian Bullseye and a full HD monitor (1920×1080 pixels) 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:
- Run in the terminal:
# Clone the git repository
git clone https://github.com/yktoo/infopi.git
# Install NPM modules
cd infopi
npm 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.ts
you copied on step1
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:
npm run electron
You 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 npm run package
.
To create a package for Raspberry Pi run npm 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.deb
To 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
infopi
See LICENSE.
- Angular
- Chart.js
- ng2-charts
- xml-js
- Weather Icons
- Electron, electron-packager and electron-installer-debian
- Weather info: Buienradar.nl
- Train info: Nederlandse Spoorwegen
- Bus info: openOV
- News: BBC
- Sensors: home automation server instance of OpenHAB.