如何从设备代理定义自定义片段



我用C++ SDK编写Cumulocity agent。我需要直接从代理添加自定义片段以c8y_Network片段。有人可以举个例子怎么做。

即: c8y_Network有 3 个片段 - c8y_LAN/c8y_WAN/c8y_DHCP。我的代理设备有 3 个局域网、WiFi 等。所以我想定义新的片段,例如c8y_LAN2、c8y_LAN3、c8y_WiFi等。

文件说:"...您可以添加自定义片段。但不要说如何。

您需要创建自己的 SmartRest 模板,以反映您对c8y_Network片段的添加。 然后,您可以使用此模板更新c8y_Network片段。

您无需在平台方面更改任何内容或告诉Cumulocity您的结构。你可以盲目地发送它。

JSON示例:

{
"c8y_Network": {
"c8y_LAN1": {
...
},
"c8y_LAN2": {
...
},
"c8y_LAN3": {
...
},
"c8y_Wifi": {
...
},
}
}

后端不会验证这些结构。您的应用程序只需要了解它。设备管理中网络的默认视图不会显示您的添加内容,因为它不知道此结构。您需要拥有自己的网络插件来可视化所有内容。

在驾驶舱中,您有某些小部件(例如资产属性),它们将自动检测设备中的任何类型的结构,并且能够显示这一点。

我建议您查看使用C++ SDK的网络通信路由器的实现 https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/

这里有SmartRest模板(包括一个用于c8y_Network的模板):https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/srtemplate.txt

在这种情况下,此模板的使用在lua插件中实现:https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/lua/net.lua

最新更新