Code Monkey home page Code Monkey logo

chromecast-kiosk's Introduction

Chromecast-Kiosk

A system to create a digital signage system with google chromecasts.

screenshot

release state

beta

requirements

  • fixed ip address for each chromecast

recommendations

  • Use ethernet instead of wlan, see DIY Ethernet Adapter or the offical adapter.
  • Set a static ip address to the chromecast.
  • Use subneting to protect your casts from unwanted access.

benefits

  • see what your casts are doing
  • discover the chromecast in your network
  • set the website which shall be displayed on your chromecast based on chromecast-dashboard
  • you can manage multiple chromecast in one browser
  • cronjobs so you could plan what your casts should do
  • multi lang support

installation

All you need todo is deploy the *.war - File in the webapps directory of a Tomcat 8.0.

upgrading

  1. Copy the *.json files from WEB-INF/config as backup.
  2. use the Tomcat manager to undeploy the current webapp and deploy the new one
  3. copy the json files back to WEB-INF/config

start casting

  1. add a ChromeCast, by IP and Name
  2. set target chromecast, the url and the refresh rate of the website you want to be displayed (for internal sides use the IP of the server not his name)
  3. see if they are still alive an playing

tips for using with google slides

Example URL https://docs.google.com/presentation/.../embed?start=true&loop=true&delayms=10000&rm=minimal

  • start=true - start after loading
  • loop=true - loop the presentation
  • delayms=10000 - wait 10.000 ms between slides
  • rm=minimal - show minimal interface (don't show slidenumber etc.)

Thanks to

chromecast-kiosk's People

Contributors

dependabot[bot] avatar jzinkweg avatar mrothenbuecher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chromecast-kiosk's Issues

Cronjob SSL handshake terminated by remote host

After running cronjobs for a while the server loses connection with the Chromecast and starts erroring out. The web interface can't connect to it at all. Restarting the server fixes the issue. Funnily enough restarting the Chromecast also works.

chromecast-kiosk-setup | 12:23:00.002 [cron4j::scheduler[3c06d14a79eeb2873113954a0000018185c3fb0c32307248]::executor[3 c06d14a79eeb287641881be0000018186374ca24806140f]] INFO de.michaelkuerbis.presenter.utils.CronJob - task crontest started chromecast-kiosk-setup | 12:23:00.012 [cron4j::scheduler[3c06d14a79eeb28771de92ed0000018185c4dbe46ed13c0d]::executor[3 c06d14a79eeb2872e0f68060000018186374ca132e81065]] ERROR de.michaelkuerbis.presenter.utils.CronJob - javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake chromecast-kiosk-setup | 12:23:00.012 [cron4j::scheduler[3c06d14a79eeb28771de92ed0000018185c4dbe46ed13c0d]::executor[3 c06d14a79eeb2872e0f68060000018186374ca132e81065]] INFO de.michaelkuerbis.presenter.utils.CronJob - task crontest succeeded chromecast-kiosk-setup | 12:23:00.013 [cron4j::scheduler[3c06d14a79eeb2873113954a0000018185c3fb0c32307248]::executor[3 c06d14a79eeb287641881be0000018186374ca24806140f]] ERROR de.michaelkuerbis.presenter.utils.CronJob - javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake chromecast-kiosk-setup | 12:23:00.014 [cron4j::scheduler[3c06d14a79eeb2873113954a0000018185c3fb0c32307248]::executor[3 c06d14a79eeb287641881be0000018186374ca24806140f]] INFO de.michaelkuerbis.presenter.utils.CronJob - task crontest succeeded

On the network level Keep-Alive's, SYN's, ACK's and PSH's seem to be flowing normally but when it comes to sending the job to the Chromecast only RST's are sent. In my particular case 8 of them for one cronjob.
Also the amount of packets seem to go way up. After a few hours of running the average amount of TCP packets sent between the server and the Chromecast is around 100 per second. Normally it seems to be around 3 per second.

I compiled the .war-file myself from the latest source code. Getting a new release out could be beneficial since I'm guessing it uses a vulnerable version of Log4j.

Thanks for the project though! It's been very interesting to research.

Problems displaying from Grafana

First, this tool has been awesome! I've used it for several years now, displaying a Grafana dashboard in kiosk mode through a gen1 CC.

I'm updating to a new Grafana server and rebuilding my dashboard. The new server is on Grafana v6.6.2 and the old one is v5.4.2. Trying to cast to any CC in the house on the new version now presents only a white screen. If I cast from a Chrome browser it works fine. If I cast the old dashboard it works fine.

Something in Grafana v6.6.2 isn't working right with the kiosk. I'm not sure if it's a page formatting problem that Chrome browser now understands.

Any ideas?

Add RPiCast capability

Feature request to add RPiCast capability. The RPi W is much less expensive than a Chromecast, but isn't able to act as a ChromeCast receiver. It would be nice to extend the functionality of this to support the RPiCast receiver since they don't have something like this on the RPiCast side.

Cronjob URL - Extra "+" added at the end

When I create a cronjob, the resulting URL's always seem to have a "+" at the end. Because of this they won't load/resolve correctly on the chromecast and I end up with a white screen.

If I use the "start cast" interface, the same URL will load properly.

Windows x64
Tomcat 8.0

War from github releases; 0.3 (44fa8b3)

Example:
image

Thank you for this project. Very simple/clean and gets the job done.

1080P display is downsizing

I'm chromecasting a Grafana dashboard to a 1080P TV through a Gen1 Chromecast. The page is not displaying like a 1920x1080 pixel size. It appears to be closer to 720P. I'm not sure if this is a capability reporting problem on the pull from Grafana or on the push to the Chromecast. The TV believes it's operating at 1080P.

Getting an HTTP 415 on the cron and start cast POST endpoint

I am trying to start a cast of a dashboard and I type everything in and I am getting an error and a returned http 415, here is my raw request.

POST /presenter/rest/cron/add/172.16.2.4 HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 79
Origin: http://127.0.0.1:8080
DNT: 1
Connection: keep-alive
Referer: http://127.0.0.1:8080/presenter/

and the response headers

HTTP/1.1 415 
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1131
Date: Thu, 08 Jul 2021 17:13:20 GMT

As for my environment, I am using docker with fabric8/tomcat-9 and other things work well.

Show URL or title of page being cast

It would be great if in the overview under the current app of a chromecast, you'd be able to see exactly what's being cast in the form of a title or URL of a web page.
When everything is labeled as "chromecast-kiosk-web" it doesn't really tell you that much.

The problem is, I'm not sure if it's even possible to pass such information along to or from a chromecast.

Just noticed this is possibly a duplicate of #6

Blank white screen

Any ideas why when I cast to any chromecast I only get a blank white screen. I have tried multiple websites with the same results. Simply casting from the chrome tab works, but not from the Kiosk System.

Thanks!

Update presenter.war

It seems like the presenter.war is 8 months old, and there have been features added since.
I tried to build a new one myself, but didn't succeed.

I'm mainly looking to use the cronjob feature to schedule casting of pages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.