我用C ++ SDK编写Cumulocity代理。我需要直接从代理将自定义片段添加到c8y_Network片段。有人可以举个例子。
即: c8y_Network具有3个片段-c8y_LAN / c8y_WAN / c8y_DHCP。我的带有代理的设备具有3个LAN,WiFi等。因此,我想定义新的片段,例如c8y_LAN2,c8y_LAN3,c8y_WiFi等。
文档说:“ ...您可以添加自定义片段。”但不要说如何。
答案 0 :(得分:0)
您将需要创建自己的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/
的netcomm路由器的实现此处有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