Tabla de contenido:

Kit de desarrollo de RF de Python: 5 pasos
Kit de desarrollo de RF de Python: 5 pasos

Video: Kit de desarrollo de RF de Python: 5 pasos

Video: Kit de desarrollo de RF de Python: 5 pasos
Video: Aplicaciones de Escritorio con Tecnología Web 2024, Mes de julio
Anonim
Kit de desarrollo de RF de Python
Kit de desarrollo de RF de Python

En primer lugar, me gustaría hacer una pequeña introducción sobre cómo me involucré en las cosas de RF y por qué estoy trabajando en este proyecto.

Como estudiante de ciencias de la computación con afinidad con el hardware, comencé a asistir a algunos cursos que tratan sobre señales inalámbricas y seguridad en las comunicaciones inalámbricas en octubre de 2018. Rápidamente comencé a experimentar con radios RTL-SDR y HackRF definidas por software y con estantería módulos Arduino RF.

El problema es: los SDR no son lo suficientemente portátiles para mis propósitos (siempre necesito llevar una computadora portátil, antenas, etc.) y los módulos de RF Arduino baratos no son lo suficientemente capaces en términos de intensidad de señal, personalización, rangos de frecuencia y automatización.

Las antenas CC1101 de Texas Instruments son una excelente opción para transceptores de RF pequeños pero capaces que también son muy económicos. La gente ha creado grandes cosas con ellos, como SDR de bricolaje y cosas por el estilo.

Otra cosa que quería abordar con este tema era CircuitPython. Es un nuevo lenguaje de programación de microcontroladores del que he escuchado muchas cosas buenas, así que quería probarlo. Resultó que lo disfruto mucho, especialmente junto con la placa Feather M4 Express de Adafruit, que también utilizo en este proyecto. Es muy fácil de depurar ya que no necesita compilar firmwares personalizados cada vez que intenta un pequeño cambio en su código, obtiene una consola REPL y su código también permanece en el microcontrolador, lo que significa que puede llevarlo consigo, enchufarlo en varios equipos y siempre podrá realizar cambios sobre la marcha.

Paso 1: componentes de hardware

Componentes de hardware
Componentes de hardware

Lo que necesitará para replicar este proyecto:

  • Adafruit Feather M4 Express
  • 2x Transceptor + Antena Texas Instruments CC1101
  • Adafruit FeatherWing OLED
  • LiPo de 3,7 V

Esencialmente, esto es todo lo que necesita para tener un transceptor de RF bastante compacto y capaz, pero como puede ver en la imagen, no será muy confiable y ordenado con todos esos cables de puente.

Así que diseñé un PCB personalizado usando https://easyeda.com/ y lo pedí en JLCPCB.com (¡muy barato y de gran calidad!) Para conectar todo. Esto también permitió integrar fácilmente 3 botones y LED para la entrada del usuario y las salidas de estado.

Y finalmente, imprimí en 3D una pequeña cubierta para la parte posterior de la PCB para que no se produzca un cortocircuito con nada y quede plano sobre la mesa.

Si es nuevo en el diseño de electrónica y PCB, le recomendaría que consulte estos Instructables: Electrónica básica, Clase de diseño de placa de circuito.

En los archivos adjuntos puede encontrar los archivos Gerber para mi PCB. Si decide fabricarlo, necesitará un par de componentes adicionales que personalmente ordené a LCSC, ya que están asociados a JLCPCB, por lo que ofrecen enviar todo junto, lo que ahorra un poco de costos de envío y los componentes también son justos. muy barato allí. Consulte la lista de materiales para obtener una lista detallada. ¡Elegí intencionalmente el tamaño de paquete grande de 0805 para los componentes SMD para que todos puedan soldarlos a mano en la PCB!

Paso 2: construcción del tablero

Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero
Construyendo el tablero

En la primera imagen podemos ver las placas de circuito impreso sin ninguna "modificación" realizada; vienen así de fábrica. Cortes muy limpios (sin ranura en V, completamente enrutados) y buenas vías en todos los orificios THT.

Si desea utilizar los LED, tendrá que soldarlos, así como las resistencias SMD. Las resistencias suelen estar ocultas debajo del microcontrolador pero visibles en la segunda imagen que muestra la placa completamente soldada. Si no tiene mucha experiencia con la soldadura, podría ser un poco complicado soldar SMD, pero es algo opcional y todos los componentes centrales son THT. Siempre me gusta recomendar los videos de Dave (EEVblog) y de hecho vi este yo mismo: EEVblog # 186 - Tutorial de soldadura Parte 3 - Montaje en superficie. ¡Es bastante largo, pero vale la pena si eres nuevo en esto!

