Índice:

Kit de desenvolvimento de RF Python: 5 etapas
Kit de desenvolvimento de RF Python: 5 etapas

Vídeo: Kit de desenvolvimento de RF Python: 5 etapas

Vídeo: Kit de desenvolvimento de RF Python: 5 etapas
Vídeo: Desenvolvimento: Usando Python em z/OS 2024, Maio
Anonim
Kit de desenvolvimento de RF Python
Kit de desenvolvimento de RF Python

Em primeiro lugar, gostaria de dar uma pequena introdução sobre como comecei a trabalhar com RF e por que estou trabalhando neste projeto.

Como um estudante de ciência da computação com afinidade com hardware, comecei a frequentar alguns cursos que lidam com sinais sem fio e segurança em comunicações sem fio em outubro de 2018. Rapidamente comecei a fazer experiências com rádios definidos por software RTL-SDR e HackRF e com off-the- módulos de prateleira Arduino RF.

O problema é: SDRs não são portáteis o suficiente para meus propósitos (sempre preciso carregar um laptop, antenas, etc.) e os módulos Arduino RF baratos não são capazes o suficiente em termos de intensidade de sinal, personalização, faixas de frequência e automação.

As antenas CC1101 da Texas Instruments são uma ótima escolha para transceptores RF pequenos, mas capazes, que também são muito baratos. As pessoas construíram grandes coisas com eles, como SDRs DIY e coisas assim.

Outra coisa que eu queria abordar com este tópico era CircuitPython. É uma nova linguagem de programação de microcontroladores sobre a qual ouvi muitas coisas boas, então queria experimentá-la. Acontece que eu gosto muito, especialmente junto com a placa Feather M4 Express da Adafruit, que também uso neste projeto. É muito fácil de depurar, pois você não precisa compilar firmwares personalizados toda vez que tenta uma pequena mudança em seu código, você obtém um console REPL e seu código também permanece no próprio microcontrolador, o que significa que você pode carregá-lo, conectá-lo em vários computadores e você sempre poderá fazer alterações em qualquer lugar.

Etapa 1: componentes de hardware

Componentes de hardware
Componentes de hardware

O que você precisa para replicar este projeto:

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

Essencialmente, isso é tudo que você precisa para ter um transceptor de RF bastante compacto e capaz, mas como você pode ver na imagem, ele não será muito confiável e organizado com todos aqueles fios de jumper.

Portanto, projetei um PCB personalizado usando https://easyeda.com/ e o encomendei em JLCPCB.com (muito barato e de ótima qualidade!) Para conectar tudo junto. Isso também permitiu integrar facilmente 3 botões e LEDs para entrada do usuário e saídas de status.

E, finalmente, imprimi em 3D uma pequena capa para a parte de trás do PCB para que não causasse curto-circuito em nada e ficasse plano sobre a mesa.

Se você é novo em eletrônicos e design de placas de circuito impresso, recomendo que dê uma olhada nestes Instructables: Eletrônicos básicos, Aula de design de placas de circuito!

Nos anexos você pode encontrar os arquivos Gerber para o meu PCB. Se você decidir fabricá-lo, precisará de alguns componentes extras que eu encomendei pessoalmente da LCSC, uma vez que eles estão associados ao JLCPCB, então eles oferecem o envio de tudo junto, o que economiza um pouco nos custos de envio e os componentes também são apenas muito barato lá. Consulte a lista de materiais para obter a lista detalhada. Eu escolhi intencionalmente o tamanho do pacote grande de 0805 para os componentes SMD para que todos possam soldá-los manualmente no PCB!

Etapa 2: Construindo o Conselho

Construindo o Conselho
Construindo o Conselho
Construindo o Conselho
Construindo o Conselho
Construindo o Conselho
Construindo o Conselho

Na primeira imagem podemos ver os PCBs sem nenhuma "modificação" feita - assim eles vêm de fábrica. Cortes muito limpos (sem ranhura em V, completamente roteado) e boas vias em todos os orifícios THT.

Se você quiser usar os LEDs, terá que soldá-los junto com os resistores SMD. Os resistores geralmente ficam escondidos embaixo do microcontrolador, mas são visíveis na segunda foto que mostra a placa completamente soldada. Se você não tem muita experiência com soldagem, pode ser um pouco complicado soldar SMD, mas é meio opcional e todos os componentes principais são THT. Eu sempre gosto de recomendar os vídeos do Dave (EEVblog) e na verdade assisti a este eu mesmo: EEVblog # 186 - Tutorial de Soldagem Parte 3 - Montagem em Superfície. É bem longo, mas vale a pena se você for novo nessas coisas!

