自宅で特定のタスクを自動化するためのシステムをセットアップしようとしています。
サーバー側のアプリケーションがWeb経由でArduino(Arduino Ethernet Shieldに接続)にコマンド/データを送受信できるソリューションを考えています。
ここで、Arduino は、サーバー アプリケーションへのセンサー インターフェイスとして、またはサーバー アプリのコマンド実行インターフェイスとして機能します。
例 (ユーザーストーリー):
わが家の頭上水槽には、Arduinoに水位センサーがついています(Arduino Ethernet Shieldに付いています)。
別の Arduino (Arduino イーサネット シールドが付属) には、リレー/ラッチが取り付けられています。このリレー/ラッチはウォーターポンプに接続されます。
これで、Web 上のサーバー側アプリケーションは、水タンクの Arduino から水位情報を取得/受信できるようになりました。
受信した水位情報に応じて、Web アプリケーションはウォーター ポンプの Arduino に適切な信号/コマンドを送信して、ウォーター ポンプを「オン」または「オフ」に切り替える必要があります。
現在、このようなシステムを Web 全体で機能させるために、次のタイプのソリューションのいずれかを優先順に使用することを考えています。
サーバー アプリケーションと Arduino 間の通信にXMPPを使用します。
HTTP ポーリングの使用。
HTTP ハンギング GET の使用。
解決策 1 では、Arduino に常駐する XMPP クライアントを実装する必要があります。
Arduino に常駐できるほど小さい XMPP クライアントを作成することは可能ですか?
はいの場合、 GTalkなどの XMPP サーバーソリューションに接続できるように、Arduino 用に作成する必要がある最小限の XMPP クライアント機能は何ですか?
ソリューション番号 2 と 3 については、実装のガイダンスが必要です。
また、費用対効果が高く、簡単に拡張できるソリューションはどれですか?