2016-11-18 2 views
0

Ich arbeite gerade an einem lwm2m-Projekt mit dem Projekt leshan eclipse.LWM2M Leshan Wie konfiguriert man den Standardzeitraum eines Beobachtens?

Beim Beobachten einer Ressource scheint lwm2m die Standardminimumsperiode und die Standardmaximalperiode, zwei Ressourcen des Objekts "LWM2M Server", zu verwenden.

Grundsätzlich, was ich verstanden habe, ist der Standard Mindestzeitraum (/ 1/0/2) der minimale Zeitraum zwischen zwei beobachteten Werten (egal wie oft sich der Wert der beobachteten Ressource ändert, wird der Client senden Sie nur alle x Sekunden eine Nachricht, wobei x auf die Standard-Mindestzeit eingestellt ist). Der Standardmaximalzeitraum ist der maximale Zeitraum zwischen zwei Nachrichten. Selbst wenn sich der Wert nicht ändert, sendet der Client nach einer Weile eine Nachricht.

Diese Werte werden jedoch für alle Ressourcen aller Objekte eines Clients verwendet. Ich würde gerne wissen, ob es möglich ist, genauer zu sein. Ich möchte in der Lage sein, eine Standardminimumsperiode und eine Standardmaximalperiode für jede Ressource festzulegen, die ich beobachten möchte. Ist es möglich?

Antwort

0

Observe/notify ist eine der schwersten Operationen für eingeschränkte Clients - Sie benötigen einen Loop/Thread/Timer, um es zu implementieren. Stellen Sie sich vor, Sie haben einen Timer pro Objekt - dies wirkt sich auf die CPU-Auslastung und den Batterieverbrauch aus.

Sie können Client und Server erweitern, um solche Logik zu unterstützen, aber ich fürchte, Standard bietet solche Funktionen nicht.

2

Sie können in WriteAttributesRequest, die vor dem Einstellen gesendet werden soll, den Mindestzeitraum und den Höchstzeitraum verstreichen lassen. Dieser WriteAttributesRequest benötigt einen Ressourcenpfad, für den er den minimalen Zeitraum und den maximalen Zeitraum festlegen muss. Sobald WriteAttributesRequest erfolgreich ist, können Sie festlegen, ob die Werte früherer Perioden folgen sollen.

Verwandte Themen