Tutorial: Introdução ao Ubus no Libremesh para Iniciantes

Passo 1: O que é Ubus e Libremesh

O Ubus é uma ferramenta poderosa para gerenciar redes mesh baseadas em OpenWrt, como o Libremesh. Ele facilita a comunicação entre processos do sistema, fornecendo uma base completa de informações. Saiba mais sobre o Ubus e o Libremesh. Como o Ubus é um programa instalado dentro do roteador você precisa acessar o terminal do roteador Veja como fazer isso aqui

Passo 2: Comandos Básicos do Ubus

Para começar, você pode usar o comando ubus list para listar os objetos disponíveis e ubus call para chamar um serviço específico. Veja a sintaxe simples de uso do Ubus:

root@conteiner:~# ubus
Usage: ubus [<options>] <command> [arguments...]
Options:
 -s <socket>:		Set the unix domain socket to connect to
 -t <timeout>:		Set the timeout (in seconds) for a command to complete
 -S:			Use simplified output (for scripts)
 -v:			More verbose output
 -m <type>:		(for monitor): include a specific message type
			(can be used more than once)
 -M <r|t>		(for monitor): only capture received or transmitted traffic

Commands:
 - list [<path>]			List objects
 - call <path> <method> [<message>]	Call an object method
 - listen [<path>...]			Listen for events
 - send <type> [<message>]		Send an event
 - wait_for <object> [<object>...]	Wait for multiple objects to appear on ubus
 - monitor				Monitor ubus traffic

Passo 3: Explorando Serviços do Ubus

Ao usar ubus list, você pode ver os serviços disponíveis, como os relacionados ao Lime-utils, que oferecem funcionalidades úteis para o Libremesh. Por exemplo, ao chamar ubus -v list lime-utils, você pode ver os métodos disponíveis:

root@conteiner:~# ubus list
dnsmasq
hostapd.wlan0-ap
hostapd.wlan0-apname
lime-batman-adv
lime-fbw
lime-groundrouting
lime-location
lime-metrics
lime-openairview
lime-utils
log
network
network.device
network.interface
network.interface.lan
network.interface.lm_net_batadv_dummy_if
network.interface.lm_net_br_lan_anygw_if
network.interface.lm_net_eth0_1_babeld_if
network.interface.lm_net_eth0_babeld_if
network.interface.lm_net_eth1_babeld_if
network.interface.lm_net_eth1_batadv_if
network.interface.lm_net_wlan0_mesh
network.interface.lm_net_wlan0_mesh_babeld_if
network.interface.lm_net_wlan0_mesh_batadv_if
network.interface.lm_net_wlan1_mesh
network.interface.lm_net_wlan1_mesh_babeld_if
network.interface.lm_net_wlan1_mesh_batadv_if
network.interface.loopback
network.interface.wan
network.interface.wan6
network.rrdns
network.wireless
pirania
pirania-app
service
session
system
uci

Passo 4: Chamando Serviços com Ubus

Vamos chamar o serviço lime-utils usando o comando ubus call lime-utils get_cloud_nodes para obter uma lista de nós na rede mesh:

root@conteiner:~# ubus call lime-utils get_cloud_nodes
{
	"nodes": [
		"alessandra",
		"anapaula",
		"arcanjo",
		...
	],
	"status": "ok"
}

Passo 5: Interpretação dos Resultados

Ao chamar o serviço, você receberá uma lista de nós na rede mesh, como “alessandra”, “anapaula”, etc. Essas informações podem ser úteis para monitorar e gerenciar sua rede.

Passo 6: Dicas Adicionais

Explore mais serviços do Ubus, experimente diferentes comandos e lembre-se de consultar a documentação para aprender mais sobre suas capacidades.

Passo 7: Exercícios Práticos

Pratique chamando outros serviços, modificando parâmetros e explorando mais recursos do Ubus para aprofundar seu conhecimento e habilidades.

Com esses passos, você estará mais preparado para utilizar o Ubus no Libremesh e aproveitar ao máximo suas funcionalidades para gerenciar sua rede mesh de forma eficiente.

Uma das maneiras mais poderosas de encontrar informações na sua rede mesh baseada em openwrt é utilizando o Ubus. Ele fornece uma comunicação entre processos do sistema reunindo assim uma base bem completa de informação. Como ele você pode consultar sobre os processos e caracteristicas do seu sistema como também modificalos.

comments powered by Disqus