Raspberry Pi transmitiendo señales de radio: pruebas

Hola geektimes.

Recientemente, necesitaba un transmisor de radio de baja potencia para experimentos en el hogar. No había nada adecuado a la mano, y luego recordé el método descrito hace varios años en sitios de radioaficionados: usar la Raspberry Pi directamente como transmisor. El método no es nuevo y se conoce desde hace varios años, pero parece que nunca se ha descrito geektimes (o me he visto mal), y una encuesta de amigos ha demostrado que nadie sabe sobre este método de transferencia.

Corregir este momento.



La prueba de cómo funciona está bajo cat.

Principio


Las computadoras modernas funcionan a frecuencias de reloj muy altas, y cualquier generador es en realidad un transmisor de baja potencia. Al cambiar programáticamente la frecuencia del multiplicador de reloj PLLD en la Raspberry Pi, puede transmitir directamente una señal de radio desde la pata del microprocesador. El método se probó por primera vez en 2013 , después de lo cual se desarrolló el concepto, y ahora se pueden encontrar varios proyectos en Github: puede transferir diferentes tipos de señales, AM, FM, CW, SSB, WSPR, DCF77 e incluso imágenes de escaneo lento (SSTV) Incluso puede transferir Stereo FM con RDS, y algunos programas también admiten audio USB, que le permite usar la Raspberry Pi como un error y un micrófono de radio.

Por supuesto, la potencia de salida es pequeña y es de aproximadamente 10 mW. Pero no obstante, funciona. Y para la nota paranoica: sí, una computadora moderna puede transmitir hipotéticamente una señal de radio directamente desde el tablero. Es cierto que el rango no es alto, y tal señal no irá más allá de la siguiente habitación. Sin embargo, como método hipotético de fuga de información, dicho método tiene lugar.

Cómo funciona, comencemos a probar.

Prueba


Como sujeto de prueba, se tomó Raspberry Pi3 y se instaló el programa rpitx . En lugar de una antena, se colocó un cable de la placa de pruebas en el GPIO18.

Foto
Como puedes ver, nada más :)


Como analizador de espectro, se utilizó el SDRPlay SDRPlay v2. También verificó si la frecuencia probada es libre, si hay señales o negociaciones.

1. modo VFO


En este modo, se transmite una señal simple a la frecuencia indicada:

sudo ./rpitx -m VFO -f 235000000 

Encender el "transmisor" lleva unos segundos, después de lo cual un pico a aproximadamente la frecuencia indicada es visible en la pantalla SDR.



Como puede ver, además del pico central, hay, por desgracia, muchos laterales. La conclusión es que, como cualquier microprocesador, el Raspberry Pi en tiempo real transmite una señal rectangular . Que tiene un montón de armónicos, y en lugar de una sola frecuencia, un montón de basura vuela en el aire en todas las frecuencias múltiples. En el SDR puede ver que la interferencia de la transmisión "vuela" en todo el espectro, hasta gigahercios.

Con una potencia de 10 mW, esto no es un problema, pero una observación importante se deduce de esto: el deseo de conectar un amplificador de potencia al Raspberry Pi sería una mala idea. O necesita usar el filtro de paso bajo, que cortará las frecuencias más altas, pero en este caso se pierde toda la esencia de la simplicidad de la idea.

2. Modo FM estrecho


El mismo programa puede transferir un archivo wav en modo Narrow FM, que puede usarse, por ejemplo, para escuchar estaciones de radio portátiles.

Primero, cree un archivo de datos: convierta el archivo a datos IQ:

 ./pifm sampleaudio.wav out.fm 

Comenzamos la transferencia:

 sudo ./rpitx -m RF -i out.fm -f 235000000 

Pero como no lo intenté, el sonido no funcionó, solo los "palos" en el espectro. O el programa no es compatible con Raspberry Pi 3, o hay algún otro error.

3. modo WFM


Para transmitir una radio FM completa, existe el programa PiFmRds, que se puede descargar desde guthub . A diferencia de la versión anterior, el programa usa un pin diferente, GPIO4, por lo que la "antena" tuvo que ser reorganizada.

Ejecute el programa desde la línea de comando:

 sudo ./pi_fm_rds -audio sound.wav -freq 87.0 

Funciona ... pero el sonido es muy alto y chirriante, en frecuencia superior a 2 veces, como en los personajes de los dibujos animados de Disney. Mediante el método de búsqueda científica, selecciono el parámetro ppm (corrección), la línea de comando resultó así:

 sudo ./pi_fm_rds -audio sound.wav -freq 87.0 -ppm -320000 

Resultó que la frecuencia de transmisión también disminuyó casi megahercios, y el espectro es dos veces más ancho que el de una estación normal normal:



La calidad del sonido es similar a la de un teléfono, pero en principio es bastante legible. Sorprendentemente, el alcance resultó ser bastante bueno, en todo el departamento la señal se capturó con bastante confianza en un receptor FM normal. Y esto, además, en una antena completamente inconsistente, cuya eficiencia es extremadamente pequeña. Por cierto, utilizando un método especial de transmisión de banda estrecha WSPR y antenas sintonizadas, con 10 mW de potencia, la radioaficionado logró transmitir una señal a una distancia de hasta 2000 km .

Conclusiones


El método de transferencia es bastante interesante, como prueba de concepto. No fue posible lograr una buena calidad de sonido, y había algo incomprensible con las frecuencias, la discrepancia era muy fuerte. Pero el hecho de que solo utilizando un método de software, sin ningún "hardware" externo, es posible transmitir señales en cualquier forma de modulación, con una frecuencia de hasta 500 MHz, es bastante interesante. Bueno, en la práctica, si necesita un generador simple y de baja potencia, este método puede ser útil.

Para aquellos que quieran repetir el experimento, un par de consejos:

- No utilice antenas en cortocircuito: un cortocircuito en el pin arruinará la Raspberry Pi. Una simple pieza de cable, en el mejor de los casos, una antena dipolo, es suficiente, la longitud del "bigote" se puede calcular en cualquier calculadora en línea.
- No utilice un amplificador de potencia: la señal contiene demasiado ruido e interferirá con otros servicios.

Si lo desea, también puede encontrar muchos tutoriales en video con una demostración en YouTube, por ejemplo, este .

Todos los experimentos exitosos.

Source: https://habr.com/ru/post/es407415/


All Articles