Emulates a Dublin Bus electronic sign, showing ETAs for different bus lines
- Clone the repository into your /home/pi directory.
- (optional) Configure the Raspberry Pi to use the non-standard display.
- Install all dependencies.
- Download the TTF font into the program's directory.
- Change main.py, updating STOPS to reflect the stop(s) you want to watch.
- Run main.py
Open /boot/cmdline.txt
and add the parameter quiet
at the end of the line.
If you plan on using an ultrawide monitor with a similar aspect ratio as the actual Dublin Bus displays (e.g. HSD123KPW2-D10), add the following lines to your /boot/config.txt:
framebuffer_width=1920
framebuffer_height=720
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
disable_overscan=1
hdmi_timings=1920 0 88 44 148 720 0 4 5 36 0 0 0 60 0 100980000 1
If your display's resolution is not 1920x720, you will also need to change the code to adapt to your specific size.
- iso8601
- zeep
- libSDL2_ttf-2.0.so.0
- python3-numpy
- python3-pandas
- python3-fiona
- python3-pyproj (to build gtfs_kit2)
- libspatialindex-c6
- yaml
$ sudo apt install python3-iso8601 python3-zeep libsdl2-ttf-2.0-0 python3-numpy python3-pandas python3-fiona python3-pyproj libspatialindex-c6 python3-yaml python3-urllib3
- pygame 2
- GTFS-Kit
$ sudo apt install python3-pip
$ sudo pip3 install pygame gtfs_kit schedule --break-system-packages
- TTF Font jd_lcd_rounded.ttf by Jecko Development
- Download and copy the ttf file in the same folder as the code.
$ sudo systemctl disable getty@tty1
$ sudo systemctl stop getty@tty1
First, create a link from the provided systemd service into the systemd directory
$ sudo ln -s /home/pi/dublinbus-display/systemd/dublinbus-display.service /etc/systemd/system/
Enable and start the service
$ sudo systemctl daemon-reload
$ sudo systemctl enable dublinbus-display
$ sudo systemctl start dublinbus-display
Restart the system
$ sudo reboot