标签:
在另一篇文章讲述了client API设计(IOT command (based on sip)client API设计 for java )。
前段时间梳理了command设计及框架,其实狭义上即设备控制、管理,即可以家庭局域网内进行管理,也可以远程管理(通过开源的sip server: opensips),当然也包含了设备联动规则的原型实现(即物联网的ITTT).
command包含两部分:即client和server(eg. 手机上的client app,gateway上的server)
流程如下图所示:
typedef struct dev_func { const char * funcname; int (* dev_method)(cmd_arg * param_list[], uint8_t plist_size); }dev_func; typedef struct dev_plugin { char dev_pluginname[NAME_MAXSIZE]; //设备类型名称,具有唯一性 const dev_func * pt_func_array; //函数列表,设备实际执行函数,供command-svr回调。 char dev_metafile[NAME_MAXSIZE]; //设备元数据文件 }dev_plugin; typedef int (* init_devplugin)(dev_plugin * pt_plugin, dev_cmd_interface * pt_inf);
<device type="test_plugin"> <method name="test1"> <param name="a" type="int" direction="IN"/> <param name="b" type="string" direction="IN"/> <param name="c" type="float" direction="OUT"/> <param name="d" type="string" direction="OUT"/> </method> </device>
标签:
原文地址:http://www.cnblogs.com/europelee/p/4871885.html