Ele também menciona isso, mas: tome cuidado para soldar os resistores e os LEDs primeiro, depois os botões em segundo e os conectores no final. Dessa forma, você sempre pode usar a mesa para empurrar o componente por baixo e soldar por cima (PCB virado de cabeça para baixo).

Depois de soldar tudo, você pode apenas conectar o Feather M4 e uma ou duas antenas e o hardware está pronto! Como não soldamos esses componentes, podemos sempre retirá-los da placa e usá-los em outro projeto, o que é ótimo!

Observe que na terceira imagem eu tenho os cabeçalhos masculinos curtos regulares no Feather, então não pude empilhar o OLED no topo. Tive que dessoldá-los e adicionar cabeçalhos de empilhamento Feather. Se você quiser usar o OLED, obtenha os cabeçalhos de empilhamento imediatamente, honestamente: D A dessoldagem é apenas uma dor.

Etapa 3: Software

Com o hardware pronto, vamos falar sobre software.

Conforme mencionado na introdução, o M4 executa código Python, mas obviamente nenhuma biblioteca para CC1101 existia na linguagem Python. Então eu fiz o que DIYers fazem e escrevi meu próprio. Você pode encontrá-lo aqui:

Ele não suporta tudo o que os grandes transceptores de TI são capazes, mas é o suficiente para enviar e receber dados codificados por ASK em qualquer frequência com facilidade. Consegui me comunicar com tomadas de parede controladas por RF e também com o carro de minha família usando esta biblioteca.

É bem provável que eu continue trabalhando nisso e se você tiver alguma dúvida, solicitação de recurso ou quiser contribuir com o desenvolvimento, sinta-se à vontade para entrar em contato comigo!

Etapa 4: Capacidades e recursos

Desde que eu projetei este dispositivo para usar antenas duplas e os transceptores TI CC1101 altamente configuráveis, você tem uma tonelada de possibilidades, especialmente no campo onde você não quer ter que carregar nada mais do que um dispositivo do tamanho de um smartphone.

Você pode, por exemplo, capturar sinais de comunicação na banda de 433 MHz e enviá-los de volta para sua estação doméstica com a antena secundária operando em 868 MHz.

Ou se você quiser estudar e experimentar com interferência reativa, você pode ter uma antena de escuta e uma antena de interferência que envia seus próprios sinais assim que uma transmissão é detectada, sem fazer o "método tradicional" de tentar alternar entre RX e TX como o mais rápido possível.

Outra coisa muito legal sobre o Feather M4 é que ele vem com um circuito de carregamento LiPo integrado, então você apenas conecta a bateria e está pronto para usar. No meu caso, com uma antena em modo RX constante, ouvindo transmissões e a tela OLED ligada, o dispositivo funcionaria por quase 20 horas em um LiPo de 1000 mAh.

Usando a tela OLED - mas também possível sem ela, por exemplo, usando os três LEDs de status - você pode ter vários programas e selecionar aquele que deseja executar com os botões na parte inferior da placa. Eu, pessoalmente, implementei um menu completo com modos para escolher e uma visualização de configuração de frequência, etc.

Pode até ser útil para alguma automação residencial! Como mencionei, tenho conseguido me comunicar com as tomadas elétricas com sucesso (capturar os sinais originais uma vez e reproduzi-los sempre que precisar) e se você pesquisar um pouco na Internet, descobrirá rapidamente em quantos dispositivos também operam essas frequências com códigos que nunca mudam. Mesmo alguns códigos de garagens podem ser gravados e salvos com este dispositivo e, em seguida, usados sempre que você precisar abrir ou fechar sua garagem. Portanto, este pode se tornar um controle remoto universal para todos os seus dispositivos RF!

Eu pessoalmente repliquei o ataque RollJam com este dispositivo também, mas não vou liberar o código, já que o bloqueio é ilegal na maioria dos lugares, então se você tentar algo assim, consulte as leis locais;-)

Como a placa aparece como um disco USB quando você conecta e o CircuitPython oferece esse recurso, você também pode fazer com que o dispositivo grave as transmissões de RF e salve os dados demodulados (ah, sim, os transceptores fazem isso automaticamente!) Em um arquivo de texto que você pode copiar posteriormente para o seu PC e analisar para fins científicos, como engenharia reversa de transmissões.

Etapa 5: Resultado final

Resultado final
Resultado final

Quaisquer comentários, sugestões e contribuições para este projeto são bem-vindos e fique à vontade para fazer perguntas se tiver alguma!

Recomendado: