Taula de continguts:

Kit de desenvolupament de RF Python: 5 passos
Kit de desenvolupament de RF Python: 5 passos

Vídeo: Kit de desenvolupament de RF Python: 5 passos

Vídeo: Kit de desenvolupament de RF Python: 5 passos
Vídeo: НОЧЬ В СТРАШНОМ ДОМЕ С ДЕМОНОМ / НЕ СТОИЛО СЮДА ПРИХОДИТЬ 2024, Juliol
Anonim
Kit de desenvolupament de RF Python
Kit de desenvolupament de RF Python

Primer de tot, m’agradaria fer una petita introducció sobre com vaig entrar en coses de RF i per què estic treballant en aquest projecte.

Com a estudiant d’informàtica amb afinitat pel maquinari, vaig començar a assistir a alguns cursos que tracten de senyals sense fils i seguretat en comunicacions sense fils a l’octubre del 2018. Vaig començar ràpidament a experimentar amb ràdios definides per programari RTL-SDR i HackRF i amb ràdios fora de línia prestatgeria mòduls Arduino RF.

El problema és que els SDR no són prou portàtils per als meus propòsits (sempre heu de portar un ordinador portàtil, antenes, etc.) i els mòduls barats Arduino RF no són prou capaços en termes de força del senyal, personalització, rangs de freqüència i automatització.

Les antenes CC1101 de Texas Instruments són una opció fantàstica per a transceptors de RF petits però capaços, que també són molt econòmics. La gent ha construït coses fantàstiques amb ells, com ara SDRs de bricolatge i coses així.

Una altra cosa que volia tractar amb aquest tema era CircuitPython. És un llenguatge de programació nou de microcontroladors que he sentit parlar de moltes coses bones, així que volia provar-ho. Va resultar que en gaudeixo molt, sobretot juntament amb la placa Feather M4 Express d’Adafruit que també faig servir en aquest projecte. És molt fàcil de depurar, ja que no cal compilar firmwares personalitzats cada vegada que proveu un petit canvi de codi, obteniu una consola REPL i el vostre codi també es manté al propi microcontrolador, cosa que significa que el podeu portar, connectar-lo. a diversos ordinadors i sempre podreu fer canvis en qualsevol lloc.

Pas 1: components de maquinari

Components de maquinari
Components de maquinari

Què necessitareu per reproduir aquest projecte:

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

Bàsicament, això és tot el que necessiteu per tenir un transceptor de RF bastant compacte i capaç, però com podeu veure a la imatge no serà molt fiable i ordenat amb tots aquests cables de pont.

Així que vaig dissenyar un PCB personalitzat mitjançant https://easyeda.com/ i el vaig demanar a JLCPCB.com (molt barat i de gran qualitat!) Per connectar-ho tot. Això també va permetre integrar fàcilment 3 botons i LED per a les entrades de l'usuari i les sortides d'estat.

I, finalment, vaig imprimir en 3D una petita coberta per a la part posterior del PCB perquè no quedés curta contra res i seure a la taula.

Si no coneixeu el disseny d’electrònica i PCB, us recomanaria que consulteu aquestes instruccions: electrònica bàsica, classe de disseny de circuits.

Als fitxers adjunts podeu trobar els fitxers Gerber del meu PCB. Si decidiu fabricar-lo, necessitareu un parell de components addicionals que he encarregat personalment a LCSC, ja que estan associats a JLCPCB, de manera que ofereixen enviar tot junt, cosa que permet estalviar una mica de despeses d'enviament i els components també són només molt barat allà. Consulteu la llista de materials per obtenir la llista detallada. Vaig triar intencionadament la mida del paquet gran de 0805 per als components SMD perquè tothom els pugui soldar a mà al PCB.

Pas 2: construir el consell

Construint la Junta
Construint la Junta
Construint la Junta
Construint la Junta
Construint la Junta
Construint la Junta

A la primera imatge podem veure els PCB sense fer cap "modificació"; provenen així de fàbrica. Talls molt nets (sense ranura en V, completament encaminats) i bones vies a tots els forats THT.

Si voleu utilitzar els LED, haureu de soldar-los i les resistències SMD. Les resistències solen estar amagades sota el microcontrolador, però són visibles a la segona imatge que mostra la placa totalment soldada. Si no teniu molta experiència amb la soldadura, pot ser una mica complicat soldar SMD, però és una mica opcional i tots els components bàsics són THT. Sempre m'agrada recomanar els vídeos de Dave (EEVblog) i realment el vaig veure jo mateix: EEVblog # 186 - Soldering Tutorial Part 3 - Surface Mount. És bastant llarg, però val la pena si sou novells en aquestes coses.

