使用 CoAP 观察 Contiki 设备的多个资源

Observe multiple resources of a Contiki device with CoAP

这个问题涉及在 Contiki-OS 中实现的 CoAP 协议和 CoRE link 格式。

假设一个 Contiki 设备共享多个资源,这些资源是:

客户端可以使用各自的 URL 访问这些资源,例如:

REQ: GET /sensors/humidity

这些资源中的每一个都是周期性的(显然 Motion 除外)并且是可观察的,但默认配置的允许观察者的最大数量实际上限制为 3。

我们可以将这个数字增加到等于可观察资源的数量,并为这些资源中的每一个创建一个观察者(我不知道会产生什么后果)。我们还可以创建一个全局 "Sensors" 周期性资源并一次共享所有资源。

但是有更好的方法吗?标准是否提供了一种机制,允许我们在一个观察者中组合多个周期性资源?

谢谢。

Coap observe draft 说:

If multiple subjects are of interest to an observer, the observer must register separately for all of them.

所以,要回答你的问题,不,没有标准的方法,最多你可以添加另一个 url returns 所有传感器,如果你愿意的话(但恕我直言,这是一个非常糟糕的解决方案)。

相反,我只是覆盖默认的最大观察者设置。事实上 ,您只需设置一个即可确保您的设备不会因为内存分配而崩溃。