app - matheuswhite/bluebees GitHub Wiki

Módulo app

O módulo app é responsável pelo gerenciamento das aplicações dentro das redes mesh bluetooth. Este módulo possui os seguintes comandos:

Comando new

Este comando cria uma nova aplicação associada à uma rede mesh bluetooth. Existe quatro argumentos possíveis:

  • nome: Este argumento é passado após a flag --name (ou -n). Seu valor definirá o nome da aplicação que será criada. Caso uma aplicação com o mesmo nome já exista, então o comando retornará um erro. Este argumento é obrigatório (caso o argumento template não for especificado)
  • rede: Este argumento é passado após a flag --network (ou -w). Seu valor definirá o nome da rede, na qual a aplicação será cadastrada. Caso não exista uma rede com o nome especificado, então o comando retornará um erro. Este argumento é obrigatório (caso o argumento template não for especificado)
  • chave: Este argumento é passado após a flag --key (ou -k). Seu valor definirá a chave de aplicação (AppKey) da aplicação que será criada. Este argumento é opcional. Se não for especificado, então um valor aleatório será disponibilizado para a chave de aplicação (AppKey) da aplicação que será criada. Esse argumento deve ser uma hexstring, contendo 16 bytes. Uma hexstring é um valor hexadecimal no formato de string, sendo que cada par de caracteres representam um byte. O comando retornará um erro, se já existir uma aplicação com o mesmo valor da chave de aplicação (AppKey) especificado.
  • template: Este argumento é passado após a flag --template (ou -t). O valor especificado deve ser um arquivo de template, para a criação da aplicação (veja isto para mais informações sobre arquivo de template). As palavras chave utilizada neste arquivo de template são: name (representando o nome da aplicação), network (representando o nome da rede, na qual a aplicação será cadrastrada) e key (representando a chave de aplicação). O comando retornará um erro, se:
    • Não existir a palavra-chave name no arquivo especificado;
    • Não existir a palavra-chave network no arquivo especificado;
    • Já existir uma aplicação com o nome especificado no arquivo;
    • Não existir uma rede com o nome especificado no arquivo;
    • Já existir uma aplicação com a chave especificada no arquivo.

Se a palavra chave key não for encontrada no arquivo especificado, então uma chave de aplicação (AppKey) aleatória será disponibilizada. A utilização do argumento template torna os argumentos nome e rede não obrigatórios.

Alguns exemplos deste comando são mostrados abaixo:

(UNIX)
python3 bluebees.py app new --name app-test -w rede-test
python3 bluebees.py app new --name app-test -w rede-test --key 123456789012345678901234567890aa
python3 bluebees.py app new --template app_template.yml
(Windows)
python bluebees.py app new --name app-test -w rede-test
python bluebees.py app new --name app-test -w rede-test --key 123456789012345678901234567890aa
python bluebees.py app new --template app_template.yml

NOTA: Caso o número máximo de aplicações, que podem ser criadas, for alcançado, então o comando retornará um erro.


Comando list

Este comando lista o nome das aplicações criadas na ferramenta. Caso não exista nenhuma aplicação criada na ferramenta, então uma mensagem será mostrada, informando que não existe aplicações criadas. Este comando não recebe argumentos. Um exemplo do comando é mostrado abaixo:

(UNIX)
python3 bluebees.py app list
(Windows)
python bluebees.py app list

Comando info

Este comando apresenta as informações de uma aplicação criada na ferramenta. O único argumento que este comando recebe é o nome da aplicação. O nome da aplicação é passado após a flag --name (ou -n). Se não existir nenhuma aplicação com o nome especificado, então o comando retornará um erro. As informações apresentadas são:

  • Nome da aplicação;
  • Chave de aplicação (AppKey);
  • Índice da chave (AppKey Index);
  • Nome da rede, na qual a aplicação está cadastrada;
  • Uma lista com o nome dos nós cadastrados nesta aplicação.

Um exemplo do comando é mostrado abaixo:

(UNIX)
python3 bluebees.py app info -n app-test
(Windows)
python bluebees.py app info -n app-test