
Semana 16
05/06/2020
- Preparação de uma pequena apresentação para a Milestone 4
- Atualização do calendário Gantt
- Reunião com o orientador no Discord para discutir a estratégia de apresentação
- Instalações temporárias de serviços críticos (InfluxDB) em servidores alternativos devido a um problema técnico de última hora no IT
- Milestone 4
- Apresentação da visão do projeto e arquitetura geral do mesmo
- Demonstração das funcionalidades desenvolvidas
- Discussão das tarefas que não foram realizadas e das que não constavam na planificação original
- Finalização do relatório técnico final e validação do mesmo pelo o orientador
Semana 15
29/05/2020
- Desenvolvimento da interface de coniguração de políticas de gestão de acessos na plataforma de gestão
- Correção de erros no módulo de controlo de acessos
- Conclusão da página de documentação OpenAPI de especificação dos endpoints da API
- Finalização da aplicação movel
- Correção de erros na lógica de login
- Início da escrita do relatório técnico final
- Otimizações de código generalizadas
Semana 14
22/05/2020
- Preparação de uma pequena apresentação para o checkpoint 3
- Atualização do calendário Gantt
- Checkpoint 3
- Apresentação das funcionalidades desenvolvidas desde a M3, nomeadamente:
- Segurança nas comunicações Sensores -> Gateway
- Sistema de notificações/alertas
- Plataforma de Gestão
- Entre outros…
- Discussão dos próximos passos
- Apresentação das funcionalidades desenvolvidas desde a M3, nomeadamente:
- Reunião com o orientador no Discord para discutir o estado do projeto e esclarecer algumas questões
Semana 13
15/05/2020
- Conclusão do desenvolvimento das funcionalidades da plataforma de gestão exceto o módulo de gestão de políticas de controlo de acessos
- Gestão de Salas (adicionar, editar, remover)
- Gestão de Sensores (adicionar, editar, remover)
- Gestão de Tipos de Métricas (adicionar, editar, remover)
- Gestão de Utilizadores (conferir/retirar o estatuto de administrador)
- Envio manual de notificações/avisos para a aplicação móvel
- Integração do login & logout na plataforma de gestão
- Continuação da integração do login & logout no Grafana (funcional)
- Testes, otimização, e correção de erros na plataforma de gestão
- Testes, otimização, e correção de erros nos endpoints de sessão da API (Login, Logout, Auth_callback)
- Testes, otimização, e correção de erros nos endpoints de gestão da API (POST, DELETE)
- Desenvolvimento de um endpoint adicional para a obtenção da chave de encriptação de um dado sensor
- Conclusão do sistema de envio de notificações e alertas
- Alterações na datasource do Grafana de modo a permitir a utilização dos alertas
- Testes de envio de alertas para um servidor de Discord
- Criação de um endpoint na API, que recebe os alertas do Grafana ou os pedidos da plataforma de gestão e transforma-os numa notificação para a aplicação móvel
- Testes de envio de notificações através da plataforma de gestão
- Criação de um método de subscrever notificações de um sensor específico na aplicação móvel
- Integração do logout na aplicação móvel
- Testes, otimização, e correção de erros na aplicação móvel
Semana 12
08/05/2020
- Implementação de encriptação da payload das mensagens MQTT com informação sensorial para garantir a segurança do sistema e a integridade dos dados
- Otimização da estabilidade do código do microcontrolador (MQTT Pings, Watchdog Timer)
- Integração da autenticação na aplicação móvel
- Continuação do desenvolvimento da plataforma de gestão
- Integração do sensor BME 680 na segunda montagem de testes (Ricardo)
- Integração do login no Grafana (início)
Semana 11
01/05/2020
- Milestone 3
- Exposição das condições em que o protótipo foi construído
- Demonstração do funcionamento e da interligação dos diversos módulos
- Breve resumo do estado atual do projeto e próximos passos no seu desenvolvimento
- Continuação da integração da autenticação e controlo de acessos nos endpoints da API
- Correção de erros e otimização de código nos módulos de interação com as bases de dados
- Investigação sobre a potencial integração de sensores com comunicação por 433Mhz como os de deteção de movimento PIR, por exemplo
- Adição de um indicador qualitativo aos valores sensoriais apresentados na aplicação mobile
- Implementação da funcionalidade de pesquisa por salas na aplicação mobile
- Planeamento das tarefas a cumprir para a próxima milestone (M4)
Semana 10
24/04/2020
- Planeamento e construção de um vídeo demonstrativo como reserva caso existam problemas na apresentação da Milestone 3
- Integração da documentação SwaggerUI dos endpoints da API para especificação dos mesmos e testes dinamicos de execução de pedidos
- Elaboração de um relatório acerca das condições nas quais o protótipo foi desenvolvido, do estado atual do projeto, e das tarefas seguintes.
- Otimizações dos endpoints específicos do grafana na API
- Implementação de validações adicionais nos principais endpoints da API
- Integração da API na instalação do Grafana existente
- Continuação do desenvolvimento dos endpoints específicos de gestão e controlo de acessos
- Correção de erros e otimização de código na aplicação mobile
Semana 9
17/04/2020
- Continuação do desenvolvimento de endpoints para suporte a soluções Grafana na API
- Reunião com o orientador no Discord para discutir o estado do projeto e esclarecer algumas questões
- Preparação de uma pequena apresentação para o checkpoint 2
- Atualização do calendário Gantt
- Checkpoint 2
- Apresentação do estado atual do projeto
- Apresentação da dasahboard grafana e da nova página de documentação
- Remodulação do design da view principal da aplicação móvel em Flutter
- Reunião com o orientador no Discord para discutir o plano para a apresentação/demonstração da Milestone 3
- Resolução de problemas com o proxy do Instituto de Telecomunicações
- Levantamento de encomendas de componentes eletrónicos
Semana 8
10/04/2020
- Correção de inconsistências no Diagrama de Gantt reportadas durante o Checkpoint
- Finalização da preparação da página de documentação do website do projeto
- Elaboração de documentação do desenvolvimento e dos módulos em construção
- Endpoints de autenticação na API e testes
- Adição de melhoramentos na API (HTTPS, secure cookies, CSRF tokens, validações a requests)
- Levantamento, no DETI, dos sensores adicionais encomendados através do orientador
- Implementação do código base para a obtenção de valores de concentração de CO2
- Sem ter, no entanto, todos os componentes necessários para a montagem do circuito
- Otimização da obtenção de valores de ruído
- Implementação de um WSGI Gunicorn para a API, com ajustes de performance e testes
- Início ao desenvolvimento de endpoints para suporte a soluções Grafana na API
- Instalação, configuração e exposição do Grafana e dashboards na VM do projeto
- Criação de contentores Docker para as bases de dados e configurações
De notar que, devido a quebras de stock, a encomenda dos componentes eletrónicos adicionais (30 de Março) apenas foi enviada no dia 8 de Abril
Semana 7
03/04/2020
- Encomenda de componentes eletrónicos adicionais:
- Fonte de Alimentação para Breadboard V2 - 5V / 3.3V DC
- Kit de 100 condensadores cerâmicos - Kemo S007
- Condensador Cerâmico 47nF 50V (5x)
- Circuito Integrado LMC662AIM/NOPB (OpAmp)
- Otimização de código e correção de erros no módulo do microcontrolador
- Implementação do cliente OAuth 1.0a na API (Identity@UA)
- Início à implementação dos endpoints e funções para autenticação
- Checkpoint
- Apresentação do estado atual do projeto
- Clarificação das limitações impostas pela quarentena
- Preparação da página de documentação do website do projeto
- Elaboração de documentação do desenvolvimento e dos módulos em construção
- Protótipos de vistas essenciais da aplicação móvel
- Testada comunicação da aplicação móvel com api
- Informação recolhida dos sensores divididos em diferentes dashboards consoante as duas provas de conceito
Semana 6
27/03/2020
- Implementação e teste da retransmissão dos dados da gateway para o Eclipse Hono
- Implementação dos endpoints críticos da API (obtenção de dados)
- Criação de um cliente OAuth genérico na API para apoio ao desenvolvimento
- Implementação da data source no Grafana
- Primeira integração funcional do Grafana como dashboard
- Investigação do circuito necessário para alimentar e obter valores de CO2 (Sensor MG812)
De salientar que nesta fase os dados sensoriais já são enviados para a infraestrutura, consumidos pelas chamadas à API e apresentados no Grafana.
Semana 5
20/03/2020
- Troca de e-mails com Diogo Regateiro do Instituto de Telecomunicações sobre a plataforma Eclipse Hono e instruções de utilização da mesma.
- Preparação do ambiente de desenvolvimento em casa
- Montagem dos sensores e respetivo circuito
- Implementação e teste do código base de obtenção de valores e comunicação no microcontrolador
- Implementação e teste da obtenção de:
- Número de dispositivos BLE detetados
- Luminusidade (Lux - Sensor TSL2561)
- Ruído (dB - Sensor LMV324/SEN-12642)
- Instalação de um broker MQTT na gateway
- Elaboração de documentação interna do processo
- Finalização do planeamento dos Endpoints da API
- Desenvolvimento de um adaptador em Python para interagir com a InfluxDB
- Início do desenvolvimento da aplicação em Flutter
- Início do desenvolvimento da dashboard no Grafana
Semana 4
13/03/2020
- Investigação para a definição da arquitetura do projeto
- Reuniões com o orientador para clarificação e validação da arquitetura do projeto
- Preparação da apresentação da Milestone 2
- Elaboração de diagramas de arquitetura e modelo de domínio
- Milestone 2
- Apresentação dos requisitos funcionais e não funcionais do projeto
- Apresentação dos casos de uso
- Apresentação da arquitetura do sistema
- Recolha e distribuição do material face à suspensão das atividades letivas presenciais
- Reunião com Dimitri Silva dos sTIC para demonstração do WSO2 e criação de contas
- Elaboração de Mock-ups de vistas da aplicação móvel
- Investigação do Flutter para a construção da aplicação móvel
- Investigação do Grafana para a construção das dashboards web
Semana 3
06/03/2020
- Investigação para a definição da arquitetura do projeto
- Requisição e levantamento dos equipamentos necessários para os módulos de sensorização (MakerLab):
- Microcontrolador LoPy v1 (2x)
- Sensor LMV324/SEN-12642 (1x)
- Sensor DHT11 (2x)
- Sensor MG812 (2x)
- Sensor TSL2561 (2x)
- Recetor & Emissor 433MHz
- Sensor Movimento 433MHz
- Sensor Detetor Porta 433MHz
- Ambientação ao WSO2 e exploração do mesmo
- Reunião com o orientador e os sTIC para discussão da arquitetura e da integração do WSO2
- Credenciação no Instituto de Telecomunicações de forma a poder utilizar um dos espaços para o desenvolvimento do projeto
- Preparação da máquina virtual do IT atribuída ao projeto (acessos)
- Montagem de uma rede de testes para simular a rede Wi-Fi ‘MakerLab’ dentro do IT
- Preparação da apresentação da Milestone 2
- Encomenda de material adicional através do orientador:
- Sensor BME680 (2x)
- Sensor LMV324/SEN-12642 (1x)
Semana 2
28/02/2020
- Investigação e Planeamento
- Preparação da apresentação da Milestone 1
- Milestone 1
- Apresentação da visão e objetivos do projeto
- Apresentação da calendarização prevista para o desenvolvimento do projeto
- Investigação para a definição da arquitetura do projeto
Semana 1
21/02/2020
- Reuniões com vários orientadores para escolha do projeto
- Milestone 0
- Registo dos membros da equipa
- Registo do projeto escolhido: DETImótica
- Reunião com o orientador, o professor Diogo Gomes, para clarificação dos objetivos do projeto.
- Investigação e planeamento
- Preparação da apresentação da Milestone 1