Banco de dados.
O banco de dados escolhido para armazenar os dados de coletas é o banco não relacional MONGO DB. A escolha desse banco se deu por conta de sua forma de armazenamento dos objetos no formato de um documento JSON. Esta facilidade é relevante para o projeto pois os dados encaminhados módulo de transmissão são encaminhados neste formato para o servidor que, por sua vez, faz o armazenamento e leitura dos dados no banco.
O banco possui duas coleções. Uma coleção armazena os dados de coleta e a outra armazena a identificação dos arduinos que compõem o sistema de medidas. As coleções são denominadas, respectivamente, medições e arduinos.
Os dados da coleção Medições possui os seguintes atributos JSON:
id: identificação do arduino;
s: senha do arduino;
u: medida de umidade;
t: medida de temperatura;
tm: timestamp com os dados de hora, dia da coleta.
Sendo que destes atributos os dados de id e senha são obrigatórios. E os atributos de umidade, temperatura e timestamp são considerados opcionais.
Formato JSON da coleção Medições:
{'id': 1, ‘s’: xx, 'u': 60, 't': 25, 'tm': "1569940405"}
Os dados da coleção Arduinos possui os seguinte atributos JSON:
id: identificação do arduino;
s: senha do arduino.
Os atributos de id e senha são obrigatórios pois serão eles que irão garantir a segurança a fim de evitar arduinos que não pertençam ao sistema de coleta enviem dados para a aplicação.
Formato JSON da coleção Arduinos: {‘id’: 1, ‘s’: xx}