green-signals/README.md

87 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

2021-03-07 19:55:40 +01:00
# green-signals
2021-03-08 12:32:46 +01:00
## Introduction
green-signals is the source code for "Grüne Signale" digital signage solution.
## Features
"Grüne Signale" offers a digital signage platform intended for use in showrooms.
Main goal is to run a slideshow presenting end-user customizable contents with low efforts and budget required to set it up.
* Low Budget solution
* Low Knowledge requirements
* All based on OpenSource modules and OpenSource itself
* Playback of Images and Videos (muted)
* Media files can be delivered in nested folders
* Playback of Media follows alpabetical order
* Easy to configure
* Easy content updates via media download (zipped)
* Once set up it shall run unattended
* Written in Python 3
## Prerequisites
* Raspberry Pi computer with Power supply, HDMI cable and SD-Card
* Display with HDMI input (best with HDMI CEC support)
2021-04-06 21:25:35 +02:00
* *this can be a dedicated computer monitor or a TV Set*
* *the Display should support FullHD Resolution (native 1920x1080)*
2021-03-08 12:32:46 +01:00
* LAN or WLAN connection
* Mouse and Keyboard only needed for initial setup
* VLC Application (included in Full Raspian Image)
* Python-VLC module (used for playback, installed from setup.py)
* Pillow module (used to scale down oversized images, installed from setup.py)
* requests module (used for downloading slideshow data, installed from setup.py)
2021-03-08 12:32:46 +01:00
* Cloud account for automated media update (we suggest to use "Grüne Wolke")
2021-04-06 21:25:35 +02:00
* *The media files need to be provided as ZIP-File containing the images and videos*
2021-03-08 12:32:46 +01:00
## Media formats
* Images in JPG or PNG format, same display duration for all images as configured
* Videos in MOV, M4V or MP4 format
* All media shall have 16:9 landscape format
2021-06-14 15:53:31 +02:00
* *media with a different aspect ratio will show black borders*
2021-03-08 12:32:46 +01:00
* All media will be scaled to fill the screen
* Best resolution is 1920x1080 pixels (FullHD)
2021-06-14 15:53:31 +02:00
* *images larger than 1920x1080 are scaled down after download, which is quite slow on the Raspberry Pi*
2021-03-08 12:32:46 +01:00
* Video clips are muted during playback
* Video clips should start and end with blending from/to a black frame (playback could flicker)
## Environmental Topics
* A Raspberry Pi computer has low energy consumption (usually less than 10W)
* It can be configured for a safe shut down at night time (reduce light pollution)
* A diplay supporting HDMI CEC will automatically switch to StandBy
* Power for Raspberry Pi and display shall be turned off by a timer device
2021-04-06 21:25:35 +02:00
* *set the timer a few minutes after scheduled shut down of the Raspberry Pi computer*
* when the power is switched back on in the morning, The slideshow will autoomatically start and in background update the media files
2021-03-08 12:32:46 +01:00
## Development Environment
* The project is developed on a Raspberry Pi 400, any Raspberry Pi model (except Pico) is fine
2021-06-14 15:53:31 +02:00
* Raspberry Pi 1 and Zero models may partially work (limitatons with video playback)
* The project is intended to run on "Raspberry Pi OS" (based on Debian Buster)
2021-04-06 21:25:35 +02:00
* *support for other platforms is possible, but not tested*
2021-03-08 12:32:46 +01:00
## TODOs
2021-04-06 21:21:51 +02:00
- [x] create setup script *(setup.py)*
- [x] run pip3 install python-vlc
- [x] run pip3 install python-crontab
- [x] add green-signals to auto-start
- [x] write configuration file
- [x] user friendly GUI
- [x] configuration script *(included in setup.py)*
2021-06-14 15:53:31 +02:00
- [x] add cronjob for safe shutdown at given time *(obsolete, handled internally)*
2021-04-06 21:21:51 +02:00
- [ ] validation that remote URL points to a ZIP file.
- [ ] improve on-barding
- [ ] so far only dummy images for intial slideshow
- [ ] provide manual in media slides and as documentation (Wiki?)
- [ ] tutorials and other on-boarding guides (maybe with "Grünstreifen")
- [ ] testing, testing
- [ ] and more testing in real world ;-)
2021-03-08 12:32:46 +01:00
## Contact:
Chatbegruenung, Channel netzbegruenung-digitalsignage
Stefan Schmidt-Bilkenroth, ssb@mac.com