Ou melhor dizendo - Tentando desvendar Controle Remoto RF.

Depois que consegui fazer funcionar o Analisador Lógico com o Arduino, tenho feito várias verificações que sempre quis fazer. Fiz uma análise de controle remoto usando a Luz infravermelha e agora estou fazendo uma análise mais apurada de controle remoto que usa Rádio-frequência RF).

Tutorial - Analisador Lógico com Arduino:

http://labdegaragem.com/profiles/blogs/tutorial-analisador-l-gico-c...

Decodificando Controle Remoto infravermelho:

http://labdegaragem.com/profiles/blogs/6223006:BlogPost:315534

Já li em vários Blogs do Lab de Garagem, que muitos desejam usar o Controle Remoto RF com o Arduino.

Para a minha decepção e acredito que  muitos se decepcionarão também, os controles remotos atuais são criptografados.Por isso, alguns já tentaram usar e falharam.

Para entender melhor, fiz uma análise do Controle Remoto do fabricante Rossi. (aciona a abertura e fechamento de portões de garagem). Esse controle usa o chip HCS201 da Microchip:

http://ww1.microchip.com/downloads/en/DeviceDoc/41098c.pdf

Possui dois botões (chaves) S0 e S1. A frequência da portadora é de 433,92 MHz. Usa uma pilha de 12V.

O link da Rossi portões, com os circuitos de controle de portões:

http://www.rossiportoes.com.br/produtos/120-central-de-comando.html

Lendo o data sheet do chip HCS201 da Microchip, percebi que a tecnologia usada é bem segura.

Ele é bem versátil - cada chip tem um número de série programável de 28 bits e uma chave de criptografia de 64 bits (acredito que é impossível descobri-la) . Essas informações são gravadas pelo fabricante do controle remoto (no caso a Rossi).

Cada transmissão tem um código diferente, por isso, se o circuito receptor não souber a chave criptográfica do fabricante, não haverá rotina de decodificação que permita identificar qual código foi transmitido. Fiz vários testes e comprovei ! Pressionei várias vezes o botão S1 e a cada momento o trem de pulsos era de um formato diferente.

Seria possível usar o controle remoto, desde que usasse um chip programado pelo desenvolvedor.

Assim a rotina de decodificação usaria a chave gravada no chip.

Vejam que interessante as várias telas capturadas usando o Analisador Lógico com o Arduíno.

Minhas medições foram no saída TX OUT do chip HCS201. Alimentei o controle remoto com 5V para não danificar o Arduino.

Essa captura foi feita pressionando o botão S1 - taxa de amostragem de 5 KHz :

Vejam que tem 12 pulsos de preambulo para sincronização :

Taxa de amostragem de 10 Khz.

Os 12 pulsos de preambulo usam a largura de pulso de 780 us:

(taxa de amostragem 50 KHz) 

Para decodificar os bits 0 e bit 1 :

Esse é o formato do Bit 0 : (taxa de amostragem 50 KHz) 

E esse é o formato do Bit 1 : (taxa de amostragem 50 KHz) 

Exibições: 87488

Responder esta

Respostas a este tópico

A codificação é a mesma nos dois controles, se os dois tiverem o mesmo chip HT6P20B. 

Esse chip não usa rolling code. 

As centrais de controle aceitarão os  códigos, somente se foram habilitados. 

Um mesmo controle poderá comandar várias centrais, desde que forem habilitados.

O que você falou era o que eu imaginei como verdade. Só que na pratica isso não ficou muito claro.

Sobre as centrais aceitarem apenas os codígos habilitados e um controle comandar varias centrais isso já estava claro pra mim.

Veja o link com as especificações do controle da esquerda (CHIP HT6P20B).

http://www.jfl.com.br/produto-alarmes-transmissor-tx-4r-30

Os tópicos anteriores esclarecem o funcionamento desse chip HT6P20B. 

Boa noite, estava a procura de uma solução para a questão do reconhecimento do controle e este tópico com o código que foi postado ( do Turcato ), foi o primeiro código que reconheceu o controle. 

A dúvida: depois de ler o controle, como voltar no código e colocar este endereço do controle lido para ele comparar? 

Exemplo: Lê o endereço do controle, volto no código e coloco o endereço lido e faço ele sempre comparar se o controle que está sendo pressionado é o mesmo que foi colocado no código, se for ele acende um led !

Ps: Minha ignorância com programação não me deixou achar uma solução para isso.

Obrigado.

Rafael, veja esse projeto (esta inacabado) :

http://labdegaragem.com/forum/topics/projeto-alarme-sem-fio-arduino...

Tem uma parte, que já conseguimos isso que queria, pesquise por favor.

José, desculpe-me, 

vou ler o tópico que você mostrou.

Obrigado.

Rafael,

Segue código relativamente simples para seu problema. Veja que o código do controle esta em negrito.

O led pode ser ligado por 3 controles diferentes. Levo em conta  que o controle tenha 2 botões e trato de forma diferente cada botão.

if(ACT_HT6P20B_RX(rfControl_1))
{
if(rfControl_1.addr == 2607490 || rfControl_1.addr == 2679921 || rfControl_1.addr == 2428017){

//Botão 1 do controle foi pressionado
if(rfControl_1.btn2){
digitalWrite(led1, !digitalRead(led1));
delay(800);
}
//Botão 2 do controle foi pressionado
if(rfControl_1.btn1){
digitalWrite(led2, !digitalRead(led2));
delay(800); 
}

}
}

Diogo, muitíssimo obrigado,

Não estou em casa para testas, mas rodei o código e funcionou na IDE.

chegando vou testar o mais rápido possivel

Obrigado!

Pessoal,

Estou pesquisando pra ver se implemento um sistema de alarme de baixo custo (pra mim). Mas antes de começar a comprar peças e componentes queria ter certeza de uma coisa:

Alguém sabe qual é a codificação dos sensores magnéticos da ECP vendidos no mercado livre?

As informações dos anúncios são confusas, incompletas e conflitantes. Alguns anúncios simplesmente falam que é 433MHz, outros dizem que é learning code, outros dizem rolling code e tem de tudo, até anúncio de sensor que diz que é sem fio e na verdade é o sensor que vai com o fio faltando, não é RF.

Clóvis

HT6P20B

SENSOR PIR WIRELESS

http://www.ecp.com.br/produtos/produtos_categoria/16?locale=en

MAGNETIC INTRUDER

SAW Technology; 
10mA in operation; 
Led visual indication; 
Switch through magnet; 
Battery 12V A23.

http://www.ecp.com.br/produtos/produto_detalhes/147?locale=en

Minha sugestão, compre um sensor, abra-o e veja qual chip é.

é, acho que vai ser o jeito....vamos abrir a mão :)

é que odeio despedício - se for um chip que ainda não tem programa decodificador pronto, terei que usar outro fabricante e terei que jogar fora o sensor.

Achei no ML agora alguns anúncios que afirmam que os sensores ECP funcionam com code learnig CI HT6P20B. Como a propaganda é da própria ECP (está numa GIF cheia de imagens feita pela própria ECP) então da pra acreditar. Vou já encomendar os 7 sensores que preciso.

Ah, me parece que a maioria dos sensores no Brasil funcionam com esse chip já que os anúncios dizem que são quase todos compatíveis. Então da pra comprar sem medo de errar.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço