sexta-feira, 1 de abril de 2016

Arquivos de configuração e armazenamento de dados dos Sensores

Nas últimas semanas comecei o desenvolvimento da estrutura de sensores (com as entradas analógicas do hardware que estou usando). Criei, primeiramente, uma estrutura de arquivos que armazenarão as configurações dos sensores para a ENTITY-SENSOR-MIB, bem como, para armazenar as amostras analógicas e o estado dos sensores (obtido por um GPIO associado a cada entrada analógica). Esses arquivos serão acessados pelo SNMP, pela mib ENTITY-SENSOR-MIB,  para monitoramento dos parâmetro e também pelo programa que estou desenvolvendo para capturar as amostras analógicas e os estados dos GPIOs. Além disso, uma terceira aplicação que será desenvolvida acessará esses arquivos para escrever a configuração inicial (feito pelo usuário) dos parâmetros das entidades da mib ENTITY-SENSOR-MIB.

Abaixo listo os programas em desenvolvimento:
  • Programa 1 - Alteração no arquivo entPhySensorTable_data_access.c para dar acesso aos parâmetros dos sensores cadastrados: Conforme apresntado no post anterior, a partir da mib ENTITY-SENSOR-MIB eu gerei os arquivos .c e .h para desenvolver conforme minhas necessidades o acesso aos sensores da minha plataforma de hardware. Basicamente, alterei o arquivo .h para ler os parâmetros armazenados nos arquivos de configuração dos sensores.
  • Programa 2 - Aplicação de leitura das entradas analógicas e entradas digitais do hardware associados a cada Sensor: os dados lidos por este programa são armazenados nos arquivos de configuração.
  • Programa 3 - Aplicação para configuração dos parâmetros dos sensores pelo usuário: esses parâmetros estão associados aos parâmetros das entidades da mib ENTITY-SENSOR-MIB.


Composição dos arquivos

Os arquivos de configuração contém os parâmetros de cada sensor. São compostos por um arquivo geral chamado "sensoresconfig" que possuem alguns parâmetros em comum com todos os sensores e outros arquivos (correspondente a cada sensor), com o índice do sensor indicado no final do nome do arquivo. Denominados, portanto, "sensor0" a "sensorX".
Cada linha dos arquivos contém o nome do parâmetro precedido de um TAB e o seu valor correspondente. No fim de cada linha é terminado pelo código ASCII correspondente ao Enter.

O arquivo "sensoresconfig" contém:

SensorsQuantity 7
SensorsWaitTimeSample 3000

Esses dois parâmetros são comuns a todos os sensores.
O SensorsQuantity define a quantidade de sensores utilizados. Por enquanto, o máximo é 7, pois a plataforma utilizada (agora não mais o PCduino, e sim a Beaglebone Black) possui só 7 entradas analógicas.
O SensorsWaitTimeSample é o tempo em milissegundos de intervalo de captura de amostras. Este parâmetro é usado no programa 2 (descrito acima) para fazer a medição de todos os sensores ativos definido pela quantidade (SensorsQuantity) no intervalo de tempo definido neste parâmetro.

Os arquivos "sensorX" contêm:

SensorARef 1.8
SensorConversionValue 3.14
SensorType 1
SensorScale 1
SensorPrecision 1
SensorSampleValue 4095
SensorOperStatus 1
SensorUnitsDisplay Sensor de tensao
SensorValueTimeStamp 12135445
SensorValueUpdateRate 1000

Os parâmetros SensorARef e SensorConversionValue ainda não estão bem definidos, mas servirão pra fazer a conversão do valor de amostragem definida no parâmetro SensorSampleValue. O programa 1 (descrito acima) já passará para os parâmetro das entidades da MIB o valor convertido.
Os outros parâmetros listados no arquivo são referentes aos parâmetros das entidades da mib ENTITY-SENSOR-MIB.

Nenhum comentário:

Postar um comentário