ホーム » T-Saitoh » pychromecastで画像表示

システム

最近の投稿

アーカイブ

カテゴリー

pychromecastで画像表示

homebridge から、処理結果を chromecast で表示できないかと、pychromecast を試す。

pychromecast の 定番サンプルで、自宅サーバの画像ファイルの URL を与えて、表示を試すが真っ黒画面の表示で動かない。

webサーバのアクセス履歴を見ても、chromecast からのアクセス履歴が無いので、指定した URL にアクセスしていない。

chromecastは、ローカルのDNSを使わない

自宅では、サーバのプライベートアドレスを返す、自宅内 DNS が動いていて、自宅外ではグローバルアドレスを引けるようにしている。自宅ドメインのURLのファイルを表示できないことから、たぶん chromecast は、DHCP の指定する DNS サーバ情報を使っていないのだろう。DNSポイズニングを懸念するなら、あたりまえだろうな。

ということで、URL を、プライベートアドレスを生書きしたものを与えたら、普通に動いた。

(追記) プライベートアドレスのURLだと、https も表示できない。IPアドレス表記のURLだとホスト名が判らないから、https ではオレオレ認証扱いされるのか、これまた表示できない。プライベートアドレスなコンテンツの場合は、アドレス表記に直してかつ、プロトコルを http に変更が必要だな。

#!/usr/bin/python3
import time
import pychromecast

# デバイス名
chromecast_name = "リビングルーム"

# 指定した名前のchromecastを探す
chromecasts, browser = \
    pychromecast.get_listed_chromecasts( friendly_names = [ chromecast_name ] )

chromecast = next( filter( lambda cc: cc.device.friendly_name == chromecast_name ,
                           chromecasts ) , None )
if not chromecast :
    sys.exit( 1 )

chromecast.wait()

mc = chromecast.media_controller
mc.play_media( 'http://192.168.xx.xx/wp/wp-content/uploads/2020/10/IMG_4165.jpg' , 'image/jpeg' )
mc.block_until_active()
mc.play()

# 接続を切る
pychromecast.discovery.stop_discovery( browser )

google home で温度グラフ表示

pychromecast がうまく使えるようになったので、homebridge + Google Home にて温度グラフを表示するようにしてみた。「OK Google, 温度グラフをつける」(‘をつける’というのは、スイッチ扱いで登録してあるから)

{CAPTION}

Google 検索

My Google   Yahoo

Microsoft

ファンサイト