MiniMonitor

O MiniMonitor é um software para leitura de informações do Minipa Termo Higrometro modelo MTH-1380 desenvolvido para sistemas Linux.

Motivação

O MTH-1380 da Minipa tem uma interface RS-232 de comunicação na qual é possível se obter informações sobre o dispositivo além das leituras atuais de temperatura e umidade. Não existe driver oficial para sistemas derivados de UNIX. O MiniMonitor é uma solução para Linux para a leitura das informações do MTH-1380.

Protocolo de Comunicação

Os comandos que podem ser enviados para a interface RS-232 do MTH-1380 e seus resultados são os seguintes:

Comandos Valor Hexadecimal Função Retorno
K 0x4B Pedir modelo Retorna 4 bytes
A 0x41 Pedir todos os dados Retorna 10 bytes codificados
H 0x48 Botão 'HOLD'
M 0x4D Botão 'MAX/MIN'
N 0x4E Sair do modo 'MAX/MIN'
R 0x52 Botão 'REL'
C 0x43 Botão 'C'
F 0x46 Botão 'F'

A string de informação

Os 10 bytes retornados pelo comando 'A' são interpretados da seguinte maneira:

1º Byte

Tem o valor fixo 0x02 que representa o ínico da string de dados

2º Byte

O 2º Byte é subdividido em:

2 Byte

     Bit 1 Bit 0   Resultado
       0     1     Modo 'MAXIMUN'
       1     0     Modo 'MINIMUN'
       1     1     Calcula 'MAX/MIN' em modo 'background'

     Bit 2: 1 = 'HOLD' ativo                 0 = 'HOLD' desativado
     Bit 3: 1 = Temperatura em Farenheits    0 = Temperatura em Celsius
     Bit 4:                     — reservado --
     Bit 5: 1 = Modo Relativo ativo          0 = Modo Relativo desativado
     Bit 6: 1 = Auto-desligamento ativo      0 = Auto-desligamento desativado
     Bit 7: 1 = Bateria fraca                0 = Bateria normal

3º Byte

O 3º Byte é subdivido em:


     Bit 0:                     — reservado --
     Bit 1: 1 = Resolução de T2 é 1          0 = Resolução de T2 é 0.1
     Bit 2: 1 = T2 está Online               0 = T2 está offline
     Bit 3: 1 = Valor de T2 é negativo       0 = Valor de T2 é positivo
     Bit 4: 1 = T1 está Online               0 = T1 está offline
     Bit 5: 1 = Valor de T1 é negativo       0 = Valor de T1 é positivo
     Bit 6: 1 = %RH está online              0 = %RH está offline
     Bit 7: 1 = Valor de %RH é negativo      0 = Valor de %RH é positivo

4º Byte e 5º Byte

O 4º byte indica a primeria parte do valor da umidade relativa e o 5º byte indica a segunda parte do valor da umidade relativa.
O valor da Umidade Relativa é dado por 0xXXYY, aonde XX vem do 4º Byte e YY vem do 5º Byte.

6º Byte e 7º Byte

O 6º byte indica a primeria parte do valor da temperatura 1 e o 7º byte indica a segunda parte do valor da temperatura 1.
O valor da temperatura T1 é dado por 0xXXYY, aonde XX vem do 6º Byte e YY vem do 7º Byte.

8º Byte e 9º Byte

O 8º byte indica a primeria parte do valor da temperatura 2 e o 9º byte indica a segunda parte do valor da temperatura 2.
O valor da temperatura T2 é dado por 0xXXYY, aonde XX vem do 8º Byte e YY vem do 9º Byte.

10º Byte

O último byte da string tem o valor 0x03 indicando o fim da string de dados.

Desenvolvimento do MiniMonitor

O MiniMonitor foi escrito em linguagem C devido a facilidade de acesso aos dispositivos seriais através da libc.
Um dos problemas encontrados é quando a leitura está errada, isso normalmente é caracterizado pelo último byte ter um valor diferente de 0x03. O MiniMonitor verifica esse último valor e caso seja necessário, efetua a releitura no MTH-1380 até que o valor seja lido corretamente. Quando os dados são lidos, eles podem ser mostrados em 3 níveis de informação e também será gravado um arquivo no diretório /tmp da máquina contendo somente os valores lidos.
O arquivo se chama /tmp/envmonitor-last-read

Download

Última versão: versão 0.9 - Download
versão 0.7 - (estável) Download

Instalando o MiniMonitor

No pacote do MiniMonitor existe um Makefile para compilar o MiniMonitor facilmente.
Basta executar:

    usuario@maquina:~/minimonitor$ make

O programa compilado se chamará minimonitor.

Usando o MiniMonitor

O MiniMonitor recebe um parâmetro obrigatório e outro opcional além do parâmetro de ajuda:
  Uso: minimonitor -d dispositivo OPÇÕES
  OPTIONS:
          -d    Local do dispositivo
          -v                 Modo verboso. Pode ser usado até -vv
          -o        Arquivo de saída
          -h                 Mostra esta mensagem
Parceiros