2018年12月22日
Google smart homeで家電操作 - その3
今回、私が実際に行った作業を書いていきます。
○準備
Googleからサンプルコードとして actionssdk-smart-home-nodejs が提供されていますので、これを使います。
1) Raspberry Pi, nodeの設定
Raspberry Piを設定してNode.jsをインストールに関しては、以前記載した ここ と この ページを参考にしてください。
私の場合、nodeのversionに関しては、Hap-node JS、Homebridgeで使っている関係でv6.12.3という古いバージョンを使っていますが、v8.12.0あたりの新しいバージョンの方が良いと思います。
2) サンプルコードのインストール・設定方法
actionssdk-smart-home-nodejsの設定方法については、 ここ に詳しく記載されているので参考にしてください。
3) ngrokの設定
今回、サーバーがRaspbery Piになるので外部からアクセスできるようにする必要があり、サンプルコードでは ngrok という外部サービスが使われています。
そんなわけでsmart-home-provider/cloud/config-provider.jsのファイルを以下に変更しておくと、ngrokが立ち上がって、自分のマシンがサーバになります。
4) サブドメインの固定
ただし、ngrokはフリーの場合、起動する度に毎回サブドメインが変更され、デバッグを行うときに面倒なのProで1ヶ月だけ有料にしました。とっくに1ヶ月経過していますが、いまでも使えています。
ngrokの有料に関しては、 ここ に詳しく載っています。
ngrokのtokenとsubdomainは、smart-home-provider/cloud/smart-home-provider-cloud.jsを以下のように変更して設定しています。
ここまでくれば、以下のコマンドで動作すると思います。
○準備
Googleからサンプルコードとして actionssdk-smart-home-nodejs が提供されていますので、これを使います。
1) Raspberry Pi, nodeの設定
Raspberry Piを設定してNode.jsをインストールに関しては、以前記載した ここ と この ページを参考にしてください。
私の場合、nodeのversionに関しては、Hap-node JS、Homebridgeで使っている関係でv6.12.3という古いバージョンを使っていますが、v8.12.0あたりの新しいバージョンの方が良いと思います。
2) サンプルコードのインストール・設定方法
actionssdk-smart-home-nodejsの設定方法については、 ここ に詳しく記載されているので参考にしてください。
3) ngrokの設定
今回、サーバーがRaspbery Piになるので外部からアクセスできるようにする必要があり、サンプルコードでは ngrok という外部サービスが使われています。
そんなわけでsmart-home-provider/cloud/config-provider.jsのファイルを以下に変更しておくと、ngrokが立ち上がって、自分のマシンがサーバになります。
// Running server locally using ngrok
Config.isLocal = true;
4) サブドメインの固定
ただし、ngrokはフリーの場合、起動する度に毎回サブドメインが変更され、デバッグを行うときに面倒なのProで1ヶ月だけ有料にしました。とっくに1ヶ月経過していますが、いまでも使えています。
ngrokの有料に関しては、 ここ に詳しく載っています。
ngrokのtokenとsubdomainは、smart-home-provider/cloud/smart-home-provider-cloud.jsを以下のように変更して設定しています。
if (config.isLocal) {
// ngrok.connect(config.devPortSmartHome, (err, url) => {
ngrok.connect({
addr: config.devPortSmartHome,
authtoken: "your authtoken",
subdomain: 'your subdomain',
region: 'us'
}, (err, url) => {
ここまでくれば、以下のコマンドで動作すると思います。
npm install
npm start
【Google smart homeの最新記事】
この記事へのコメント