openwrt ubus (OpenWrt micro bus 架構(gòu))

為了在OpenWrt中提供守護(hù)進(jìn)程和應(yīng)用程序間的通訊,開發(fā)了ubus項目工程。它包含了守護(hù)進(jìn)程、庫以及一些額外的幫助程序。

核心部分是ubusd守護(hù)進(jìn)程,它提供了其他守護(hù)進(jìn)程將自己注冊以及發(fā)送消息的接口。因為這個,接口通過使用Unix socket來實現(xiàn),并使用TLV(type-length-value)消息。

為了簡化軟件的開發(fā),可以使用已有的libubus庫來使用ubus(連接ubus)。

每個守護(hù)進(jìn)程在自己的名稱空間中注冊自有的路徑。每個路徑可以提供多個帶有不定數(shù)量參數(shù)的方法,方法可以通過消息回復(fù)調(diào)用。

代碼在LGPL 2.1授權(quán)方法下發(fā)布,你可以通過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服務(wù)器交互(和當(dāng)前所有已經(jīng)注冊的服務(wù)). 它對研究和調(diào)試注冊的命名空間以及編寫腳本非常有用。對于調(diào)用帶參數(shù)和返回信息的方法,它使用友好的JSON格式。下面是它的命令說明。

list

缺省列出所有通過RPC服務(wù)器注冊的命名空間:

root@uplink:~# ubus list

network

network.device

network.interface.lan

network.interface.loopback

network.interface.wan

root@uplink:~#

如果調(diào)用時包含參數(shù)-v,將會顯示指定命名空間更多方法參數(shù)等信息:

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

......本站只呈現(xiàn)部分內(nèi)容,查看完整文章請到WiFiDog官網(wǎng)社區(qū) http://www.wifidog.pro/2015/08/10/openwrt-ubus%E6%9E%B6%E6%9E%84.html,轉(zhuǎn)載請注明出處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容