Todo mundo é bom na estação meteorológica Buro H146G com um termômetro externo sem fio H999. Mas apenas para ver as leituras em seu LCD desbotado requer uma boa iluminação. E seria melhor para mim se a temperatura e a umidade do lado de fora da janela fossem exibidas em indicadores suficientemente brilhantes (por exemplo, combinando a temperatura e a umidade com o relógio nos indicadores de descarga de gás IN-12). Não é difícil criar uma embarcação assim, mas você precisa conhecer o protocolo de troca com um termômetro sem fio. Já
existem artigos sobre o uso de um termômetro de estação meteorológica sem fio para obter temperatura e umidade no ar. Mas para as estações de Buro, o protocolo de troca ainda não foi descrito. Portanto, precisamos corrigi-lo: talvez alguém possa ser útil.
Na Internet, não encontrei uma descrição do protocolo para troca de estações BURO. E isso significa que você precisa abrir o protocolo de troca deste sensor sem fio.
Meu termômetro externo é assim:

Ao conectar um receptor super-regenerativo chinês de 433,92 MHz ao osciloscópio e pressionar o botão TEST no termômetro, ficou claramente visível como os pulsos de transmissão estavam funcionando. Bem, como a frequência é pequena, a saída do receptor foi conectada à entrada da placa de som através de um divisor resistivo. Depois de processar o arquivo de som gravado, o comparador exibiu a seguinte imagem:

Como em outras estações meteorológicas, a modulação é realizada alterando o ciclo de serviço. A transmissão começa no bloco do relógio, depois há outro sinal de relógio e depois há dados, após os quais o sinal de relógio final passa. Aparentemente, dois zeros após o sinal do relógio são o identificador do início dos dados - em qualquer caso, nunca notei a mudança deles. Os dados com um relógio inicial e final são duplicados seis vezes. A troca de dados é realizada por petiscos.
Para decodificar, decidi começar a receber no primeiro relógio e dois zeros e terminar no último relógio.
Para decodificar esse sinal, basta calcular a duração entre as quedas de sinal.
Para isso, escrevi um programa de teste simples para o controlador Atmega8:
A saída do receptor está conectada ao pino 13 (AIN1). O Atmega se conecta via max232 à porta COM do computador (ou ao adaptador USB-COM). Velocidade da porta 9600 baud.
Após a decodificação, obtemos o seguinte fluxo de dados (eu expulso os dois zeros à esquerda):
// sem botão, canal 1
1100 1100 0000 1110 1000 0110 1100 0001 0000 1001 Umidade: 28% Temperatura: 25,4
// nenhum botão, canal 2
1100 1100 0001 1110 1000 0110 1101 0001 0000 0110 Umidade: 29% Temperatura: 25,4
O pacote total fica assim:

