Stocks price display for your RPi Zero
Forked from: https://github.com/dr-mod/zero-btc-screen
- Raspberry Pi Zero W
- Raspberry Pi 3b+
- Raspberry Pi 4
- Any other modern RPi
- Waveshare eInk types:
- epd2in13v2
- epd2in13v3
- Virtual (picture)
-
Turn on SPI via
sudo raspi-config
Interfacing Options -> SPI
-
Install dependencies
sudo apt update sudo apt-get install python3-pip python3-pil python3-numpy python3-pandas git pip3 install RPi.GPIO spidev yfinance
-
Install drivers for your display (you don't need to install both) If you have a Waveshare display
git clone https://github.com/waveshare/e-Paper.git ~/e-Paper pip3 install ~/e-Paper/RaspberryPi_JetsonNano/python/
-
Download Stocks Screen
git clone https://github.com/wiesnerroyal/stocks-screen.git ~/stocks-screen
-
Run it
python3 ~/stocks-screen/main.py
Add your Stocks like below in the configuration.cfg file. You can also change the Display iteration delay and refresh data delay.
[base]
console_logs : false
dummy_data : false
refresh_display_sek : 60
refresh_data_min : 15
#logs_file : /tmp/zero-btc-screen.log
# Enabled screens or devices
screens : [
# epd2in13v2
epd2in13v3
# epd2in13bv3
# epd2in7
# epd3in7
# picture
# inkyWhatRBW
]
# Configuration per screen
# This doesn't make any effect if screens are not enabled above
[epd2in13v2]
mode : line
[epd2in13v3]
mode : line
[epd2in13bv3]
mode : line
[epd2in7]
mode : candle
[epd3in7]
mode : candle
[picture]
mode : line
filename : /home/pi/output.png
[inkyWhatRBW]
mode : line
[stocks]
BTC : BTC-EUR
MSCI-WORLD : EUNL.DE
APPLE : APC.F
GOOGLE : ABEA.DE
TESLA : TL0.DE
MICROSOFT : MSF.DE
To make it run on startup you can choose from 2 options:
- Using the rc.local file
sudo nano /etc/rc.local
- Add one the following before
exit 0
conversely, you can run in/usr/bin/python3 /home/pi/stocks-screen/main.py &
screen
you can install it withsudo apt-get install screen
su - pi -c "/usr/bin/screen -dm sh -c '/usr/bin/python3 /home/pi/stocks-screen/main.py'"
- Using the system's services daemon
-
Create a new service configuration file
sudo nano /etc/systemd/system/stocks-screen.service
-
Copy and paste the following into the service configuration file and change any settings to match your environment
[Unit] Description=stocks-screen After=network.target [Service] ExecStart=/usr/bin/python3 -u main.py WorkingDirectory=/home/pi/stocks-screen StandardOutput=inherit StandardError=inherit Restart=always User=pi [Install] WantedBy=multi-user.target
-
Enable the service so that it starts whenever the RPi is rebooted
sudo systemctl enable btc-screen.service
-
Start the service and enjoy!
sudo systemctl start btc-screen.service
If you need to troubleshoot you can use the logging configurations of this program (mentioned below). Alternatively, you can check to see if there is any output in the system service logging.
sudo journalctl -f -u stocks-screen.service
-
This projekt ist just a Fork. The heavy work was done by dr-mod so please buy him some coffee.