-
Notifications
You must be signed in to change notification settings - Fork 6
Emulador de Arduino
Um emulador do Arduino foi criado para executar testes com o Servidor. Ele foi programado em Python 3, e envia requisições HTTP POST para um servidor em um endereço IP configurável. As mensagens são enviadas periodicamente, e o período usado é configurável.
Os IDs das duas máquinas associadas a ele são 5 e 6.
As medidas dos sensores são emuladas com variáveis aleatórias ou valores fixos.
Assume sempre o valor 0 na configuração atual (luzes do laboratório apagadas) (deve-se adicionar futuramente um parâmetro para configurar a luz na execução)
Assume uma distribuição gaussiana com média de 57.5% e desvio padrão de 5%.
Assume uma distribuição gaussiana com média de 23 ºC e desvio padrão de 1 ºC.
O emulador envia medidas de dois equipamentos associados a ele. Suas temperaturas assumem uma distribuição gaussiana.
Para o primeiro equipamento, a média é 30 ºC e o desvio padrão é 1 ºC. Para o segundo equipamento, a média é 20 ºC e o desvio padrão é 1 ºC.
- Linguagem: Python 3
- Bibliotecas externas: requests
Como o emulador necessita de uma biblioteca externa, precisamos instalá-la manualmente. Para isso, podemos usar o pip3, versão em Python 3 do gerenciador de pacotes Pip.
Execute o comando:
sudo pip3 install requests
O emulador é aberto por linha de comando.
Você pode encontrá-lo na pasta emulador_arduino, dentro da pasta raiz do projeto.
Dentro dessa pasta, execute, com o interpretador do Python 3:
python3 pseudo_arduino.py [ip-do-servidor/rota] [periodo de envio em segundos] [modo_operacao]
O modo de operação especifica se a sensação térmica do ambiente será alta (além dos valores padrão para a zona de conforto) ou não. Use "errors" em caso afirmativo, para enviar uma sensação térmica constante de 45 graus; ou qualquer outra palavra para enviar uma sensação térmica aleatória.
Exemplo de execução:
python3 pseudo_arduino.py 127.0.0.1/arduino 60 standard
(lembrar que qualquer palavra no terceiro argumento do comando que não seja "errors" causa o funcionamento normal).
Wiki
Planejamento
- Release 1
- Release 2 - Sprint 1
- Release 2 - Sprint 2
- Release 3 - Sprint 1
- Release 3 - Sprint 2
- Release 3 - Sprint 3
Documentos
Decisões Técnicas