2016-10-24 6 views
1

REST APIと複数のスマートデバイスを使用してプロセスを自動化する計画があります。私がしようとしていることは次のとおりです。私は自分の仕事を完了するための一連の行動をそれぞれ行う4つのデバイスを持っています。 (実際には、デバイスに基づいて特定のシリーズで4つのLEDを点灯させることになります)。私は現在、Javaでこれをエミュレートしています(私は手元のデバイスを持っていないので)残りのAPIに基づいてアクションを実装するにはどうすればいいですか

たとえば、デバイス番号2が点灯する必要がある10秒などそれはタスクです。これは、プログラムをシャットダウンするまで、自動的かつ永遠に行われます。

JAVAとJAX-RSライブラリを使ってREST APIを開発しました。デバイスとその情報(デバイス名、現在の状態は黄色のLed ON/OFFなど)を記述しています。

私が理解していないことは、私がAPIからの情報に今対応しているプログラムを作る方法です。 API情報の値が変更されたときに、プログラムに通知する方法を教えてください。

デバイス2がアクションを開始する応答を受け取るまで、APIをポーリングするにはどうすればよいですか?または、私は手動でサーバーのデータの値を変更する場合は、アクションを開始するようにしますか?例は、黄色のLEDが点灯している場合、私はサーバーデータベースに入り、それをオフにします。私のアプリケーションはどのように通知され、シミュレートされたLEDの状態が変わりますか?

+0

* "デバイス2がAPIをポーリングするにはどうすればいいですか?" - おそらく、ポーリングよりもポーリングよりもパブリッシュ/サブスクライブを使う方が良いでしょう。 –

+0

@ cricket_007ポーリングする必要はありません。状態が変化して次のタスクを開始できるようになるまで待つ – MockingBird

+0

私が言ったように、更新イベントを "公開"し、データベースへの書き込みイベントを "購読"して他のアクションを実行するそこから –

答えて

0

HTTPを使用しているので、最も適切な解決策は、ウェブソケットを使用することです。全二重通信に使用できます。あるデバイスから入力を受け取ったら、それを処理して他のデバイスに通知することができます。これは大規模なクライアントベースには適していないことに注意してください。

関連する問題