MQTTまたはHTTPを使用する必要がありますか?


9

私は、温度や湿度などの環境から情報を感知して収集するデバイスを開発しています。

デバイスは電源に接続されていませんが、バッテリーとそれを充電するソーラーパネルを備えています。

ほとんどの場合、ほとんどディープスリープ状態にあり、データを検知して転送する必要がある場合にのみ起動します。この操作には約1〜2分かかり、その後再びスリープ状態になります。

私はこの分野の専門家ではありませんが、トピックからのメッセージを常に受信するためにデバイスにアクセスできる必要がある場合、MQTTは良いオプションになるはずですが、私のシナリオではセンサーを読み取り、データを定期的にサーバー。

現在、HTTP経由でデータを送信していますが、MQTTを実装するのが理にかなっているのでしょうか。このシナリオでは、HTTPよりもメリットがありますか?


1
それは似ていますが、私のポイントは、私のシナリオでMQTTを実装する必要があるかどうかを理解することです。つまり、デバイスが99%の時間、ディープスリープ状態になり、読み取りを送信するためにウェイクアップする場合です。
zephrax

1
どちらもお勧めしません。まず、要件を書き出し、最も単純なプロトコルを実装します。芝刈り機でフェラーリエンジンを使用して草を刈るのは意味がありません。物事の流行語にとらわれないでください。基本的な調査を行い、最も効果的なものを実装してください。
Xofo

質問のタイトルで要件をキャプチャするといいと思います。一般的に、センサーの値が小さくて頻度が低いことについて質問していると思います。
Sean Houlihane

@Xofoそれについての回答を見てみたいと思います。なぜカスタムプロトコルの使用を提案するのでしょうか。「自分でロールする」という追加の労力に加えて、セキュリティの問題などに値しますか?
Aurora0001

カスタムプロトコルではありません...最初に要件を定義すると述べました。規定されているプロトコルのいくつかは、しばしば非常に重いです。
Xofo

回答:


8

データを保存する場合は、HTTPをそのまま使用します。HTTPは一方向の信号にすぎません。

サーバーまたはその他の「もの」が特定の信号(低温など)に反応する必要がある場合は、MQTTを使用してください。このように、多くのデバイスは温度信号をサブスクライブし、サーバーを使用せずにすぐに反応できます。


1
また、一度に大量(http)と少量(mqtt)のデータに区分があり、信号状態が悪い場合にもmqttの方が信頼性が高くなります。
mico

1
サーバーはセンサーからのデータのみを受信します。私の投稿の要点は、デバイスがディープスリープ状態(すべてのバス、モデム、センサーがオフ)で99%の時間使用されるため、MQTTを使用する意味があるかどうかわからないということです。ウェイクアップしてセンサーを読み取り、データを送信します。
zephrax

データをどこかに保存する場合、これはデータベースとそれをクエリするバックエンドの方法(Apacheサーバー、コマンドラインSQLなど)があることを意味します。この上にMQTTを置くと、管理する別のインスタンスとポートができます。
Goufalite

1
私はこの答えに同意します。双方向通信が不要で、デバイスが長時間スリープ状態である場合、HTTPはシンプルで適切なプロトコルの選択です。
TheMagicCow 2017年

8

デバイスの一部としてソーラーパネルとバッテリーについて言及しているため、送信中の電力使用量を最小限に抑えて、デバイスの電力が完全に不足しないようにする必要があります。

したがって、あなたが考慮する必要がありますCoAPをCoが nstrained pplicationのPの特にモノのインターネットに拘束されたデバイス用に設計されてrotocolを、。

ペーパー「Web of ThingsアプリケーションでのCoAPとHTTPのコスト効率の比較」では、CoAPがここで電力を節約できるというかなり説得力のある証拠を見つけることができます。付録A(38ページ)で、表A.4のデバイスの予想バッテリー寿命を確認できます。あなたのユースケースで期待しているように、120秒の時間間隔の場合:

t bat(HTTP)、日数-2013

t bat(CoAP)、日数— 11013

これらの計算は2組の炭素-亜鉛単三電池で実行されましたが、CoAPの方がはるかに少ない電力を使用していることは明らかなので、検討する価値があるかもしれません。論文で説明されている「プッシュモード」は、まさに計画しているようなものです。

CoAPについて具体的に尋ねたわけではありませんが、GoufaliteはMQTTとHTTPの本質的な違いをすでにカバーしているので、言及する価値があると思います。大体の目安は、1対1または1対多のコミュニケーションを計画していますか?前者の場合、HTTPとCoAPの方が適しているようです。後者の場合、MQTTがおそらくより便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.