Team,
I am using the Wakaama
client and register it to the Leshun server. I have object 1024, and within that an instance with a resource
that represents the current time.
Within the client I made a small change
so that the time gets renewed every few seconds. The function prv_change() is called with the appropriate Uri of that resource.
At Leshun, I press the 'Observe' button for that
resource. I expect
to see Non-Confirmable messages going to the server to
update the selected resource,
but they are absent.
I did some investigation why it does not
work, and I think I found the reason. It seems that when the function prv_change()
is being called, the lwm2mH gets an entirely new
assignment of the lwm2m_context, while
during the receiving action of the Observe request, the
Uri was saved in the structure which was active at that
moment. This means that the observed Uri is in the
observedList, but is not being
used when the prv_change() function becomes in use.
It takes a new, and empty lwm2m_context structure.
To test my
idea's I store the contextP pointer
in a global variable GLcontextP in function
observe_step(). When the prv_change() function is
called, it validates whether the
GLcontextP is valid (defined before) and it proceeds with
that one instead of assigning it locally. In
this way, the previous defined contextP is in
use with the observedList.
Then I do get the
Non-Confirmables every one minute.
Since Wakaama
is quite stable and is
out there for a while, It could well
be that I am totally wrong in my interpretation how the Observe
function should work, please
apologize if so.
So, my Q is whether the Observe function
works as it should with the current release (Aug
2016), or should it
have some attention in this area ?
Thank you in advance and regards,
- Dirk Gooris
Trace of CoAP after
my change:
3.3052101
127.0.0.1 56830 127.0.0.1 5683 CoAP CON, MID:33237, POST,
TKN:d5 81 59 e1,
/rd?ep=myclient&b=U<=300
3.3158532 127.0.0.1 5683 127.0.0.1 56830 CoAP ACK,
MID:33237, 2.01 Created, TKN:d5 81 59 e1
24.583735 127.0.0.1 5683 127.0.0.1 56830 CoAP CON,
MID:53186, GET, TKN:2b c6 66 09 e2 15, /1024/1
24.584105 127.0.0.1 56830 127.0.0.1 5683 CoAP ACK,
MID:53186, 2.05 Content, TKN:2b c6 66 09 e2 15
65.006014 127.0.0.1 5683 127.0.0.1 56830 CoAP CON,
MID:53187, GET, TKN:52 b3 51 e4, /1024/1/5
65.006423 127.0.0.1 56830 127.0.0.1 5683 CoAP ACK,
MID:53187, 2.05 Content, TKN:52 b3 51 e4
(text/plain)
125.06626 127.0.0.1 56830 127.0.0.1 5683 CoAP NON,
MID:33238, 2.05 Content, TKN:52 b3 51 e4
(text/plain)
185.12648 127.0.0.1 56830 127.0.0.1 5683 CoAP NON,
MID:33239, 2.05 Content, TKN:52 b3 51 e4
(text/plain)
245.12912 127.0.0.1 56830 127.0.0.1 5683 CoAP NON,
MID:33240, 2.05 Content, TKN:52 b3 51 e4
(text/plain)
|