Erros de leitura do DHT22 e novas tentativas

Trate falhas de checksum e violações de tempo com backoff para que uma leitura ruim não deixe o feed em branco.

Módulo sensor de temperatura e umidade Aosong AM2302 DHT22 em uma placa breakout preta
O DHT22 (AM2302) é o sensor digital de umidade e temperatura usado em muitos projetos faça-você-mesmo. Foto: Suyash Dwivedi. CC BY-SA 4.0

As leituras do DHT22 falham de vez em quando: violações de temporização, ruído elétrico ou uma disputa momentânea no barramento. O firmware deve tentar novamente algumas vezes, com espera entre as tentativas, antes de marcar uma sonda como com problema, em vez de publicar valores sem sentido no JSON.

Estratégia de novas tentativas

  1. Em caso de erro de checksum ou timeout, espere pelo menos dois segundos e tente de novo.
  2. Limite a três a cinco tentativas por ciclo de leitura.
  3. Se todas falharem, omita ou mantenha o último valor bom: documente sua escolha nas notas do esquema.

Corrija o hardware primeiro

Confira os pull-ups e o aterramento em fiação da linha de dados. Cabos longos e o ruído do motor do portão automático agravam os erros. Solução de problemas no circuito cobre as verificações na bancada.

Impacto nos sistemas seguintes

Leituras ruins afetam a média e o histórico do dashboard. Depurar leituras desatualizadas no site ajuda a separar falhas do sensor de problemas de rede.