AndroidTVをREST APIを使って操作する。スマートホームを構築し未来の生活を手に入れよう!

TV-VRAndroidTV
スポンサーリンク

Android OSが入っていて、スマホと同じようにいろいろなアプリをインストールして楽しめるAndroidTVですが、高機能ゆえに色々といじって遊ぶことができます。今話題のスマートホーム構築にはREST APIを使えばAndroidTVを操作することができて未来感満載です。スマートスピーカを買ってくるのもいいですが、自分でスマートホームを構築してみましょう!

スポンサーリンク

アンドロイドテレビはガジェット好きにはたまらないテレビ

うちにあるのはSONY BRAVIA KJ-55X8500D 2016年モデルです。

アンドロイドテレビはアプリが入れ放題なので動画が見放題ですし、これまでの単純にストリーミングされる映像を受け入れるだけの箱からインタラクティブな箱に進化しています。

よろしければ、使ってみて書いた記事をご覧ください。アンドロイドテレビの素晴らしさが少しでも伝われば幸いです。

AndroidTV BRAVIAを使ってみて書いた記事一覧ページ(目次)
アンドロイドテレビを買ってしばらくたちます。いい点も悪い点もいろいろありますが、総論としては買ってよかったと思っています!

スマートホームの「基本のき」REST APIとは

さて本題です。スマートホーム構築するためには、リモコンでテレビを操作するーと言った全時代的なやり方を捨てる必要があります。

そうです、スマートホームなんでリモコンじゃなくて通信してテレビを操作しないといけません。通信ができればリモコンじゃなくても、通信できる何かー例えばスマホやPCなどがあればテレビを操作できると言うことです。もちろんラズベリーパイからも!

その操作用にテレビ側で用意されているのがこの「REST API」です。

「REpresentational State Transfer」が正式名称とのことで、詳細はよくわかりませんがHTTPリクエストでデータをつけてPOSTすればテレビを操作できる、そんな夢のようなAPIです。

REST  APIについてもう少し詳しく知りたい方は以下のWikiをご覧ください。

Representational State Transfer - Wikipedia

BRAVIAのREST APIを触る

はじめに | BRAVIA Professional Displays Knowledge Center
BRAVIA Professional Display Knowledge Center provides News, Software Development Information, Manuals and FAQ.

SONY公式サイトにそれはもう詳細に書いてあります。ここまで公開してくれているとはいい時代になったもんです。

例文もあるのでやりやすいとは思います。かいつまんで概略を示しますと、テレビ側を設定して、REST APIを叩く。以上というキューピー3分クッキングのような手軽さです。以下に流れを。詳細は上記サイトに記載されています。

AndroidTVの事前準備:IPコントロール認証を設定する

1.認証方法を設定する

設定→通信設定→ホームネットワーク→IPコントロール→認証

「Pre-Shared Key」に設定します。この設定で、キーのやりとりをしてからテレビを操作することができるようになります。

2.Pre-Shared Keyを設定する

設定→通信設定→ホームネットワーク→IPコントロール→Pre-Shared Key

実際に使用するキーを決定します。何でもいいです。平仮名も使えるみたいな雰囲気ですが、要らぬトラブルが発生するかもしれませんので自分は避けました。

3.リモートデバイス制御を有効にする

設定→通信設定→ホームネットワーク→レンダラー設定→レンダラー機能→有効

これを有効にすることで、テレビが遠隔操作ばっちこい状態になります。

以上てテレビ側の設定は完了です。楽チンぽん。

クライアントからテレビを遠隔操作する:実行方法

さていよいよ操作ですが、操作はHTTPリクエストが送れれば何でも構いません。iPhoneでもPCでもRaspberry Piでも!今回は一番手軽なPCからの操作方法です。Pythonでチャチャっと。

サンプルコード:python 2.7

電源をOFFする場合のサンプルコードを以下に示します。笑っちゃうぐらい簡単です。

import requests
url =”http://[braviaのipアドレス]/sony/system”
api_headers = {‘X-Auth-PSK’:’[さっき設定したPre-Shared Key]’}
api_params = {
‘id’:55,
‘method’:’setPowerStatus’,
‘params’: [{‘status’: False}],
‘version’: ‘1.0’
}
response = requests.post(url , json = api_params , headers = api_headers)

操作方法を変えたければ先程のHPに行ってapi_paramsの中身を変更すれば色々と操作が可能です。

まとめ

公式サイトにとても分かり易く載っていたので労せず実装までいけました。夢のスマートホーム構築を目論んでいる方のお助けになれれば幸いです。

いやーほんとAndroidTVって楽しいです。買ってから5年目になりますが、まだまだおもちゃとしても現役です。

AndroidTV
スポンサーリンク
ntwmachineをフォローする
ブログサークル
ブログにフォーカスしたコミュニティーサービス(SNS)。同じ趣味の仲間とつながろう!
ブログサークル
ブログにフォーカスしたコミュニティーサービス(SNS)。同じ趣味の仲間とつながろう!
日々機械的に考える

コメント

タイトルとURLをコピーしました