Generando Rolling Code con Arduino para RF Switch

0

Estoy trabajando en la automatización del hogar utilizando Arduino y el módulo TX / RX. Por diversas fuentes, aprendí que los conmutadores de RF basados en código rodante tienen mejor seguridad.

Tengo consultas siguientes

  1. Qué tan adecuado es usar relés de RF de código FIJO para la automatización del hogar. Lo necesito para encender y apagar las luces y no para las cerraduras con llave.

  2. ¿Es posible generar código rodante usando arduino para un receptor dado que trabaja en el código rodante RF?

Por favor ayuda.

    
pregunta rahulopengts

1 respuesta

1
  1. El uso de código fijo de RF es adecuado para su aplicación, siempre y cuando lo guarde solo para encender / abrir cortinas / otras cosas mundanas. ¡Lo peor que podría pasar es que un vecino odioso (e inteligente) descubra cómo apagar las luces de ti!

  2. Necesitaría saber qué transmisor de radio está utilizando y cuál es la arquitectura de su sistema para responder a esta pregunta. Estoy 90% seguro de que la respuesta es "sí, puedes crear tu propio sistema de código rodante"

Siempre que puedas programar todos los nodos en tu sistema, puedes crear un sistema de código rodante. Este es un mal ejemplo con una seguridad muy pobre, pero tal vez le ayude a tener una idea.

Tienes 2 arduinos que necesitan enviar mensajes ascii de un lado a otro. especifica el siguiente protocolo: Cada mensaje tiene exactamente 4 bytes de longitud. Los primeros 9 bytes contienen los datos que desea transmitir. El último 1 byte contiene una clave que se utilizará para cifrar la próxima transmisión. Se puede usar un algoritmo de cifrado básico que agrega un valor constante a cada letra.

Aquí hay un ejemplo: Antes de que arduino 1 transmita su mensaje, lo cifra con nuestro algoritmo de cifrado básico. al inicio, la clave de cifrado para ambos arduinos es 0, por lo que las letras en el primer mensaje no se cambian.

[arduino 1]                                         [arduino 2]
(boots up)                                          (boots up)
|'h'|'e'|'y'| 4 |   ---------------------------->   (recieved "hey", next msg will be shifted by 4.)
|'h'|'i'|'i'| 2 |   -> |h+4 = 'l'|'m'|'m'| 6 | ->   (recieved "lmm", subtract 4 from each letter to get "hey".  Next msg will be shifted by 6 - 4 = 2.)
|'h'|'o'|'w'| 3 |   -> |h+2 = 'j'|'r'|'y'| 5 | ->   (received "jry", subtract 3 from each letter to get "how".  Next msg will be shifted by 5 - 2 = 3.)

Nuevamente, este es un ejemplo HIPOTÉTICO con muy poca seguridad. No conozco la arquitectura de tu sistema ni los transcievers de radio que estás utilizando, por lo que no estoy 100% seguro de que mi pequeño y tonto ejemplo te funcione. A pesar de que este es un cifrado terrible, todavía disuadiría a cualquier hacker novato. Un sistema de código rodante real es más complejo que esto. Solo estoy demostrando que, mientras pueda programar todos los nodos en su red de radio, puede implementar su propio sistema de código rodante arbitrario.

    
respondido por el johnny_boy

Lea otras preguntas en las etiquetas