Skip to content

yktoo/infopi

Repository files navigation

InfoPi icon

InfoPi Information server application

Build status

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:

Screenshot of the application

Dependencies

In order to build the package you will need:

Getting started

  1. 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
  1. If you plan to use train information, request an NS API key here.
  2. Edit the file src/environments/config.ts you 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.
  3. 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).

Packaging

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

Installing

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.

Finishing touch

In order to make InfoPi start at bootup, you can add the following commands to ~/.config/lxsession/LXDE-pi/autostart:

# InfoPi app
infopi

License

See LICENSE.

Credits

Data providers