Tags

, , , , , , ,

TÍTULO: CLONAGEM DE CONTROLE RF “LEARNING CODE” COM ARDUINO
CRIADO POR: AFONSO CELSO TURCATO
E-MAIL: acturcato (at) gmail.com
LICENÇA: GPL

REVISÕES:
00 – 14/01/2014 – Versão inicial

A ideia deste sketch é demonstrar como é possível de certa forma bem simples, efetuar a clonagem de um controle remoto RF 433.92 MHz que utiliza o chip HT6P20 para codificação (destes muito usados em portões eletrônicos e centrais de alarme).

Atualmente, existem várias “tecnologias de codificação” de sinais utilizadas nesses tipos de controle remotos. Dentre essas tantas, duas se destacam: a tecnologia “Rolling Code” ou “Hopping Code” e a tecnologia “Learning Code”.

A tecnologia “Rolling Code” é bem sofisticada e não digo que é impossível, mas é pouco provável de se conseguir clonar.
Ela utiliza um algoritmo de criptografia conhecido como KeeLoq da empresa Microchip.

Veja mais detalhes nos links abaixo:

http://en.wikipedia.org/wiki/Rolling_code

http://electronics.howstuffworks.com/gadgets/automotive/unlock-car-door-remote1.htm

http://www.seminariosartimar.com.br/mastersbrasil2011-pos/downloads/KLQ-MastersBrasil2011.pdf

 

Já a tecnologia “Learning Code” é bem mais simples.
Os dados enviados pelo controle NÃO são criptografados!
Eles são apenas codificados usando um protocolo simples e aberto disponibilizado pelo fabricante do chip HT6P20.
Datasheet do HT6P20: http://www.holtek.com.cn/PDF/consumer/HT6P20x2v110.pdf

Veja mais detalhes do protocolo no artigo:
https://acturcato.wordpress.com/2013/12/20/decodificador-para-o-encoder-ht6p20b-em-arduino/

Para descobrir qual destas tecnologias seu Portão Eletrônico (e/ou sua Central de Alarme) utiliza, vc pode consultar o manual destes equipamentos ou, uma forma bem mais simples, abrir o controle remoto q vc jah possui: se o chip encontrado dentro do controle for o HCSXXX, a tecnologia é a Rolling Code. Mas se o chip encontrado no controle for o HT6P20X, a tecnologia usada é a “Learning Code“.

Isto posto, o sketch apresentado abaixo utiliza um Arduino + Receptor RF 433,92 MHz + Transmissor RF 433,92 MHz + dois botões e um LED para receber o sinal emitido por um controle remoto RF (encoder HT6P20B), decodificá-lo, armazenar os dados decodificados na memória e retransmiti-los quando o botão for pressionado.

Hardware utilizado:

RF_Grabber

Funcionamento:

Com o equipamento energizado e o sketch rodando, todos os sinais recebidos pelo receptor RF são analisados. Caso a codificação do sinal recebido seja válida, este será decodificado e os valores de Endereço e de Dados (botões) serão enviados para a porta Serial (para apresentá-los ao usuário). Neste caso, nenhum valor é armazenado (aprendido).

Caso o botão “LEARN” seja pressionado pelo usuário, o led “LEARN MODE” é ativado indicando que o equipamento está em modo “Learning”. Neste modo, o próximo sinal válido recebido pelo receptor RF será decodificado e os seus valores serão armazenados na memória (para serem então re-transmitidos posteriormente).

Se o sinal for decodificado e armazenado adequadamente, o led “LEARN MODE” é desligado, indicando que este modo foi desabilitado.

Essa operação descrita acima é a “clonagem” propriamente dita do controle.

Isto feito, se o botão TX for pressionado, os valores armazenados previamente na memória serão re-codificados e re-transmitidos pelo transmissor RF fazendo com que o mesmo sinal antes enviado apenas pelo controle agora também seja enviado pelo equipamento (clone).

Eu testei este sketch com dois receptores q tenho aqui: um da IPEC de oito canais e outro da CONFTEC de dois canais.

Os controles clonados foram os modelos de dois botões da IPEC e um outro genérico “xing-ling” q tenho aqui! Em todos os casos, a “clonagem” obteve êxito!

Este sketch serve de alerta e demonstra como uma pessoa de má fé, com poucos recursos/conhecimento, pode efetuar a clonagem do controle remoto de sua casa e abrir o portão para roubá-la!

Sendo assim, verifiquem o quanto antes, se a tecnologia usada em seus equipamentos RF é a “Rolling Code ou Hopping Code”, em caso contrário, troquem-na o quanto antes!!!

Caso tenham alguma dúvida ou encontrem dificuldades com o código/hardware, comentem abaixo.

FICA A DICA!

link do código no GitHub: https://gist.github.com/acturcato/8423241

Advertisements