¿Cómo emito una onda de radio arbitraria de 2,4 GHz?

Estoy buscando crear un microcontrolador que me permita controlar mi lámpara de techo controlada por un control remoto de 2,4 GHz. El objetivo final es integrarlo con las herramientas de domótica y olvidarse de los mandos a distancia adicionales.

Usé la radio SDR (hackrf one) para obtener una mejor comprensión de la comunicación. Dado que la lámpara era bastante barata, no esperaba que fuera un protocolo complejo. Encontré las siguientes cosas:

  • El control remoto siempre usa la misma frecuencia para la comunicación (2.449 GHz)
  • Los códigos remotos no cambian con el tiempo (puedo manejar la lámpara desde mi SDR usando mis registros sin problema)
  • Los códigos/ondas remotos parecen ser bastante simples (ver imágenes más adelante).

Y ahora llego a un problema ¿cómo puedo replicar esta señal? Algo que funcionará mejor para mí es qué tipo de módulos (idealmente jugando bien con esp/arduino) debo buscar.

Al no tener experiencia con la comunicación inalámbrica, asumí erróneamente que podría conectar, por ejemplo, el módulo nRF24L01 + a esp32 y simplemente hacer algo como delay(16); rf.high(); delay( 16 ); rf.low();. Sin embargo, después de leer sobre este módulo de radio en particular, resultó que tiene un protocolo de comunicación fijo que no se ajusta a este propósito.

Como referencia, pondré una visualización de código rastreado tomada con GNU Radio e importada a Audacity para su visualización:

  • toda la secuencia de la señal:toda la secuencia de la señal
  • Primer lote de códigos:Primer lote de códigos
  • Zoom máximo en onda de señal de "1 bit":Zoom máximo en onda de señal de "1 bit"
  • Zoom máximo en "1 bit" con menos ganancia según lo solicitado en los comentarios:ingrese la descripción de la imagen aquí
También sé que una sugerencia podría ser sacrificar el control remoto que tengo y usar un microctonroller para controlar sus botones, pero he descartado este enfoque porque no ocupa espacio y también me gusta tener el control remoto en el armario como un "respaldo". "plan 🙂
También quería verificar qué microcontrolador se usa en el control remoto, pero desafortunadamente no está marcado y parece un chip todo en uno, ya que no hay mucho en el tablero excepto este chip imgur.com/Ou6JFMd (es un tablero de un solo lado )
¡Deja de comentar tu propia pregunta! Agregue la información adicional en la pregunta . Hay un botón Editar para actualizar la pregunta.
Debe saber qué estándar/protocolo utiliza el "remoto + lámpara de 2,4 GHz" . Si, por ejemplo, está usando Zigbee, necesitará un transmisor Zigbee para controlarlo. Una MCU y un "transmisor genérico de 2,4 GHz" no funcionarán. Sin un equipo sofisticado (es decir, un analizador de señales de RF, algo como esto: rohde-schwarz.com/us/products/test-and-measurement/… no hay manera de saber qué señal se utiliza. Por cierto, esos analizadores cuestan más que un auto Opción más barata: abra el control remoto y la lámpara y vea qué circuitos integrados se utilizan.
@Bimpelrekkie, ¿está diciendo que no podré entender la secuencia de la señal con hackrf one, aunque puedo activar la lámpara de manera confiable a partir de la señal grabada?
@MarekLewandowski su grabación está severamente recortada. Tiene demasiada ganancia del receptor, por lo que, si esto es más complejo que los pulsos cortos, no podrá distinguirlo de su grabación.
@MarcusMüller agregó una captura de pantalla que visualiza ambas señales con un poco menos de ganancia (estos son dos comandos para subir y bajar el brillo)
Sí, estoy diciendo que hackRF es inútil ya que no le dirá detalles como la modulación de fase, etc. La activación confiable solo significa que ha determinado con éxito cuándo se transmite un paquete de datos. Para que pueda ver que el transmisor está encendido o apagado. No le dice nada sobre la tasa de bits y el tipo de modulación.

Respuestas (1)

Hay protocolos de RF que son versiones OOK (activación y desactivación) de los IR; eso es probablemente lo que es. Puede encontrar útil esta discusión de Arduino: https://forum.arduino.cc/index.php?topic=532534.0

¡Gracias por la sugerencia! Aunque mi caso de uso es un poco más simple, no hay códigos variables.
Además, su versión ampliada sugiere que algo le sucede a la fase, pero no está claro; como se dijo, su grabación está distorsionada al ser recortada.