0

この質問は、Contiki-OS に実装されている CoAP プロトコルと CoRE リンク形式に関するものです。

次のような複数のリソースを共有する Contiki デバイスがあるとします。

  • センサー
    • 温度
    • 湿度
    • モーション
    • バッテリー電圧
    • ソーラーパネル電圧

クライアントは、次のようなそれぞれの URL を使用してこれらのリソースにアクセスできます。

REQ: GET /sensors/humidity

これらの各リソースは定期的であり (明らかに Motion を除く)、監視可能ですが、デフォルトで構成されている許容オブザーバーの最大数は実際には 3 に制限されています。

この数を監視可能なリソースの数と等しくなるように増やし、これらのリソースごとにオブザーバーを作成できます (結果がどうなるかはわかりません)。さらに、グローバルな「センサー」定期リソースを作成し、すべてのリソースを一度に共有することもできます。

しかし、それを行うためのより良い方法はありますか? 標準は、1 つのオブザーバーで複数の定期的なリソースを組み合わせることができるメカニズムを提供していますか?

ありがとう。

4

1 に答える 1

0

Coap の観察草案は次のように述べています。

オブザーバーが複数のサブジェクトに関心を持っている場合、オブザーバーはそれらすべてについて個別に登録する必要があります。

したがって、あなたの質問に答えるには、いいえ、標準的な方法はありません。必要に応じて、すべてのセンサーを返す別の URL を追加できます (ただし、それは非常に悪い解決策です)。

代わりに、デフォルトの最大オブザーバー設定をオーバーライドします。実際、observe のドラフトでは、observer の最大数については何も述べられていません。メモリ割り当てが原因でデバイスがクラッシュしないように設定するのはあなた次第です。

于 2015-09-08T11:31:18.997 に答える