Some ideas to show a Google Calendar on a TV using a Raspberry Pi and HDMI output
Posted by jpluimers on 2019/01/10
Using OpenSuSE Tumbleweed E20 on Raspberry Pi 3: accessing the enlightenment desktop over VNC after automatic logon I wanted to buy an on-line read-only diary to help my mentally retarded brother see what his next few days are going to be like.
He increasingly has difficulty handling a paper agenda and has an agenda with 30 minute blocks like [Archive.is] bol.com | Bureau Agenda 2017 – 1 dag per Pagina | 0041560163422 | Boeken (and the [Archive.is] picture on the right), but actually he needs 15 minute blocks during some portions of the day.
We call that kind “bureau agenda” which I think translates well into “desk diary”.
They were quite different from the agendas I used to have at school (:
[WayBack] [Zonder titel] Rijam agenda 1983/84 verzamelen? Stripcatalogus op Catawiki
For most school mates, they were more like this:
Had je een O’Neill of ging je voor De Familie Doorzon? De oude agenda’s uit je middelbare schooltijd zijn de verpersoonlijking van je eigen puber-ik. Afgelopen weekend startte in het Nationaal Onderwijsmuseum in Dordrecht de toffe tentoonstelling Grow Up over die vuistdikke, volgeplakte agenda’s.
Anyway, some ideas I initially had are below.
This is what I actually did:
- Build a Raspberry Pi with E20 on it that automagically logs on an X11 session, exposes it via VNC in a shared way (so the caretakers and I can remotely manage it) and shows Firefox with a start page.
- The start page refreshes itself about every minute and embeds a Google Calendar view and refreshes itself about every minute (as embedded calendars do not automatically skip to the next day at midnight, nor dynamically update themselves [WayBack] does an embedded calendar automatically update with changes? – Google Product Forums).
It’s based on these:- stefek99/htmlshell: A quick custom boilerplate HTML5 markup generator live at [WayBack] html shell A quick custom boilerplate HTML5 markup generator, has a few versions (so the http users get redirected to https)
- The page contains the agenda in an
iframe
as per [Archive.is] Boyden, Mark – Embedding Google Calendars – Programming – Content and - [WayBack] Auto refresh embedded calendar SOLUTION – Google Product Forums
- I always fight with
iframe
heights as when you specify100%
it will shrink to the height of the content. For full screen height, the100vh
(ViewportHeight
) seems to do the trick as per [WayBack] javascript – Full-screen iframe with a height of 100% – Stack Overflow and [WayBack] CSS Values and Units Module Level 3: Viewport-percentage lengths: the vw, vh, vmin, vmax units
Two things for the future:
- The Agenda view does not show end-times for events. Other views do. The printable output does. I want them in the Agenda view as well. I’m not alone (:
- [WayBack] embed – Google Calendar Agenda view End Time and Location – Web Applications Stack Exchange Is there a way in the embed code for Google Calendars to display the Start time – End Time Event Title Event Location?
- [Archive.is] Display End Time in Embedded Calendar – Google Product Forums
- I might make the page responsive and have multiple iframe instances with different views on the calendar. For that, these will likely help:
Initial thoughts
Raspberry based:
- https://productforums.google.com/forum/#!topic/sites/YN-2pHw11js
- Embedded calendar links:
- URL generator at https://calendar.google.com/calendar/embedhelper?ctz=Europe/Amsterdam
- https://calendar.google.com/calendar/embed?mode=AGENDA&height=600&wkst=1&bgcolor=%23FFFFFF&src=user.name%40gmail.com&color=%235F6B02&ctz=Europe%2FAmsterdam
- I likely want to fiddle with the above URLs using tips from Google Calendar – printing multiple months or weeks to PDF – URL parameter tips and tricks (which has the parameter meanings, including
mode
,wkst
, etc).
- [WayBack] Raspberry Pi Google Calendar Screen
- http://www.instructables.com/id/Raspberry-Pi-Wall-Mounted-Google-Calendar/
- http://www.instructables.com/id/Raspberry-Pi-Wall-Mounted-Calender-and-Notificatio/
- https://lifehacker.com/combine-a-raspberry-pi-with-google-calendar-for-a-smart-512265472
- http://dakboard.com/blog/diy-wall-display/
Chromecast based:
- https://stackoverflow.com/questions/21945115/display-web-sites-and-web-apps-with-chromecast
- https://www.thedash.com/login
- https://stestagg.github.io/dashcast/
- http://www.guidingtech.com/50991/creative-uses-chromecast/
- https://github.com/lanceseidman/PiCAST
–jeroen
[WayBack] a2890a2a-7d60-11e3-98c0-6c4808208f82.jpg (512×700)
[WayBack] a2c2f7a8-7d60-11e3-89a3-9256877aa9a7.jpg (512×700)
Randy Tapson said
Jeroen, I’ve had a very similar idea for a easy to use and manage computer for my mom. She just wants buttons on screen that will take her to the few websites that she visits. My thought was to couple the board with a touch screen for ease of use. (Now if I can only get my Delphi Rio to compile android apps I’ll be golden.)
jpluimers said
Good idea.
You might want to get away with a default web page in the browser with a few buttons on the page that are just links to other web sites plus a home button of the browser itself to go back to that default page.