O Happy só tem suporte no Linux devido à forte dependência de namespaces de rede do Linux.
Instalar
- Instale as bibliotecas necessárias:
sudo apt-get install python-setuptools bridge-utils python-lockfile python-psutil make - Clone o repositório:
git clone https://github.com/openweave/happy.git - Instalar o Happy:
O comandocd happymakemakeexecuta duas tarefas:- Cria um pacote Happy Python em
/usr/local/lib/python2.7/dist-packages - Copia scripts de shell Happy para
/usr/local/bin
- Cria um pacote Happy Python em
- Valide a instalação executando um comando Happy:
happy-stateState Name: happyNETWORKS Name Type State PrefixesNODES Name Interface Type IPs
Suporte para Weave
O Happy oferece suporte ao Weave pelo OpenWeave, que requer um build do OpenWeave e algumas configurações adicionais. A maneira mais rápida de integrar o OpenWeave com Happy é criar o aplicativo independente.
- Instale o conjunto de ferramentas de build e todas as dependências necessárias para o OpenWeave:
sudo apt-get updatesudo apt-get install -y autotools-dev build-essential git lcov /libdbus-1-dev libglib2.0-dev libssl-dev /libudev-dev python2.7 python-software-propertiessudo apt-get install -y --force-yes gcc-arm-none-eabisudo apt-get update -qq - Clone o repositório do OpenWeave:
git clone https://github.com/openweave/openweave-core.git - Crie o aplicativo OpenWeave independente:
cd <path-to-openweave-core>make -f Makefile-Standalone - Defina o caminho da Weave na configuração "Happy":
happy-configuration weave_path <path-to-openweave-core>/build/x86_64-unknown-linux-gnu/src/test-apps - Atualize a variável de ambiente
$PATHpara que ela saiba onde encontrar binários relacionados ao Happy para o Weave:export PATH=$PATH:<path-to-openweave-core>/src/test-apps/happy/bin - Testar a configuração. Você poderá executar comandos da Weave para Happy:
weave-stateState Name: weaveNODES Name Weave Node Id Pairing CodeFABRIC Fabric Id Global Prefix
Desinstalar
- Verifique se todos os nós e redes virtuais foram excluídos:
happy-state-delete - Desinstalar feliz:
cd <path-to-happy>make uninstall - Exclua todos os outros arquivos Happy restantes:
rm -f ~/.happy_state.jsonrm -f ~/.happy_conf.jsonrm -f ~/.happy_state.json.lockcd /usr/local/lib/python2.7/dist-packagesrm -f happy*
Se você usar um recurso avançado, como estados paralelos, cada estado precisa ser excluído individualmente. Consulte Desinstalar com estados paralelos para mais informações.