Cuprins:

Kit de dezvoltare RF Python: 5 pași
Kit de dezvoltare RF Python: 5 pași

Video: Kit de dezvoltare RF Python: 5 pași

Video: Kit de dezvoltare RF Python: 5 pași
Video: ❌ 5 greseli pe care sa le eviti cand incepi in IT 2024, Iulie
Anonim
Kit de dezvoltare Python RF
Kit de dezvoltare Python RF

În primul rând, aș dori să fac o mică introducere despre modul în care am intrat în chestiunile RF și de ce lucrez la acest proiect.

În calitate de student la informatică, cu o afinitate pentru hardware, am început să particip la câteva cursuri care se ocupă de semnale wireless și securitate în comunicațiile fără fir în octombrie 2018. Am început rapid să experimentez cu radio-uri RTL-SDR și HackRF definite de software și cu radiouri off-the- raft module Arduino RF.

Problema este: SDR-urile nu sunt suficient de portabile pentru scopurile mele (trebuie întotdeauna să port un laptop, antene etc.) și modulele RF Arduino ieftine nu sunt suficient de capabile în ceea ce privește puterea semnalului, personalizarea, intervalele de frecvență și automatizare.

Antenele CC1101 de la Texas Instruments sunt o alegere excelentă pentru transceiverele RF mici, dar capabile, care sunt, de asemenea, foarte ieftine. Oamenii au construit lucruri grozave cu ei, cum ar fi SDR-uri DIY și lucruri de genul acesta.

Un alt lucru pe care am vrut să-l abordez cu acest subiect a fost CircuitPython. Este un nou limbaj de programare de la microcontrolere despre care am auzit multe lucruri bune, așa că am vrut să-l încerc. S-a dovedit că îmi place foarte mult, în special cuplat cu placa Feather M4 Express a lui Adafruit, pe care o folosesc și eu în acest proiect. Este foarte ușor de depanat, deoarece nu este nevoie să compilați firmware-uri personalizate de fiecare dată când încercați o mică modificare a codului, primiți o consolă REPL și codul dvs. rămâne și pe microcontroler, ceea ce înseamnă că îl puteți transporta, conectați-l pe diferite computere și veți putea face întotdeauna modificări în deplasare.

Pasul 1: Componente hardware

Componente hardware
Componente hardware

De ce veți avea nevoie pentru a reproduce acest proiect:

  • Adafruit Feather M4 Express
  • 2x Texas Instruments CC1101 Transceiver + Antenă
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

În esență, acesta este tot ce aveți nevoie pentru a avea un transceiver RF destul de compact și capabil, dar, după cum puteți vedea în imagine, nu va fi foarte fiabil și ordonat cu toate acele fire jumper.

Așa că am proiectat un PCB personalizat folosind https://easyeda.com/ și l-am comandat de la JLCPCB.com (foarte ieftin și de foarte bună calitate!) Pentru a conecta totul împreună. Acest lucru a permis, de asemenea, să integreze cu ușurință 3 butoane și LED-uri pentru intrările utilizatorului și ieșirile de stare.

Și, în cele din urmă, am imprimat 3D o copertă pentru partea din spate a PCB-ului, astfel încât să nu se scurteze de nimic și să stea plat pe masă.

Dacă sunteți nou în domeniul proiectării electronice și a PCB-urilor, aș recomanda să verificați aceste instructabile: Electronică de bază, Clasa de proiectare a circuitelor!

În atașamente puteți găsi fișierele Gerber pentru PCB-ul meu. Dacă decideți să îl fabricați, veți avea nevoie de câteva componente suplimentare pe care le-am comandat personal de la LCSC, deoarece acestea sunt asociate JLCPCB, astfel încât să ofere să livreze totul împreună, ceea ce economisește puțin costurile de expediere, iar componentele sunt, de asemenea, doar foarte ieftin acolo. Consultați BOM pentru lista detaliată. Am ales în mod intenționat dimensiunea mare a pachetului 0805 pentru componentele SMD, astfel încât toată lumea să le poată lipi manual pe PCB!

Pasul 2: Construirea consiliului

Construirea consiliului
Construirea consiliului
Construirea consiliului
Construirea consiliului
Construirea consiliului
Construirea consiliului

În prima imagine putem vedea PCB-urile fără nici o „modificare” făcută - vin astfel din fabrică. Tăieturi foarte curate (fără canelură în V, complet direcționate) și vii frumoase pe toate găurile THT.

Dacă doriți să utilizați LED-urile, va trebui să le lipiți, precum și rezistențele SMD. Rezistoarele sunt de obicei ascunse sub microcontroler, dar vizibile în a doua imagine care arată placa complet lipită. Dacă nu aveți multă experiență în lipire, ar putea fi puțin dificil să lipiți SMD, dar este un fel de opțional și toate componentele de bază sunt THT. Îmi place întotdeauna să recomand videoclipurile lui Dave (EEVblog) și chiar le-am urmărit eu: EEVblog # 186 - Tutorial de lipit Partea 3 - Suprafață. Este destul de lung, dar merită dacă sunteți nou în această chestiune!

