<h1 align="center">🚀 tinyticker 🚀</h1>
<div align="center">
<img src="https://i.imgur.com/J4k3PCM.png" height=400>
<img src="https://i.imgur.com/QWP7bpH.png" height=400>
</div>
<p align="center">
<a href="https://pypi.org/project/tinyticker/"><img src="https://img.shields.io/pypi/v/tinyticker"></a>
<a href="./LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
<a href="https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml"><img src="https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml/badge.svg"></a>
<a href="https://discord.com/channels/1239232827237597184/1239232827841839297"><img alt="Discord" src="https://img.shields.io/badge/%20discord-%20?logo=discord"></a>
</p>
<hr/>
`tinyticker` uses a Raspberry Pi zero W and a small ePaper display to periodically display a stock or crypto chart.
A `flask` web interface is created to set the ticker options and control the Raspberry Pi.
`tinyticker` uses the [`cryptocompare`](https://github.com/lagerfeuer/cryptocompare) API to query the crypto price information, you'll need to get yourself a free [API key](https://min-api.cryptocompare.com/pricing). As well as the [`yfinance`](https://github.com/ranaroussi/yfinance) package to get the stock financial data.
## 🛒 Hardware
Shopping list:
- [Raspberry Pi Zero WH](https://www.adafruit.com/product/3708)
- One of these ePaper displays:
- [Waveshare ePaper 2.13in Black & White](https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT)
- [Waveshare ePaper 2.13in Black, White & Red](<https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)>)
- [Waveshare ePaper 2.13in Black, White & Yellow](<https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(C)>)
- [Waveshare ePaper 2.7in Black & White](https://www.waveshare.com/wiki/2.7inch_e-Paper_HAT)
- [Waveshare ePaper 7.5in Black, White & Red](https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)_Manual)
- A micro sd card
## 📦 Installation
### Recommended setup
Flash the [tinyticker image](https://drive.google.com/drive/folders/1U-PGzkOtSynN6FGDq2MsXF9kXGdkzd0D) onto a SD card and you should be good to go.
> [!NOTE]
> To build your own image, see the [`pi-gen`](https://github.com/loiccoyle/pi-gen) repo.
### Manual setup
> [!NOTE]
> This is much more involved than the recommended setup and will most likely require some debugging.
<details>
<summary>Expand</summary>
I highly recommend using [comitup](https://github.com/davesteele/comitup) to setup the networking on your RPi.
- Write the `comitup` [image](https://davesteele.github.io/comitup/latest/comitup-lite-img-latest.html) to your sd card
- Boot up the RPi and setup the networking
- ssh into your RPi, you'll probably want to change the password while you're at it
- Enable the [SPI interface](https://www.raspberrypi-spy.co.uk/2014/08/enabling-the-spi-interface-on-the-raspberry-pi/)
- (Optional) rename the hostname of your RPi by editing the `/etc/hostname` and `/etc/hosts` file
- (Optional) rename the Wifi AP name by editing the `/etc/comitup.conf` file
- Install the `BCM2835` driver:
```sh
curl http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz | tar xzv
cd bcm2835-1.60/
./configure
make
make install
```
- Install `pip`:
```sh
sudo apt install python3-pip
```
- Install dependency requirements:
```sh
sudo apt install libxml2-dev libxslt1-dev libatlas-base-dev ninja-build patchelf libopenjp2-7 libtiff-dev libjpeg-dev
```
- Install `tinyticker`:
```sh
pip install tinyticker
```
- To setup `tinyticker` to start on boot, copy over the [`systemd` unit files](./systemd) and enable them.
</details>
## 👢 First boot
On first boot, you will need to connect your RPi to your wifi network.
- Connect to the `tinyticker` wifi AP
- Select the wifi network you want your RPi to connect to
- Enter the wifi password
Your RPi will now connect to your wifi and the `tinyticker` services will start.
Once the web app is running, head over to `http://tinyticker.local` to configure it.
Raw data
{
"_id": null,
"home_page": "https://github.com/loiccoyle/tinyticker",
"name": "tinyticker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "raspberry-pi, ticker, stock, crypto, epaper, finance",
"author": "Loic Coyle",
"author_email": "loic.coyle@hotmail.fr",
"download_url": "https://files.pythonhosted.org/packages/64/82/6dce90897cc12f3f4494030757d757a8290b222702123e5ea2251cab7470/tinyticker-1.1.4.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">\ud83d\ude80 tinyticker \ud83d\ude80</h1>\n<div align=\"center\">\n <img src=\"https://i.imgur.com/J4k3PCM.png\" height=400>\n <img src=\"https://i.imgur.com/QWP7bpH.png\" height=400>\n</div>\n<p align=\"center\">\n <a href=\"https://pypi.org/project/tinyticker/\"><img src=\"https://img.shields.io/pypi/v/tinyticker\"></a>\n <a href=\"./LICENSE.md\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\"></a>\n <a href=\"https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml\"><img src=\"https://github.com/loiccoyle/tinyticker/actions/workflows/ci.yml/badge.svg\"></a>\n <a href=\"https://discord.com/channels/1239232827237597184/1239232827841839297\"><img alt=\"Discord\" src=\"https://img.shields.io/badge/%20discord-%20?logo=discord\"></a>\n</p>\n<hr/>\n\n`tinyticker` uses a Raspberry Pi zero W and a small ePaper display to periodically display a stock or crypto chart.\n\nA `flask` web interface is created to set the ticker options and control the Raspberry Pi.\n\n`tinyticker` uses the [`cryptocompare`](https://github.com/lagerfeuer/cryptocompare) API to query the crypto price information, you'll need to get yourself a free [API key](https://min-api.cryptocompare.com/pricing). As well as the [`yfinance`](https://github.com/ranaroussi/yfinance) package to get the stock financial data.\n\n## \ud83d\uded2 Hardware\n\nShopping list:\n\n- [Raspberry Pi Zero WH](https://www.adafruit.com/product/3708)\n- One of these ePaper displays:\n - [Waveshare ePaper 2.13in Black & White](https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT)\n - [Waveshare ePaper 2.13in Black, White & Red](<https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)>)\n - [Waveshare ePaper 2.13in Black, White & Yellow](<https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(C)>)\n - [Waveshare ePaper 2.7in Black & White](https://www.waveshare.com/wiki/2.7inch_e-Paper_HAT)\n - [Waveshare ePaper 7.5in Black, White & Red](https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)_Manual)\n- A micro sd card\n\n## \ud83d\udce6 Installation\n\n### Recommended setup\n\nFlash the [tinyticker image](https://drive.google.com/drive/folders/1U-PGzkOtSynN6FGDq2MsXF9kXGdkzd0D) onto a SD card and you should be good to go.\n\n> [!NOTE]\n> To build your own image, see the [`pi-gen`](https://github.com/loiccoyle/pi-gen) repo.\n\n### Manual setup\n\n> [!NOTE]\n> This is much more involved than the recommended setup and will most likely require some debugging.\n\n <details>\n <summary>Expand</summary>\n\nI highly recommend using [comitup](https://github.com/davesteele/comitup) to setup the networking on your RPi.\n\n- Write the `comitup` [image](https://davesteele.github.io/comitup/latest/comitup-lite-img-latest.html) to your sd card\n- Boot up the RPi and setup the networking\n- ssh into your RPi, you'll probably want to change the password while you're at it\n- Enable the [SPI interface](https://www.raspberrypi-spy.co.uk/2014/08/enabling-the-spi-interface-on-the-raspberry-pi/)\n- (Optional) rename the hostname of your RPi by editing the `/etc/hostname` and `/etc/hosts` file\n- (Optional) rename the Wifi AP name by editing the `/etc/comitup.conf` file\n- Install the `BCM2835` driver:\n\n ```sh\n curl http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz | tar xzv\n cd bcm2835-1.60/\n ./configure\n make\n make install\n ```\n\n - Install `pip`:\n\n ```sh\n sudo apt install python3-pip\n ```\n\n - Install dependency requirements:\n\n ```sh\n sudo apt install libxml2-dev libxslt1-dev libatlas-base-dev ninja-build patchelf libopenjp2-7 libtiff-dev libjpeg-dev\n ```\n\n - Install `tinyticker`:\n\n ```sh\n pip install tinyticker\n ```\n\n - To setup `tinyticker` to start on boot, copy over the [`systemd` unit files](./systemd) and enable them.\n\n</details>\n\n## \ud83d\udc62 First boot\n\nOn first boot, you will need to connect your RPi to your wifi network.\n\n- Connect to the `tinyticker` wifi AP\n- Select the wifi network you want your RPi to connect to\n- Enter the wifi password\n\nYour RPi will now connect to your wifi and the `tinyticker` services will start.\n\nOnce the web app is running, head over to `http://tinyticker.local` to configure it.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A tiny Raspberry Pi powered ePaper ticker.",
"version": "1.1.4",
"project_urls": {
"Homepage": "https://github.com/loiccoyle/tinyticker",
"Repository": "https://github.com/loiccoyle/tinyticker"
},
"split_keywords": [
"raspberry-pi",
" ticker",
" stock",
" crypto",
" epaper",
" finance"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "26d91509016836bcfac6ee19f683d860f32c0725517e3ed80c49440f23f5a718",
"md5": "7c93b11a92d9225b56d75755b52c8bb4",
"sha256": "13395612e5bdd41af38ab7978b65c4e6d8bf2e1d50c7e5fb5deb7b05a374e873"
},
"downloads": -1,
"filename": "tinyticker-1.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c93b11a92d9225b56d75755b52c8bb4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 164758,
"upload_time": "2024-11-15T20:57:49",
"upload_time_iso_8601": "2024-11-15T20:57:49.703689Z",
"url": "https://files.pythonhosted.org/packages/26/d9/1509016836bcfac6ee19f683d860f32c0725517e3ed80c49440f23f5a718/tinyticker-1.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "64826dce90897cc12f3f4494030757d757a8290b222702123e5ea2251cab7470",
"md5": "dcbb7421251c43e94f9da95b5990d173",
"sha256": "d6c8685aa744006628b519bed6d36c5331180a810b7fc0e0669e48b246ba5f46"
},
"downloads": -1,
"filename": "tinyticker-1.1.4.tar.gz",
"has_sig": false,
"md5_digest": "dcbb7421251c43e94f9da95b5990d173",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 149326,
"upload_time": "2024-11-15T20:57:52",
"upload_time_iso_8601": "2024-11-15T20:57:52.501464Z",
"url": "https://files.pythonhosted.org/packages/64/82/6dce90897cc12f3f4494030757d757a8290b222702123e5ea2251cab7470/tinyticker-1.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-15 20:57:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "loiccoyle",
"github_project": "tinyticker",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tinyticker"
}