2020-05-29 18:46:55 +02:00
# Welcome to inkycal v2.0.0 BETA!
2020-05-07 20:18:10 +02:00
2020-05-29 18:46:55 +02:00
< p align = "center" >
< img src = "https://github.com/aceisace/Inky-Calendar/blob/dev_ver2_0/Gallery/logo.png" width = "800" >
< / p >
< p align = "center" >
< a href = "https://www.paypal.me/SaadNaseer" alt = "Donate" > < img src = "https://img.shields.io/badge/Donate-PayPal-green.svg" / > < / a >
2020-11-11 11:49:07 +01:00
< a href = "https://github.com/aceisace/Inky-Calendar/actions" > < img src = "https://github.com/aceisace/Inky-Calendar/workflows/Python%20application/badge.svg" > < / a >
2020-05-29 18:46:55 +02:00
< a href = "https://github.com/aceisace/Inky-Calendar/releases" alt = "Version" > < img src = "https://img.shields.io/github/release/aceisace/Inky-Calendar.svg" / > < / a >
< a href = "https://github.com/aceisace/Inky-Calendar/blob/Stable/LICENSE" alt = "Licence" > < img src = "https://img.shields.io/github/license/aceisace/Inky-Calendar.svg" / > < / a >
< a href = "https://github.com/aceisace/Inky-Calendar/issues" > < img alt = "GitHub issues" src = "https://img.shields.io/github/issues/aceisace/Inky-Calendar" > < / a >
< a href = "https://github.com/aceisace/Inky-Calendar/stargazers" > < img alt = "GitHub stars" src = "https://img.shields.io/github/stars/aceisace/Inky-Calendar?color=green" > < / a >
< a href = "https://github.com/aceisace/Inky-Calendar/network" > < img alt = "GitHub forks" src = "https://img.shields.io/github/forks/aceisace/Inky-Calendar?color=green" > < / a >
< a href = "https://github.com/aceisace/Inky-Calendar" > < img alt = "python" src = "https://img.shields.io/badge/python-%3E3.5-lightgrey" > < / a >
< / p >
2020-06-17 00:03:17 +02:00
A python 3 software for displaying events (from iCalendars), weather (from openweathermap) and RSS feeds on selected E-Paper displays (4.2", 5.83", 7.5"(v1), 7.5"(v2)) from Waveshare/GoodDisplay.
2020-05-29 18:46:55 +02:00
Inkycal v2.0.0 BETA is a refactoring of the previous release. It aims to fix certain problems with the previous release, including but not limited to:
2020-05-07 20:18:10 +02:00
2020-05-21 01:37:44 +02:00
* [x] Use settings.json file instead of .py file
* [x] Fully dynamic images (changable section sizes)
* [x] No preferred module positions or sizes
* [x] Switch from scripts to classes
2020-05-29 18:46:55 +02:00
* [x] Allow using `pip3 install inkycal` to install inkycal
2020-05-21 01:37:44 +02:00
* [x] Update dependencies
* [x] Switch from ics to icalendar library for better parsing of iCalendars
2020-05-29 18:46:55 +02:00
* [x] Allow using on windows (no-render mode)
2020-05-21 01:37:44 +02:00
* [x] Implement features from dev branch
2020-05-29 18:46:55 +02:00
* [x] Make it easier for developers (and beginners) to create their own custom module
2020-06-17 00:03:17 +02:00
* [x] Implement testing for each module
2020-05-29 18:46:55 +02:00
* [ ] Add support for 9.7" ePaper
* [ ] Add support for iCalendars requiring authentification
2020-06-12 16:43:40 +02:00
* [ ] Add module for TODOIST api
2020-07-04 16:32:36 +02:00
* [x] Add info-section option in web-ui
* [ ] Allow easy adding/removing of third-party modules
* [ ] Finish developer documentation for third-party modules
2020-08-31 15:23:02 +02:00
* [x] Add official support for 7.5" v3 ePaper model (black-white + black-white-red/yellow)
2020-05-29 18:46:55 +02:00
## How to test BETA
2020-05-30 00:00:58 +02:00
Please note that while inkycal is in BETA, a lot of things will change in a short time. This means that problems are fixed on-the-go. If you encounter a problem, please mention it on Discord.
If you were using the previous release, please re-run the instaler:
`bash -c "$(curl -sL https://raw.githubusercontent.com/aceisace/Inky-Calendar/master/Installer.sh)"`
and choose `uninstall` to uninstall the previous version. The last release and this BETA are __not__ compatible!
2020-05-07 20:18:10 +02:00
2020-06-19 18:15:36 +02:00
## Updating BETA to latest version
To update to the latest beta, please do the following:
1) `pip3 uninstall inkycal`
2) Remove the `Inkycal` folder (or rename it at least)
3) follow the steps from `Installation` (see above)
2020-05-29 18:46:55 +02:00
### Installation
```bash
# clone this branch
git clone -b dev_ver2_0 https://github.com/aceisace/Inky-Calendar Inkycal
# go to Inkycal directory
cd Inkycal
2020-05-21 01:37:44 +02:00
2020-05-29 18:46:55 +02:00
# install Inkycal
pip3 install -e ./
```
2020-05-07 20:18:10 +02:00
2020-06-19 18:15:36 +02:00
### Creating a settings file
2020-07-04 16:32:36 +02:00
Please visit the [Online WEB-UI ](https://raw.githack.com/aceisace/Inky-Calendar/dev_ver2_0/settings-UI.html ) to create your settings.json file.
2020-05-29 23:14:19 +02:00
You can alternatively also open `settings-UI.html` in your web-browser.
* Fill in the details and click on `generate` to create your settings.json file
* Copy the settings.json file to your raspberry pi
* Copy the path (location) of this file
2020-05-07 20:18:10 +02:00
2020-05-29 18:46:55 +02:00
### Running Inkycal
2020-08-24 14:48:33 +02:00
Open `Python3` and run the commands below or paste the below content in an empty file and save it as a `.py` file:
2020-05-29 23:14:19 +02:00
```python3
2020-05-29 18:46:55 +02:00
# Open Python3 and import package
from inkycal import Inkycal
2020-05-29 23:14:19 +02:00
2020-06-22 15:42:16 +02:00
# If you see 'numpy is not installed, please install with pip3 install numpy',
# please run the following command in the Terminal, then restart python and try again:
# pip3 uninstall numpy
2020-05-29 23:14:19 +02:00
# tell the Inkycal class where your settings file is
2020-06-17 00:03:17 +02:00
inky = Inkycal('/path/to/your/settings/file', render = True)
2020-05-29 23:14:19 +02:00
# render means rendering (showing) on the ePaper. Setting render = False will not show anything on the ePaper
# test if Inkycal can be run correctly, running this will show a bit of info for each module
2020-06-17 00:03:17 +02:00
inky.test()
2020-05-29 23:14:19 +02:00
# If there were no issues, you can run Inkycal nonstop:
2020-06-17 00:03:17 +02:00
inky.run()
2020-05-07 20:18:10 +02:00
```
2020-06-17 00:03:17 +02:00
### Customizing
With this release, it has become much easier to customize the modules to suit your preferences. First, check what options can be configured for a specific module:
```python
# Module refers to the name of a module's Class, e.g. Agenda, RSS, Calendar ...
inky.Module.set(help=True) # shows configurable options
# Set a single option
inky.Module.set(fontsize=14)
# Set multiple options at once
inky.Module.set(fontsize=14, language='de')
```
2019-12-17 16:04:38 +01:00
## Main features
* Monthly Calendar that shows events from your Google (or other) iCalendar/s
* Live weather info and forecasts for next 9 hours (openweathermap)
* Agenda to show what is on your shedule (from your iCalendar/s)
* RSS feeds from various providers to keep up to date with news, quotes etc.
2018-08-27 00:15:18 +02:00
2018-10-02 02:13:00 +02:00
## News:
2020-06-19 18:15:36 +02:00
* **[Server-only solution](https://github.com/Atrejoe/Inky-Calendar-Server) (Credit to Atrejoe)**
2020-01-30 22:59:58 +01:00
* **Discord chat open now. [Click here to enter ](https://discord.gg/sHYKeSM )**
2020-06-19 18:15:36 +02:00
* **Added support for 4.2", 5.83", 7.5" (v1), 7.5" (v2) and 9.7" E-Paper displays**
2018-10-14 22:00:24 +02:00
2020-02-03 00:34:30 +01:00
## Development status
2020-02-13 18:00:51 +01:00
This software is in active development. To see the current development status, [[Click here]](https://github.com/aceisace/Inky-Calendar/projects/2).
2020-02-03 00:34:30 +01:00
2019-03-23 20:27:10 +01:00
## Preview
< p align = "center" >
2020-01-30 22:59:58 +01:00
< img src = "https://github.com/aceisace/Inky-Calendar/blob/master/Gallery/inkycal-modes.gif" width = "900" > < img
2019-03-23 20:27:10 +01:00
< / p >
2018-08-27 00:15:18 +02:00
## Hardware required
2020-05-30 00:00:58 +02:00
* One of the supported ePaper displays from waveshare: 4.2", 5.83", 7.5" (640x384px), 7.5"-v2 (800x400px)
* Any Raspberry Pi with 40 pins. (Even a Zero W / Zero WH is fine!)
* MicroSD card (min. 4GB) for flashing Raspbian **with Desktop** . **Lite is not supported!**
2018-10-02 02:13:00 +02:00
* MicroUSB cable (for power)
2020-05-30 00:00:58 +02:00
* If you like, a case
2018-08-27 00:15:18 +02:00
2018-08-29 00:28:25 +02:00
# Setup
2018-08-29 00:22:30 +02:00
## Getting the Raspberry Pi Zero W ready
2019-12-17 16:04:38 +01:00
1. After [flashing Raspbian Buster (with Desktop) ](https://www.raspberrypi.org/downloads/raspbian/ ), set up Wifi on the Raspberry Pi Zero W by copying the file [**wpa_supplicant.conf** ](https://github.com/aceisace/Inky-Calendar/blob/installer/wpa_supplicant.conf ) (from above) to the /boot directory and adding your Wifi details in that file.
2020-05-08 18:53:03 +02:00
2. Create a simple text document named **ssh** in the boot directory to enable ssh.
3. Install the SD card and boot your Raspberry Pi. Connect to it over the network with ssh and login.
2018-08-27 16:47:33 +02:00
3. Expand the filesystem in the Terminal with ** `sudo raspi-config --expand-rootfs` **
4. Enable SPI by entering ** `sudo sed -i s/#dtparam=spi=on/dtparam=spi=on/ /boot/config.txt` ** in the Terminal
5. Set the correct timezone with ** `sudo dpkg-reconfigure tzdata` **, selecting the correct continent and then the capital of your country.
6. Reboot to apply changes
2018-10-02 21:42:12 +02:00
7. Optional: If you want to disable the on-board leds of the Raspberry, follow these instructions:
**[Disable on-board-led](https://www.jeffgeerling.com/blogs/jeff-geerling/controlling-pwr-act-leds-raspberry-pi)**
2018-08-27 16:03:47 +02:00
2020-01-29 10:22:11 +01:00
2020-05-30 00:00:58 +02:00
**Upgrading from old versions:**
If you were using an older version, please use the uninstall option from the installer. After uninstalling, please follow the instructions from above to get started.
2020-01-29 10:22:11 +01:00
2020-05-20 03:02:24 +02:00
2019-02-11 14:38:47 +01:00
## iCalendar
2020-05-20 03:02:24 +02:00
Although Google Calendar is strongly recommended, iCalendars from other providors may work. Support for iCalendar requiring authentification (e.g. Owncloud) has been added, however this is still __experimental__ .
2019-02-26 10:01:14 +01:00
2020-05-30 00:00:58 +02:00
If you encounter any issues with iCalendar, please use this [validator ](https://icalendar.org/validator.html ) to check if your links and iCalendars are valid.
2019-02-26 10:01:14 +01:00
If you encounter errors related to your iCalendar, please feel free to report the error either by opening an issue or by sending a mail.
2019-02-11 14:38:47 +01:00
2018-08-27 00:54:59 +02:00
2019-03-23 01:16:17 +01:00
## Contributing
2019-03-24 20:26:12 +01:00
All sorts of contributions are most welcome and appreciated. To start contributing, please follow the [Contribution Guidelines ](https://github.com/aceisace/Inky-Calendar/blob/master/CONTRIBUTING.md ).
2019-03-23 01:16:17 +01:00
2019-12-17 16:04:38 +01:00
The average response time for issues, PRs and emails is usually 24 hours. In some cases, it might be longer.
2019-03-23 01:16:17 +01:00
2020-05-20 03:02:24 +02:00
## Setting up VS Code Remote development in WSL
In order to speed up development, most development tasks (apart from the actual rending to E-Ink display) can be developed on more powerful machines and in richer environments than running this on a Pi zero. In case of Windows PC the most convenient way is to use VS Code Remote development in Windows Subsystem for Linux (WSL), please follow [Tutorial ](https://code.visualstudio.com/remote-tutorials/wsl/getting-started ).
~~To disable the eInk functionality set the flag to "image_only" (in /settings/settings.py):~~
~~`render_target = "image_only"`~~
2019-03-23 20:27:10 +01:00
### Don't forget to check out the Wiki. It contains all the information to understanding and customising the script.
2019-01-26 00:36:45 +01:00
2019-05-17 21:34:42 +02:00
**P.S:** Don't forget to star and/or watch the repo. For those who have done so already, thank you very much!
2018-09-08 16:07:12 +02:00
2020-07-16 22:35:48 +02:00
## Contact and Support
* < a href = "https://discord.gg/sHYKeSM" >
< img src = "https://discord.com/assets/fc0b01fe10a0b8c602fb0106d8189d9b.png" alt = "Inkycal chatroom Discord" width = 200 >
< / a >
2019-03-23 20:27:10 +01:00
* Email: aceisace63@yahoo.com (average response time < 24 hours )
2020-06-17 00:03:17 +02:00
## Buy me a coffee
Yes please :). I do drink and like my coffee, especially when developing the inkycal software :)
You can donate a coffee with this QR-code (Paypal):
< p align = "center" >
< img src = "https://raw.githubusercontent.com/aceisace/Inky-Calendar/dev_ver2_0/Gallery/coffee.png" width = 250 >
< / p >