4

照明スイッチを制御したいことを除いて、NestThermostatに似たRaspberryPi(RPi)ベースのデバイスを構築したいと思います。RPiでNode.jsスクリプトを簡単にコーディングし、それをローカルルーターに接続して、同じルーターに接続されたPCで制御できることはわかっています。

でも、もっと巣のようにしたいと思います。Herokuなどのクラウドプロバイダーを介して、さまざまなサブネットにまたがる20(またはそれ以上)のRPisを制御できるようにしたいと考えています。

Nestサーモスタットでは、Nestサーバーがルーターと通信できるように、ユーザーがルーターのポートを開く必要はありません。

Nestは、顧客のルーターでポートフォワーディングを有効にせずに、Webを介して顧客のサーモスタットをどのように制御できますか?

4

3 に答える 3

5

NodeJSとNestAPIUpdateを使用したNestThermostatAPIについてのブログ投稿では、サーモスタットとNestラボサーバー間のAPIについて説明しています。特に:

APIは、主にWebサーバーにPOSTされたJSON形式のデータを使用します。

だからあなたの答えがあります。HTTPSを使用してNestWebサーバーにデータを定期的にPOSTすることにより、Nestはユーザーがルーターのポートを開かないようにすることができます。


価値のあるものとして、ブログ投稿の非公式API(node.jsにあります!)は、github:Unofficial Nest APIonNodeで入手できます。

于 2013-03-20T18:41:53.907 に答える
0

サーモスタットは、サーモスタットのシリアル番号を使用してネストするリクエストを定期的に投稿していると思います。httpヘッダーのタイムアウトが無限大に設定されている可能性があります。そのデバイスのコマンドが入力されていない場合、ネストサーバーは1分ほど後に接続を閉じます。ネストが接続を閉じるたびに、サーモスタットが新しい接続を開きます。コマンド要求にシリアル番号が含まれている場合、そのサーモスタットに現在接続されているスレッドを見つけるためのクイックルックアップ。コマンドは現在のサーモスタット要求のペイロードで送信され、実行され、接続が閉じられ、サーモスタットはネストするための新しい要求を開きます。

于 2013-08-28T17:45:12.323 に答える
0

HTML5標準のeventSourceを見てください。必要なことはすべて行います。

于 2014-12-21T20:49:43.367 に答える