Estudos de engenharia

NightMare · 3 min · Visão do sistema

Controlar um ar-condicionado antigo sem modificá-lo

Construí o Adler para controlar um ar-condicionado de janela por infravermelho, usando um sensor separado para regular a temperatura do ambiente. O Watson acrescenta um observador acústico: uma forma de acompanhar a atividade do aparelho quando os comandos não contam a história toda.

Uma instalação: um Consul CCN07GB. A detecção acústica foi implementada e avaliada; o controlador atual de recuperação de estado do Adler ainda está sendo reconstruído.

Voltar ao NightMare

Manter o aparelho, acrescentar controle ao redor

O ar-condicionado permanece intacto. O Adler envia comandos por um transmissor IR; um DS18B20 mede a temperatura do ambiente. O usuário escolhe a temperatura desejada para o quarto, sem depender apenas do valor exibido pelo aparelho.

Ar-condicionado de janela Consul CCN07GB usado nesta instalaçãoAmpliar imagem
O aparelho existente. O controle e a observação acontecem por fora dele.
Protótipo Watson em uma caixa preta com microfone I2S exposto e marca laranja da MattediWorks
Ampliar imagem
Watson, protótipo físico de observação acústica com ESP32 e um microfone I2S. Suas observações são publicadas pelo NightMare Network.

Automação útil, dependente de sincronização

O controlador original ligava e desligava o AC em torno da temperatura medida, com uma pequena faixa de histerese para evitar alternâncias a cada oscilação. O Mycroft informava o estado da porta: após 90 segundos aberta, a climatização era pausada. Fechá-la permitia retomar, exceto se tivesse ficado aberta por mais de 30 minutos. O desligamento diário às 05h30 passava para 08h30 com o comando de dormir até mais tarde.

O Adler já tinha realimentação da temperatura do ambiente. Seu registro de ligado/desligado e da temperatura configurada no AC, porém, dependia dos comandos que ele supunha terem sido executados. Outro controle remoto ou os botões do aparelho podiam invalidar esse registro.

A recuperação manual consistia em informar o estado real e a temperatura configurada. Uma alternativa tentava inferir se o AC estava ligado pela variação de temperatura durante dez minutos, depois enviava uma sequência de comandos para estabelecer 24°C. Era lenta e incerta: a temperatura podia variar por motivos além do AC.

Fontes e evidências: [1]

Ouvir o controle remoto ainda deixava lacunas

Acrescentar um receptor IR permitiu ao Adler captar comandos do controle remoto original. Na posição de montagem, a cobertura não alcançava todo o quarto de forma confiável, e alguns comandos continuavam sem ser captados. Os botões do próprio aparelho continuavam fora do alcance da recepção IR.

Separar comandos de observações físicas

O Watson escuta perto do AC e publica atividade do ventilador, do compressor e eventos de bipe pelo NightMare Network. O Adler mantém o histórico dos comandos. Essa separação oferece evidências além das próprias transmissões, inclusive de atividade alterada por outra pessoa.

  1. Adler → AC

    Comandos IR enviados; comandos do controle recebidos quando ao alcance.

  2. AC → Watson

    Som: ventilador, compressor e tons de confirmação.

  3. Watson → Adler

    Observações pelo NightMare Network, com disponibilidade e validade temporal.

O que cada evidência permite afirmar
EvidênciaSignificado e limite
Comando enviado ou ouvidoUma instrução foi emitida; isso não estabelece que o AC a recebeu.
Bipe perto de um comandoUma possível confirmação; não identifica todas as configurações resultantes.
Ventilador / compressor detectadoAtividade acústica observada, sujeita a interferência; não é leitura da temperatura configurada ou do modo.
Entrada indisponível ou antigaEvidência desconhecida, não prova de que o aparelho está desligado.

Fontes e evidências: [3] · [2]

O que existe hoje

A implementação do Watson com ESP32 e um microfone detecta e publica as três observações. O Adler recebe eventos IR e tem um mecanismo de comandos pendentes que associa um bipe posterior ou um timeout a um comando. Essa associação é mais limitada que verificar o estado resultante do aparelho.

O controlador de nível mais alto está sendo reconstruído. Os callbacks das observações e o rastreamento de comandos ainda precisam de integração para que a recuperação automática de estado possa ser apresentada como concluída. Uma mudança de som pode revelar uma ação não captada; não permite reconstruir toda temperatura configurada ou mudança silenciosa de modo.

Fontes e evidências: [2]

Fontes e evidências

Os detalhes da implementação e os relatórios de avaliação estão vinculados a versões específicas do código.

  1. Implementação histórica do Adler; os tempos da porta acima seguem meu relato de uso.
  2. Código do Adler revisado para o estado atual da integração (f243d6f).
  3. Firmware do Watson: observações, hardware e comportamento dos detectores.