També esmenta això, però: primer tingueu cura de soldar les resistències i els LED, després els botons en segon lloc i les capçaleres al final. D'aquesta manera, sempre podeu utilitzar la taula per empènyer contra el component des de la part inferior i soldar des de la part superior (el PCB es capgira cap per avall).

Després de soldar-ho tot, només cal connectar el Feather M4 i una o dues antenes i el maquinari està a punt. Com que no soldem aquests components, sempre els podem treure del tauler i utilitzar-los per a un altre projecte que és fantàstic.

Tingueu en compte que a la tercera imatge tinc les capçaleres masculines regulars i curtes del Feather, de manera que no podia apilar l’OLED a la part superior. Vaig haver de dessoldar-los i afegir capçaleres d'apilament Feather. Si voleu utilitzar l'OLED, obteniu les capçaleres d'apilament immediatament, sincerament: D Desoldering és només un dolor.

Pas 3: programari

Amb el maquinari acabat, parlem de programari.

Com es va esmentar a la introducció, el M4 executa codi Python, però òbviament no existia cap biblioteca per al CC1101 en el llenguatge Python. Així que vaig fer el que fan els bricoladors i vaig escriure el meu. El podeu trobar aquí:

No admet tot el que els grans transceptors TI són capaços, però n'hi ha prou amb enviar i rebre dades codificades per ASK en qualsevol freqüència fàcilment. Utilitzant aquesta biblioteca vaig poder comunicar-me amb endolls de paret controlats per RF i també amb el cotxe de la meva família.

Probablement continuï treballant-hi i si teniu cap pregunta, sol·licitud de funcions o voleu contribuir al desenvolupament, no dubteu a posar-vos en contacte amb mi.

Pas 4: funcions i funcions

Des que he dissenyat aquest dispositiu per utilitzar antenes dobles i els transceptors TI CC1101 altament configurables, teniu moltes possibilitats, sobretot al camp on no voleu portar res més que un dispositiu de mida intel·ligent.

Per exemple, podeu capturar senyals de comunicacions a la banda de 433 MHz i enviar-los de nou a la vostra estació d'origen amb l'antena secundària que funciona a 868 MHz.

O si voleu estudiar i experimentar amb el bloqueig reactiu, podeu tenir una antena d’escolta i de bloqueig que enviï els seus propis senyals tan aviat com es detecti una transmissió, sense fer el “mètode tradicional” d’intentar canviar entre RX i TX com el més ràpid possible.

Una altra cosa molt interessant del Feather M4 és que ve amb un circuit de càrrega integrat de LiPo perquè connecteu la bateria i estigueu a punt. En el meu cas, amb una antena en mode RX constant, escoltant transmissions i la pantalla OLED activada, el dispositiu funcionaria durant gairebé 20 hores amb un LiPo de 1000 mAh.

Ús de la pantalla OLED, però també possible sense ella, p. Ex. mitjançant els tres LED d’estat: podeu tenir diversos programes i seleccionar quin voleu executar amb els botons de la part inferior del tauler. Personalment, fins i tot he implementat un menú sencer amb modes per triar i una vista de configuració de freqüència, etc.

Fins i tot pot arribar a la mà per a una mica de domòtica. Com he esmentat, he pogut comunicar-me amb preses d’alimentació amb èxit (capturar els senyals originals una vegada i reproduir-los sempre que ho necessiteu) i, si feu una mica d’investigació a Internet, trobareu ràpidament quants dispositius també funcionen aquestes freqüències amb codis que no canvien mai. Fins i tot alguns codis de garatges es podrien gravar i desar amb aquest dispositiu i després utilitzar-los sempre que hàgiu d’obrir o tancar el garatge. Per tant, això es pot convertir en un comandament a distància universal per a tots els vostres dispositius de RF.

Personalment, vaig replicar l'atac RollJam amb aquest dispositiu, però no llançaré el codi, ja que la bloqueig és il·legal a la majoria de llocs, així que si proveu alguna cosa així, consulteu les vostres lleis locals;-)

Com que el tauler apareix com a disc USB quan el connecteu i CircuitPython ofereix aquesta característica, també podeu fer que el dispositiu registri transmissions de RF i deseu les dades demodulades (oh, sí, els transceptors ho fan automàticament) en un fitxer de text. que podeu copiar posteriorment al vostre PC i analitzar-los amb finalitats científiques com l'enginyeria inversa de transmissions.

Pas 5: Resultat final

Resultat final
Resultat final

Qualsevol comentari, suggeriment i contribució a aquest projecte és benvingut i no dubteu a fer preguntes si en teniu.

Recomanat: