Layer 1 DETImótica logo DETImótica

RSS

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
  • 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

Notificação app mobile
Alertas do grafana com integrações
Plataforma de Gestão

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

View principal da Aplicação Mobile

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

Dashboard Grafana

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