I0-I7 - identificador do termômetro. Cada vez que o termômetro é ligado, o identificador muda.
C0-C1 - canal (existem 3 possíveis no total). Os canais são numerados do zero.
H0-H7 - umidade. A umidade como porcentagem é lida como está, mas a temperatura (T0-T11) é, por algum motivo, definida em um formato incomum para estações meteorológicas. A julgar pelas descrições dos protocolos de troca de várias estações meteorológicas que encontrei, seria de esperar uma temperatura em décimos de grau e com uma mudança no limite inferior do termômetro. Então não. As experiências mostraram que o código de temperatura desta estação meteorológica se traduz em graus Celsius como (T-1220) / 18. Como esses números mágicos conhecem apenas os chineses que criaram esse protocolo de troca.
Como o lobisomem sugeriu nos comentários, a estação transfere a temperatura em décimos de grau Fahrenheit; portanto, uma tradução significativa em graus Celsius será 0,1 * (T-320) * 5 / 9-500 = 0,1 * (T-1220) / 1,8.
O bit K corresponde a pressionar o botão TEST.
Não foi possível estabelecer a atribuição dos campos restantes, mas o valor da chave Fahrenheit / Celsius no termômetro não entra no protocolo de troca. Presumivelmente, o último petisco (ou talvez parte do penúltimo) também é CRC, mas não consegui calcular o algoritmo (há uma suspeita de que linhas e colunas de petiscos estejam envolvidas no cálculo). Se alguém puder resolver esse enigma, informe-nos o algoritmo de cálculo.
Para aqueles que querem quebrar o cérebro, mas não têm esse termômetro, dou uma tabela de dados aceitos.
Quadro 1001 0110 0101 1011 1000 0110 1000 0010 0001 1111 Key:0 Ch:2 H:40%, T:25.2 C 1001 1001 0000 1101 1010 0100 0101 0101 0000 0110 Key:0 Ch:1 H:85%, T:-1.2 C 1001 0110 0101 1100 1000 0110 1010 0010 0001 0100 Key:0 Ch:2 H:42%, T:25.3 C 1001 0110 1001 0110 0111 0110 1101 0001 0010 1111 Key:0 Ch:2 H:29%, T:24.1 C 1001 0110 1001 0000 0111 0110 1101 0001 0010 1000 Key:0 Ch:2 H:29%, T:23.7 C 1001 0110 1001 0010 0101 0110 1110 0001 0010 1111 Key:0 Ch:2 H:30%, T:22.1 C 1001 0110 1001 1001 0011 0110 1110 0001 0010 1100 Key:0 Ch:2 H:30%, T:20.7 C 1001 0110 1001 1111 0001 0110 1111 0001 0010 1010 Key:0 Ch:2 H:31%, T:19.2 C 1001 0110 0101 1001 0000 0110 0001 0010 0010 1000 Key:0 Ch:2 H:33%, T:18.0 C 1001 0110 0101 0010 1111 0101 0010 0010 0010 0111 Key:0 Ch:2 H:34%, T:16.7 C 1001 0110 0101 0100 1110 0101 0010 0010 0010 0010 Key:0 Ch:2 H:34%, T:16.0 C 1001 0110 0101 0100 1101 0101 0011 0010 0010 0001 Key:0 Ch:2 H:35%, T:15.1 C 1001 0110 0101 1100 1100 0101 0100 0010 0010 1110 Key:0 Ch:2 H:36%, T:14.6 C 1001 0110 0101 1111 1011 0101 0101 0010 0010 1111 Key:0 Ch:2 H:37%, T:13.9 C 1001 0110 0101 0011 1011 0101 0101 0010 0010 0001 Key:0 Ch:2 H:37%, T:13.2 C 1001 0110 0101 1001 1010 0101 0110 0010 0010 0101 Key:0 Ch:2 H:38%, T:12.7 C 1001 0110 0101 0100 1010 0101 0111 0010 0010 1000 Key:0 Ch:2 H:39%, T:12.4 C 1001 0110 0101 1011 1001 0101 0111 0010 0010 1010 Key:0 Ch:2 H:39%, T:11.9 C 1001 0110 0101 0011 1001 0101 1000 0010 0010 1001 Key:0 Ch:2 H:40%, T:11.5 C 1001 0110 0101 1011 1000 0101 1000 0010 0010 1110 Key:0 Ch:2 H:40%, T:11.0 C 1001 0110 0101 0111 1000 0101 1001 0010 0010 0101 Key:0 Ch:2 H:41%, T:10.8 C 1001 0110 0101 1111 0111 0101 1001 0010 0010 1101 Key:0 Ch:2 H:41%, T:10.3 C 1001 0110 0101 0111 0111 0101 1010 0010 0010 0111 Key:0 Ch:2 H:42%, T:9.9 C 1001 0110 0101 0001 0111 0101 1011 0010 0010 0101 Key:0 Ch:2 H:43%, T:9.6 C 1001 0110 0101 1011 0110 0101 1100 0010 0010 0110 Key:0 Ch:2 H:44%, T:9.2 C 1001 0110 0101 1000 0110 0101 1100 0010 0010 1100 Key:0 Ch:2 H:44%, T:9.1 C 1001 0110 0101 0011 0110 0101 1101 0010 0010 0110 Key:0 Ch:2 H:45%, T:8.8 C 1001 0110 0101 1001 0101 0101 1110 0010 0010 0110 Key:0 Ch:2 H:46%, T:8.2 C 1001 0110 0101 0101 0101 0101 1111 0010 0010 1101 Key:0 Ch:2 H:47%, T:8.0 C 1001 0110 0101 0010 0101 0101 1111 0010 0010 1100 Key:0 Ch:2 H:47%, T:7.8 C 1001 0110 0101 1110 0100 0101 1111 0010 0010 0000 Key:0 Ch:2 H:47%, T:7.6 C 1001 0110 0101 1100 0100 0101 1111 0010 0010 1100 Key:0 Ch:2 H:47%, T:7.5 C