首页 文章

使用乐山服务器进行OMA固件更新:保存文件的位置?

提问于
浏览
0

我对IOT(协议)的世界很陌生 . 我想远程更新一些设备(它们将安装在离我工作地点大约8000公里的地方) . 我发现LWM2M适合我的范围 .

由于互联网连接不稳定且带宽较低,我决定安装Raspberry Pi来收集传感器数据并安装乐山服务器以触发更新 .

我测试了设备,我可以将它们注册到Pi上的乐山服务器,读取一些数据,然后重启设备 . 问题是,我不知道在哪里保存我的二进制文件以进行更新,以便设备可以下载它们 .

我尝试了以下步骤:

  • 将文件保存在[leshan-dir] /update.bin上 .

  • 写"Package URI":coap:// [raspi-IP]:5683 / update.bin
    之后,按钮"Write"的背景颜色变为绿色 .

  • 执行更新

服务器的响应是404 [未找到] .

我找了任何API来找出我可以保存.bin文件的位置,但没有成功 . 而且因为似乎没有人有类似的错误,我开始认为我错过了一些观点 .

我在哪里可以保存Raspbery Pi上的文件,以便我可以执行更新?

1 回答

  • 1

    我找到了解决上面暴露的问题的方法 .

    我使用来自californium项目的demo-app cf-simplefile-server(Ref . https://github.com/eclipse/californium/tree/2.0.x/demo-apps/cf-simplefile-server

    注意:您必须签出git-branch 2.0.x才能使用它 .

    要在同一台机器上运行leshan服务器和文件服务器,我必须使用Californium.properties文件更改其中一台服务器的端口 . 我决定将文件服务器的更改为5685和5686

    当两个服务器都运行时,我可以在Package URI中插入类似于:

    coap://[[ip_of_the_pi]]:5685/data/[[name_of_the_firmware_file]]
    

    可能有更好的解决方案,但对于coap / lwm2m初学者来说效果非常好 .

    注意:如果您要传输更大的文件,也可以更改属性MAX_RESOURCE_BODY_SIZE

    我希望这可能对某人有所帮助 .

    问候,

    Elvys

相关问题