Página 1 de 1

Interface para estação metereológica

MensagemEnviado: 24 Abr 2009 12:46
por psunad
Estou tentando construir uma interface para uma estação metereológica. Os sensores externos se comunicam com a "base" em 433MHZ. Consigo capturar os dados através do osciloscopio na saida de um dos sensores. O problema é o seguinte, não consigo identificar qual tipo de codificação está sendo utilizado. Já tentei, serial assincrona, poderia ser Manchester?? Alguém tem idéia de como identificar o protocolo de comunicação?

MensagemEnviado: 24 Abr 2009 12:54
por msamsoniuk
posta pelo menos umas 3 ou 4 fotos da tela do scope com as formas de onda...

MensagemEnviado: 24 Abr 2009 16:00
por psunad
Imagem

Imagem

vejam se da pra ver algo...
Estou trabalhando em condições precarias....obtive as imagens através de um scope da placa de som.
Agradeço pela ajuda

MensagemEnviado: 24 Abr 2009 17:04
por msamsoniuk
serial assincrona com certeza nao eh, eu contei 32 pulsos ali e, se vc notar, a diferenca entre eles eh o ciclo de trabalho. tem cara de ser manchester sim, soh nao sei que escala de tempo vc estava usando... se for ms, os 32 pulsos consomem 700ms e daria portanto 21ms por pulso (45bps, me parece meio baixo demais). se for em us, os 32 pulsos consomem 700us e daria portanto 21us por pulso (45kbps, me parece meio alto demais hehehe).

experimenta decodificar como manchester, eh um chute bom, observando porem que ele esta transmitindo varios pulsos por bloco. se vc lembrar de como os controles remotos IR funcionam, vc vai ver varios casos bem similares, por exemplo:

http://www.sbprojects.com/knowledge/ir/nrc17.htm

mas nesse caso tem 17 bits e os bits tem varios significados. outros padroes que usam manchester usam tamanhos variados tambem.

MensagemEnviado: 24 Abr 2009 17:35
por psunad
Caro Marcelo, valeu pela dica, quanto às figuras....a base de tempo do eixo x foi tomada com amostragem de 44khz, que é a da placa de som do micro. Portanto o eixo x é um numero inteiro. A diferença entre eles é de 1/44khz.
Você poderia dar um exemplo de como decodificar estas figuras utilizando o Manchester? Não sei como faço para considerar o start bit.
Agradeço

MensagemEnviado: 24 Abr 2009 20:58
por msamsoniuk
bom, mais ou menos as ideias do site que te passei... em essencia, chute que o primeiro bit eh sempre 1 ou sempre 0, daih vc vai medindo a largura dos pulsos. se o pulso eh estreito, vc mantem o valor do bit anterior, se o pulso eh largo vc inverte o valor. agora, se for realmente manchester, existe o problema de vc nao saber o que os bits representam.

MensagemEnviado: 24 Abr 2009 22:48
por kaoalex
psunad,
Pelo que eu pude ver o vc está usando o labview.
Eu comecei a mexer nele agora e não sei muita coisa.
Teria como vc me dar uma dica de como posso montar um osciloscópio que nem o seu?

Obrigado

MensagemEnviado: 25 Abr 2009 16:26
por MOR_AL
Olá psunad.
Certa ocasião, há mais de 10 anos, fiz uma comunicação com o código Manchester, mas já não me lembro mais. Não importa.
Eu dei uma olhada na sua forma de onda e tenho algumas informações para lhe passar (apenas baseado na forma de onda).

1 - O período de transmissão de um bit é algo próximo a 2,1 ou 2,2 traços do osciloscópio.

2 - Parece que duas transições positivas, com um período, com cerca de 1,3 a 1,4 traços, determinam o início e o fim da mensagem.

3 - Sem conferir, pois já estava ficando vesgo, contei 31 bits. Como?
Bom, aí vai! :shock:

Se você trigar o início da transmissão com a primeira transição (inteira) negativa, e medir o estado lógico do bit na estreita faixa entre 0,55 e 0,6 de um traço, e repetir a medida, desta forma, sempre que houver uma transição negativa, então você lerá:
1111110000100001000011011111001 (o último 1 é o patamar contínuo).
Repare que esta lógica pode se encontrar invertida.
Eu não conferi, portanto, confira e dê um retorno para nós, e responda se isso te diz alguma coisa. :D
[]'s
MOR_AL

MensagemEnviado: 27 Abr 2009 10:24
por psunad
MOR_AL,
Entendi o que fiz e parece correto, porém não representa algo. Este sensor que capturei os dados é um sensor pluviométrico. a única informação que ele transmite é a quantidade de chuva. No receptor tem um mostrador de três digitos. Então , acredito que o pacote de dados que ele envie seja da seguinte forma (vejam que é minha opinião):
um campo de identificação (em relação aos outros sensores), e os dados (que poderiam ser 3 bytes codificados em BCD), e talvez um checksum. Porém, não consigo ver isso.
Acho que seria interessante passar algumas informações adcionais o fabricante é LA CROSSE mod. WS 2010. Agradeço a ajuda de todos mas acredito que a posição de vcs seja bem complicada de ajudar. Mas de qualquer forma agradeço novamente.

MensagemEnviado: 27 Abr 2009 10:33
por Sergio38br
de uma olhada , neste manual do software da mesma empresa

http://www.weathershop.com/Manuals/WS20 ... erface.pdf

[ ]'s
Sergio

MensagemEnviado: 27 Abr 2009 10:34
por albertorcneto
Manual do cara:

http://www.retrevo.com/search/v2/jsp/my ... p?page=man

Dei so uma passada de olho mas parece que a informacao que voce precisa ta toda ai.

Botei no rapidshare tambem, por via das duvidas:

http://rapidshare.com/files/226333729/W ... e.pdf.html

MensagemEnviado: 27 Abr 2009 10:41
por psunad
Já havia olhado estes manuais, a interface da empresa utiliza a porta serial para se comunicar com o microcontrolador q captura os dados da rf. mas talvez vcs tenham razao seja mais fácil comprar a interface do que desenvolver. Bom, voltando, os manuais as quais vcs referem, trata da comunicação serial entre o PC e o microcontrolador, e nao do sinal da rf em si. Inclusive foi esse um dos motivos que me fez achar que pudesse capturar os dados da rf diretamente para a serial do PC.

MensagemEnviado: 27 Abr 2009 12:53
por EDSONCAN
Isso tem cara de ser encoder de alarme da HT12E
Funciona assim:
Pegue o menor periodo em zero ou 1:
Para transmitir um zero voce envia 2 periodos em zero e 1 periodo em 1
Para transmitir um 1 voce envia um periodo em zero e 2 em 1.
O primeiros bits são endereço e os ultimos dados:


Edson