El menționează și acest lucru, dar: aveți grijă să lipiți mai întâi rezistențele și LED-urile, apoi butoanele în al doilea rând și anteturile în cele din urmă. În acest fel, puteți folosi întotdeauna masa pentru a împinge componenta de jos și a lipi de sus (PCB răsturnat cu susul în jos).

După ce lipiți totul, puteți doar să conectați Feather M4 și una sau două antene și hardware-ul este gata! Deoarece nu lipim aceste componente, le putem scoate oricând de pe tablă și le putem folosi pentru un alt proiect care este minunat!

Vă rugăm să rețineți că în a treia imagine am anteturile masculine obișnuite și scurte pe Feather, așa că nu aș putea stiva OLED-ul deasupra. A trebuit să le desoldez și să adaug anteturi de stivuire Feather. Dacă doriți să utilizați OLED, obțineți anteturile de stivuire imediat, sincer: D Desoldering este doar o durere.

Pasul 3: Software

Cu hardware-ul terminat, să vorbim despre software.

Așa cum s-a menționat în introducere, M4 rulează codul Python, dar în mod evident nu exista o bibliotecă pentru CC1101 în limbajul Python. Așa că am făcut ceea ce fac bricolajii și am scris al meu. O puteți găsi aici:

Nu acceptă tot ceea ce sunt capabili marii transmițătoare TI, dar este suficient să trimiteți și să primiți date codificate ASK pe orice frecvență cu ușurință. Am putut comunica cu prize de perete controlate prin RF, precum și cu mașina familiei mele, folosind această bibliotecă.

Probabil că pot continua să lucrez la asta și dacă aveți întrebări, cereri de caracteristici sau doriți să contribuiți la dezvoltare, nu ezitați să mă contactați!

Pasul 4: Capabilități și caracteristici

Întrucât am proiectat acest dispozitiv pentru a utiliza antene duble și transmițătoarele TI CC1101 extrem de configurabile, aveți o mulțime de posibilități, mai ales în câmpul în care nu doriți să purtați nimic mai mult decât un dispozitiv de dimensiunea unui smartphone.

Puteți, de exemplu, să captați semnale de comunicații în banda de 433 MHz și să le trimiteți înapoi la stația de acasă cu antena secundară care funcționează pe 868 MHz.

Sau dacă doriți să studiați și să experimentați blocaje reactive, puteți avea o antenă de ascultare și o antenă de blocare care trimite propriile semnale imediat ce este detectată o transmisie, fără a face „metoda tradițională” de a încerca să comutați între RX și TX ca cât mai repede posibil.

Un alt lucru foarte interesant despre Feather M4 este că vine cu un circuit de încărcare LiPo la bord, astfel încât să conectați bateria și să fiți gata de utilizare. În cazul meu, cu o antenă în modul RX constant, ascultând transmisiile și ecranul OLED pornit, dispozitivul ar funcționa timp de aproape 20 de ore pe un LiPo de 1000 mAh.

Folosirea ecranului OLED - dar posibil și fără acesta, de ex. folosind cele trei LED-uri de stare - puteți avea mai multe programe și selectați care doriți să ruleze cu butoanele din partea de jos a plăcii. Personal am implementat chiar și un meniu întreg cu moduri din care să aleg și o vizualizare a setării frecvenței etc.

S-ar putea chiar să vină în mână pentru unele sisteme de automatizare a casei! Așa cum am menționat, am reușit să comunic cu succes cu prizele de energie (captați semnalele originale o dată și redați-le ori de câte ori aveți nevoie de ele) și dacă faceți un pic de cercetare pe Internet, veți găsi rapid câte dispozitive funcționează și pe aceste frecvențe cu coduri care nu se schimbă niciodată. Chiar și codurile unor garaje pot fi înregistrate și salvate cu acest dispozitiv și apoi utilizate ori de câte ori aveți nevoie pentru a vă deschide sau închide garajul. Deci, aceasta poate deveni o telecomandă universală pentru toate dispozitivele dvs. RF!

Personal am reprodus atacul RollJam și cu acest dispozitiv, dar nu voi elibera codul, deoarece blocarea este ilegală în majoritatea locurilor, așa că, dacă încercați așa ceva, consultați legile locale;-)

Deoarece placa apare ca un disc USB când îl conectați și CircuitPython oferă o astfel de caracteristică, puteți avea dispozitivul să înregistreze transmisii RF și să salvați datele demodulate (oh da, transceiver-urile fac acest lucru automat!) Într-un fișier text pe care ulterior îl puteți copia pe computer și analiza în scopuri științifice, cum ar fi ingineria inversă a transmisiilor.

Pasul 5: Rezultatul final

Rezultat final
Rezultat final

Orice feedback, sugestii și contribuții la acest proiect sunt binevenite și nu ezitați să puneți întrebări dacă aveți vreunul!

Recomandat: