- Make a logic to return Isha ending time (i.e. Fajir start time of next day).
- Simulate a month ending and observe behavior. I reckon some errors may occur at the end of the month.
- Confirm and correct the timmings.
- 3rd info to show: Remaining time to next Salah.
- Add a physical momentary button to display for 5 seconds then turn off the display (to avoid burn-in).
I have a SSD1306 display with 4 pins:
- VCC
- GND
- SDA
- SCL
VCC -> 3V3
GND -> GND
SDA -> SDA
SCL -> SCL
Check Adafruit's website for other displays' connections.
- Load Raspberry Pi OS on your RPi.
- Enter command and enable I2C or SPI from Interface options as needed:
sudo raspi-config
- Get XLSX timming files for your location and save them in XLSX folder.
- Run xl2shelve.py to convert XLSX files to readable objects.
Important
You could get into errors if you blindly run the scripts. Read the script then modify.
- Change index of Salahs w.r.t. to indexes of XLSX file (if needed).
- Change main.py file as needed for your display then run:
sudo python main.py
Important
If you are getting shelve library error, try upgrading to newer Python version. I have tried on 3.11.3 & 3.11.4. You can try this website for alternate install of Python:
- Modify the user and ExecStart (and other if needed) in salah_timings.service file.
- Copy this file to
/etc/systemd/system/
- Enable the service to let it start on boot.
sudo systemctl enable salah_timmings.service
Unfortunately, My SSD1306 display is broken. i2cdetect is not detecting it so, I cannot work on this project further.
I have bought a new OLED SSD1306 display and successfully completed the project.