首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将固件包从LWM2M乐山服务器发送到LWM2M Wakaama客户端?

如何将固件包从LWM2M乐山服务器发送到LWM2M Wakaama客户端?
EN

Stack Overflow用户
提问于 2015-11-19 23:46:48
回答 2查看 1.7K关注 0票数 2

我有一个使用乐山服务器的LwM2M Wakaama客户端。当我试图通过固件更新对象5的包资源上的写选项发送一个巨大的十六进制字符串时,我会在客户端得到以下错误消息:

"Block1未实现“。

据我所知,block1不是在wakaama客户端上实现的,只有block2是实现的,有人知道为什么吗?

此外,如何使固件更新与包资源与乐山服务器和Wakaama客户端工作?

我相信我可以更改乐山服务器发送一个BLOCK2类型的请求(我不知道如何从有限的UI?)或者在Wakaama LWM2M客户机上添加对LWM2M的支持。

有人试过这个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-04 23:53:29

通过在Paket.c ~第234-263行中对函数Block1进行以下更改,增加了对lwm2m_handle_packet的支持:

代码语言:javascript
复制
       /* get offset for blockwise transfers */
        if (coap_get_header_block2(message, &block_num, NULL, &block_size, &block_offset))
        {
            LOG("Blockwise2: block request %u (%u/%u) @ %u bytes\n", block_num, block_size, REST_MAX_CHUNK_SIZE, block_offset);
            block_size = MIN(block_size, REST_MAX_CHUNK_SIZE);
            new_offset = block_offset;
        }
        ++else if (coap_get_header_block1(message, &block_num, NULL, &block_size, &block_offset))
        ++{
            ++LOG("Blockwise1: block request %u (%u/%u) @ %u bytes\n", block_num, block_size, REST_MAX_CHUNK_SIZE, block_offset);
            ++block_size = MIN(block_size, REST_MAX_CHUNK_SIZE);
            ++new_offset = block_offset;
        ++}
        coap_error_code = handle_request(contextP, fromSessionH, message, response);
        if (coap_error_code==NO_ERROR)
        {
            /* Apply blockwise transfers. */
            if ( IS_OPTION(message, COAP_OPTION_BLOCK1) && response->code<BAD_REQUEST_4_00 && !IS_OPTION(response, COAP_OPTION_BLOCK1) )
            {
                ++//LOG("Block1 NOT IMPLEMENTED\n");

                ++//coap_error_code = NOT_IMPLEMENTED_5_01;
                ++//coap_error_message = "NoBlock1Support";
                ++LOG("Block1 IMPLEMENTED\n");
                ++coap_set_header_block1(response, block_num, 0, block_size);

            }
            else if ( IS_OPTION(message, COAP_OPTION_BLOCK2) )
票数 0
EN

Stack Overflow用户

发布于 2015-11-20 16:16:53

你使用的“觉醒”版本是最新的吗?最后一个主机应该支持块传输。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33816497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档