Tutorial de desarrollo de aplicaciones Portapack (1) Introducción, compilación, grabación y Hello World

Usé Portapack cuando hice el experimento de recepción de GPS de LimeSDR antes, puede transmitir señales de GPS:

https://blog.csdn.net/shukebeta008/article/details/103270214

Al probar la función de búsqueda de dirección de KerberosSDR, también utilizo Portapack para transmitir una señal de tono único:

https://www.bilibili.com/video/av78385598?from=search&seid=9727676114121593493

Portapack es de tamaño pequeño. Aunque la computadora + sdr también puede transmitir señales de prueba, es muy conveniente para este tipo de requisitos de transmisión que requieren ejercicio frecuente. Más que eso, no tiene proceso de arranque ni necesidad de ingresar comandos. Es bastante conveniente para usar en exteriores.

Portapack en sí tiene muchas funciones, como recibir señales adsb, señales tpms, escuchar transmisiones AM y FM, transmitir señales FM, frecuencias de barrido, etc.

https://www.bilibili.com/video/av75970840?from=search&seid=12318126195803131787

Referencia de otras funciones:

https://www.rtl-sdr.com/a-review-of-the-hackrf-portapack-with-havok-firmware/

Su principio es realizar directamente el procesamiento de la señal en el chip arm integrado de hackrf, de modo que para algunas aplicaciones con una pequeña cantidad de cálculo, se puede separar de la computadora e implementar directamente en portapack + hackrf.

La versión gridrf del firmware utilizada anteriormente tiene función de inicio de GPS, pero no es de código abierto. Las otras partes de este firmware son en realidad muy antiguas y no pueden mantenerse al día con el último desarrollo del firmware del portapack, así que planeo escribir un programa similar por mí mismo. Puede ver la captura de pantalla de la última versión de la interfaz principal a continuación. Ahora son todas las cuadrículas y puede tocar y hacer clic directamente. La interfaz principal de la versión anterior anterior (es decir, la versión utilizada por gridrf) es línea por línea como la esquina superior izquierda de la captura de pantalla anterior. Además, algunos módulos transceptores específicos también se actualizan constantemente.

Dado que todos los programas portapack se ejecutan en el chip arm de hackrf, también es útil para comprender en profundidad el desarrollo del firmware integrado de hackrf. En el período posterior, también puedo modificar el módulo de demodulación AM y usarlo para mostrar video analógico. La demodulación AM original es solo audio demodulado, pero el video analógico también es una señal AM. El valor de amplitud de AM se usa para representar el brillo de cada píxel.

El firmware del portapack es desarrollado por dos organizaciones, una es desarrollada por el propio diseñador de hardware, el autor es Jared Boone, y la otra es el firmware havoc desarrollado por furrtek, que tiene muchas funciones.

La versión de gridrf mencionada anteriormente en realidad está ligeramente modificada en el firmware de havoc, y su función de inicio de GPS es en realidad similar a la función de reproducción en el firmware de havoc. Es solo que la reproducción transmite una señal iq de 16 bits con una frecuencia de muestreo de 500 kHz, mientras que la transmisión gps necesita transmitir una señal iq de 8 bits. La frecuencia de muestreo suele ser de 2,6 MHz (yo uso 2 MHz).

Lo que vamos a hacer ahora es equivalente a escribir una aplicación para portapack.

Visita esta dirección de github primero

https://github.com/furrtek/portapack-havoc

Esta es la carpeta del proyecto de portapack. Contiene todo el código. También hay pasos de compilación y grabación en la wiki. No es difícil seguir los pasos.

Compilar: https://github.com/furrtek/portapack-havoc/wiki/Building-from-source

Quema: https://github.com/furrtek/portapack-havoc/wiki/Flashing

Los archivos de código que queremos cambiar están todos bajo firmware.

Antes de agregar módulos, puede intentar cambiar el código en una interfaz relativamente simple y probar el proceso de desarrollo.

Abra el siguiente archivo 

/firmware/application/apps/ui_about.hpp

Hay una parte de este código. 

const credits_t credits[25] = {
		//           012345678901234567890123456789
		{ 60,		"PortaPack|HAVOC",					0 },
		{ 4 * 8,	    "Version " VERSION_STRING,		16 },
		{ 11 * 8,	           "Gurus  J. Boone",		0 },
		{ 18 * 8,	                  "M. Ossmann",		16 },
		{ 11 * 8,	           "HAVOC  Furrtek",		16 },
		{ 7 * 8,	       "POCSAG rx  T. Sailer",		0 },
		{ 18 * 8,	                  "E. Oenal",		16 },
		{ 0 * 8,	"Radiosonde infos  F4GMU",			0 },
		{ 18 * 8,	                  "RS1729",			16 },
		{ 4 * 8,	    "RDS waveform  C. Jacquet", 	16 },
		{ 7 * 8,	       "Xy. infos  cLx", 			16 },
		{ 2 * 8,	  "OOK scan trick  Samy Kamkar",	16 },
		{ 7 * 8,	       "World map  NASA", 			16 },
		{ 0 * 8,	"TouchTunes infos  Notpike",		16 },
		{ 4 * 8,	    "Subaru infos  Tom",			0 },
		{ 18 * 8,	                  "Wimmenhove",		24 },
		{ 6 * 8,	      "Thanks & donators",			16 },
		{ 1 * 8,	 "Rainer Matla     Keld Norman",	0 },
		{ 1 * 8,	 " Giorgio C.         DC1RDB",		0 },
		{ 1 * 8,	 " Sigmounte           Waax",		0 },
		{ 1 * 8, 	" Windyoona         Channels",		0 },
		{ 1 * 8, 	"   F4GEV             Pyr3x",		0 },
		{ 1 * 8,    "  HB3YOE",							24 },
		{ 11 * 8,	            "MMXVIII",				-1 }
	};

Estos códigos se desplazarán y mostrarán cuando abras la página Acerca de en portapack. Puedes cambiar el texto del colaborador que se encuentra dentro por cualquier texto que quieras mostrar.

Después de la modificación, puede compilar, consulte los pasos de compilación y descarga en la wiki:

#编译 先退到这个项目最上层文件夹
mkdir build
cd build
cmake ..
make firmware -j4

#下载
cd /build/firmware
hackrf_spiflash -w portapack-h1-havoc.bin #做这一步之前要把portpack切换为hackrf模式

 Una vez completada la descarga, presione el botón de reinicio en hackrf y vuelva a ingresar al paquete de puertos. Puede ver los resultados de los cambios en la página Acerca de.

El siguiente es el efecto de mi cambio, agregando mi propia firma en la penúltima línea.

 

Adjunte la referencia del principio de software y hardware del portapack:

Estructura del firmware: https://github.com/sharebrained/portapack-hackrf/wiki/Firmware-Architecture

Proceso de arranque: https://github.com/sharebrained/portapack-hackrf/wiki/Boot-Process

Hardware: https://github.com/sharebrained/portapack-hackrf/wiki/Hardware

Supongo que te gusta

Origin blog.csdn.net/shukebeta008/article/details/104303466
Recomendado
Clasificación