我对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 回答
我找到了解决上面暴露的问题的方法 .
我使用来自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 / lwm2m初学者来说效果非常好 .
注意:如果您要传输更大的文件,也可以更改属性MAX_RESOURCE_BODY_SIZE
我希望这可能对某人有所帮助 .
问候,
Elvys