Clonar mando RF con protocolo desconocido.

Muy buenas,

Recientemente compré un motor para una persiana eléctrica que venía con un mando RF que emite a 433 mHz. Pensé en clonar el mando con Arduino para añadirle funciones IoT.

Adquirí dos pares de receptor-emisor de RF para arduino, en concreto los receptores son:

  • RX470C-V01
  • MX-RM-5V

Ni con uno ni con otro consigo leer ninguna señal del mando. He leído en algún foro que ya se preguntó al fabricante por el protocolo que usa pero se niega a difundirlo, por lo cuál no sé si usará uno compatible con la librería RC-Switch.h que estoy usando. Me imagino que no. Estoy usando el ejemplo simple que viene con la librería, ReceiveDemo_Simple, aunque con ReceiveDemo_Advanced tampoco he conseguido nada.

Tratando de buscarle solución al tema, di con un hilo en inglés en el que algunos solucionaron problemas parecidos colocando un condensador de 100 uF en la entrada del Arduino. A mí no me ha funcionado aunque sin embargo detecto ruido cuando ejecuto el sketch que postean:

https://forum.arduino.cc/index.php?topic=242010.msg1738702#msg1738702

El modelo del mando en concreto es ZB40-1, del fabricante Superrollo. En internet se encuentra mejor bajo el nombre de SR70040. No puedo abrirlo sin romperlo porque está muy bien sellado, aunque a través del hueco de la pila veo que la placa está practicamente pegada a las teclas de membrana que trae el mando. Estoy seguro de que transmite a 433 mHz, concretamente a 433,92 mHz, ya que la pegatina que viene detrás del mando junto con el modelo así lo indica.

He leído también acerca de los RTL-SDR para tratar de decodificar el código, pero antes de meterme en eso quisiera saber si a alguien se le ocurre otra cosa o pudiera echarme un cable con esto. Por supuesto que he comprobado cableado en todas las pruebas que he hecho (DATA PIN al Interrupt Pin 0, AKA Pin 2...) Decir también que no he probado a soldar antenas a los receptores, pero prácticamente los he probado cogidos con la misma mano del mando hasta estar tocándose. El mando funciona porque durante las pruebas, la persiana respondía a los comandos.

No sé si se me escapa algo de información relevante, diría que no. Perdón por el ladrillo y muchas gracias de antemano, un saludo.

Y si lo enfocas de otro modo?

Un mando tiene su emisor y receptor. El receptor subirá y bajará la persiana.
Si tu reemplazas las funciones del receptor puedes poner lo que gustes.
Si eso te interesa podras continuar desde ahi.
Hay un mando que venden en China (aliexpress, banggood, etc) que tiene 4 salidas digitales a 5V o sea TTL.
Te da como para subir bajar, parar. mejor imposible.
Hay que meter mano, hacer de hacker pero nada Ohhh, solo encontrar donde recibe el comando de subir el motor, como es el de bajar y bueno reemplazarlos con los qeu tu tienes.