美文网首页
openwrt ubus (OpenWrt micro bus

openwrt ubus (OpenWrt micro bus

作者: 3c937c88e6c0 | 来源:发表于2015-08-10 19:55 被阅读2245次

    为了在OpenWrt中提供守护进程和应用程序间的通讯,开发了ubus项目工程。它包含了守护进程、库以及一些额外的帮助程序。

    核心部分是ubusd守护进程,它提供了其他守护进程将自己注册以及发送消息的接口。因为这个,接口通过使用Unix socket来实现,并使用TLV(type-length-value)消息。

    为了简化软件的开发,可以使用已有的libubus库来使用ubus(连接ubus)。

    每个守护进程在自己的名称空间中注册自有的路径。每个路径可以提供多个带有不定数量参数的方法,方法可以通过消息回复调用。

    代码在LGPL 2.1授权方法下发布,你可以通过git在git://nbd.name/luci2/ubus.git或通过http在http://nbd.name/gitweb.cgi?p=luci2/ubus.git;a=summary获取。 ubus从r28499起被包含在OpenWrt中。

    ubus命令行工具

    ubus可以和ubusd服务器交互(和当前所有已经注册的服务). 它对研究和调试注册的命名空间以及编写脚本非常有用。对于调用带参数和返回信息的方法,它使用友好的JSON格式。下面是它的命令说明。

    list

    缺省列出所有通过RPC服务器注册的命名空间:

    root@uplink:~# ubus list

    network

    network.device

    network.interface.lan

    network.interface.loopback

    network.interface.wan

    root@uplink:~#

    如果调用时包含参数-v,将会显示指定命名空间更多方法参数等信息:

    root@uplink:~# ubus -v list network.interface.lan

    'network.interface.lan' @099f0c8b

    "up": {  }

    "down": {  }

    "status": {  }

    "prepare": {  }

    "add_device": { "name": "String" }

    "remove_device": { "name": "String" }

    "notify_proto": {  }

    "remove": {  }

    "set_data": {  }

    root@uplink:~#

    call

    ......本站只呈现部分内容,查看完整文章请到WiFiDog官网社区 http://www.wifidog.pro/2015/08/10/openwrt-ubus%E6%9E%B6%E6%9E%84.html,转载请注明出处

    相关文章

      网友评论

          本文标题:openwrt ubus (OpenWrt micro bus

          本文链接:https://www.haomeiwen.com/subject/mbjiqttx.html