También menciona esto, pero: tenga cuidado de soldar las resistencias y los LED primero, luego los botones en segundo lugar y los encabezados al final. De esta manera, siempre puede usar la mesa para empujar contra el componente desde la parte inferior y soldar desde la parte superior (PCB invertida).

Después de soldar todo, puede conectar el Feather M4 y una o dos antenas y el hardware está listo. Como no soldamos estos componentes, siempre podemos sacarlos de la placa y usarlos para otro proyecto, ¡lo cual es genial!

Tenga en cuenta que en la tercera imagen tengo los encabezados masculinos cortos y regulares en el Feather, por lo que no pude apilar el OLED en la parte superior. Tuve que desoldarlos y agregar encabezados de apilamiento Feather. Si desea utilizar el OLED, obtenga los encabezados de apilamiento de inmediato, honestamente: D Desoldar es solo una molestia.

Paso 3: software

Con el hardware listo, hablemos de software.

Como se mencionó en la introducción, el M4 ejecuta código Python, pero obviamente no existía una biblioteca para CC1101 en el lenguaje Python. Así que hice lo que hacen los aficionados al bricolaje y escribí el mío. Puede encontrarlo aquí:

No es compatible con todo lo que los grandes transceptores de TI son capaces de hacer, pero es suficiente para enviar y recibir datos codificados con ASK en cualquier frecuencia fácilmente. Pude comunicarme con enchufes de pared controlados por RF y con el automóvil de mi familia mediante el uso de esta biblioteca.

Es muy probable que continúe trabajando en él y si tiene alguna pregunta, solicitud de funciones o desea contribuir al desarrollo, ¡no dude en ponerse en contacto conmigo!

Paso 4: Capacidades y características

Desde que diseñé este dispositivo para usar antenas dobles y los transceptores TI CC1101 altamente configurables, tiene un montón de posibilidades, especialmente en el campo donde no quiere tener que llevar nada más que un dispositivo del tamaño de un teléfono inteligente.

Por ejemplo, puede capturar señales de comunicaciones en la banda de 433MHz y enviarlas de regreso a su estación local con la antena secundaria operando a 868MHz.

O si desea estudiar y experimentar con interferencias reactivas, puede tener una antena de escucha y de interferencia que envíe sus propias señales tan pronto como se detecte una transmisión, sin utilizar el "método tradicional" de intentar cambiar entre RX y TX como lo más rápido posible.

Otra cosa muy interesante sobre el Feather M4 es que viene con un circuito de carga LiPo integrado para que simplemente conecte la batería y esté listo para usar. En mi caso, con una antena en modo RX constante, escuchando las transmisiones y la pantalla OLED encendida, el dispositivo funcionaría durante casi 20 horas con un LiPo de 1000 mAh.

Usando la pantalla OLED, pero también es posible sin ella, p. Ej. utilizando los tres LED de estado: puede tener varios programas y seleccionar cuál desea ejecutar con los botones en la parte inferior de la placa. Personalmente, incluso implementé un menú completo con modos para elegir y una vista de configuración de frecuencia, etc.

¡Incluso podría ser útil para algunos sistemas de automatización del hogar! Como mencioné, he podido comunicarme con las tomas de corriente con éxito (capturar las señales originales una vez y reproducirlas cuando lo necesite) y si investiga un poco en Internet, encontrará rápidamente cuántos dispositivos también funcionan. estas frecuencias con códigos que nunca cambian. Incluso los códigos de algunos garajes pueden grabarse y guardarse con este dispositivo y luego usarse siempre que necesite abrir o cerrar su garaje. ¡Así que esto puede convertirse en un control remoto universal para todos sus dispositivos de RF!

Yo personalmente repliqué el ataque RollJam con este dispositivo también, pero no publicaré el código ya que la interferencia es ilegal en la mayoría de los lugares, así que si intenta algo como esto, consulte las leyes locales;-)

Dado que la placa se muestra como un disco USB cuando la conectas y CircuitPython ofrece esta característica, también puedes hacer que el dispositivo registre las transmisiones de RF y guarde los datos demodulados (¡oh, sí, los transceptores lo hacen automáticamente!) En un archivo de texto. que luego puede copiar a su PC y analizar con fines científicos, como la ingeniería inversa de transmisiones.

Paso 5: resultado final

Resultado final
Resultado final

Cualquier comentario, sugerencia y contribución a este proyecto es bienvenido y no dude en hacer preguntas si tiene alguna.

Recomendado: