Turinys:

Python RF kūrimo rinkinys: 5 žingsniai
Python RF kūrimo rinkinys: 5 žingsniai

Video: Python RF kūrimo rinkinys: 5 žingsniai

Video: Python RF kūrimo rinkinys: 5 žingsniai
Video: komandos kurimo pamoka 2024, Liepa
Anonim
Python RF kūrimo rinkinys
Python RF kūrimo rinkinys

Visų pirma norėčiau šiek tiek supažindinti su tuo, kaip aš patekau į RF dalykus ir kodėl dirbu ties šiuo projektu.

Būdamas informatikos studentas, besidomintis aparatine įranga, 2018 m. Spalio mėn. Pradėjau lankyti kai kuriuos kursus, susijusius su belaidžiais signalais ir belaidžio ryšio saugumu. Greitai pradėjau eksperimentuoti su RTL-SDR ir „HackRF“programinės įrangos radijo imtuvais bei ne lentynos „Arduino RF“moduliai.

Problema yra tokia: SDR nėra pakankamai nešiojami mano tikslams (visada reikia turėti nešiojamąjį kompiuterį, antenas ir pan.), O pigūs „Arduino“RF moduliai nėra pakankamai pajėgūs signalo stiprumo, pritaikymo, dažnių diapazono ir automatikos požiūriu.

CC1101 antenos iš „Texas Instruments“yra puikus pasirinkimas mažiems, bet galintiems RF siųstuvams -imtuvams, kurie taip pat yra labai pigūs. Žmonės su jais sukūrė puikių dalykų, pavyzdžiui, „pasidaryk pats“SDR ir panašius dalykus.

Kitas dalykas, kurį norėjau aptarti šia tema, buvo „CircuitPython“. Tai nauja programavimo kalba iš mikrovaldiklių, apie kuriuos girdėjau daug gerų dalykų, todėl norėjau tai išbandyti. Paaiškėjo, kad man tai labai patinka, ypač kartu su „Adafruit Feather M4 Express“lenta, kurią taip pat naudoju šiame projekte. Tai labai lengva derinti, nes nereikia kaskart rinkti pasirinktinės programinės įrangos, kai bandote šiek tiek pakeisti kodą, gausite REPL konsolę ir jūsų kodas taip pat lieka ant paties mikrovaldiklio, o tai reiškia, kad galite jį nešiotis, prijunkite į įvairius kompiuterius ir visada galėsite keisti kelyje.

1 žingsnis: aparatinės įrangos komponentai

Techninės įrangos komponentai
Techninės įrangos komponentai

Ko jums reikia norint pakartoti šį projektą:

  • „Adafruit Feather M4 Express“
  • 2x „Texas Instruments CC1101“siųstuvas -imtuvas + antena
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

Iš esmės tai yra viskas, ko jums reikia norint turėti gana kompaktišką ir galingą RF siųstuvą -imtuvą, tačiau, kaip matote paveikslėlyje, jis nebus labai patikimas ir tvarkingas naudojant visus tuos trumpiklius.

Taigi aš sukūriau pasirinktinę PCB naudodami https://easyeda.com/ ir užsisakiau ją iš JLCPCB.com (labai pigu ir puiki kokybė!), Kad viską sujungčiau. Tai taip pat leido lengvai integruoti 3 mygtukus ir šviesos diodus vartotojo įvesties ir būsenos išvestims.

Ir galiausiai, 3D atspausdinau nedidelį PCB užpakalinės dalies viršelį, kad jis nieko netrumpėtų ir nesėdėtų ant stalo.

Jei esate naujokas elektronikos ir PCB dizaino srityje, rekomenduočiau patikrinti šias instrukcijas: Pagrindinė elektronika, plokštės dizaino klasė!

Prieduose galite rasti mano PCB „Gerber“failus. Jei nuspręsite jį gaminti, jums reikės poros papildomų komponentų, kuriuos aš asmeniškai užsisakiau iš LCSC, nes jie yra susiję su JLCPCB, todėl jie siūlo išsiųsti viską kartu, o tai sutaupo šiek tiek siuntimo išlaidų, o komponentai taip pat yra tik ten labai pigu. Išsamų sąrašą rasite BOM. Aš tyčia pasirinkau didelį 0805 pakuotės dydį SMD komponentams, kad kiekvienas galėtų juos rankiniu būdu lituoti ant PCB!

2 žingsnis: valdybos kūrimas

Valdybos kūrimas
Valdybos kūrimas
Valdybos kūrimas
Valdybos kūrimas
Valdybos kūrimas
Valdybos kūrimas

Pirmame paveikslėlyje matome PCB be jokių „modifikacijų“- jos tokios gamykloje. Labai švarūs pjūviai (be „V“formos griovelio, visiškai nubrėžti) ir gražios visos THT skylės.

Jei norite naudoti šviesos diodus, turėsite juos lituoti, taip pat SMD rezistorius. Rezistoriai paprastai yra paslėpti po mikrovaldikliu, bet matomi antrame paveikslėlyje, kuriame parodyta visiškai lituota plokštė. Jei neturite daug patirties litavimo srityje, SMD litavimas gali būti šiek tiek sudėtingas, tačiau tai yra neprivaloma ir visi pagrindiniai komponentai yra THT. Aš visada mėgstu rekomenduoti Dave'o (EEVblog) vaizdo įrašus ir iš tikrųjų žiūrėjau šį: EEVblog #186 - Litavimo pamoka 3 dalis - Paviršinis tvirtinimas. Tai gana ilgas, bet verta, jei esate naujokas šioje medžiagoje!

Jis taip pat mini tai, bet: pasirūpinkite, kad pirmiausia lituotumėte rezistorius ir šviesos diodus, o paskui mygtukus, o galiausiai - antraštes. Tokiu būdu visada galite staliuką stumti nuo komponento iš apačios ir lituoti iš viršaus (PCB apverstas aukštyn kojom).

Lituodami viską, galite tiesiog prijungti „Feather M4“ir vieną ar dvi antenas, o aparatūra yra paruošta! Kadangi šių komponentų neviriname, mes visada galime juos nuimti nuo lentos ir panaudoti kitam projektui, kuris yra puikus!

Atkreipkite dėmesį, kad trečioje nuotraukoje ant plunksnos yra įprastos, trumpos vyriškos antraštės, todėl negalėjau sukrauti OLED ant viršaus. Turėjau juos išlydyti ir pridėti plunksnų kraunamų antraščių. Jei norite naudoti OLED, iš karto gaukite kaupimo antraštes, sąžiningai: D Lydymasis yra tik skausmas.

3 žingsnis: programinė įranga

Kai aparatūra bus padaryta, pakalbėkime apie programinę įrangą.

Kaip minėta įžangoje, „M4“vykdo „Python“kodą, tačiau akivaizdu, kad jokios „CC1101“bibliotekos „Python“kalba nebuvo. Taigi aš padariau tai, ką daro „pasidaryk pats“, ir parašiau savo. Ją rasite čia:

Tai nepalaiko visko, ką sugeba didieji TI siųstuvai-imtuvai, tačiau pakanka lengvai siųsti ir gauti ASK koduotus duomenis bet kokiu dažniu. Naudodamasi šia biblioteka, galėjau bendrauti su RF valdomais sieniniais lizdais ir savo šeimos automobiliu.

Tikriausiai galiu tęsti darbą ir, jei turite klausimų, funkcijų užklausų ar norite prisidėti prie kūrimo, nedvejodami susisiekite su manimi!

4 žingsnis: galimybės ir funkcijos

Kadangi aš sukūriau šį įrenginį naudodamas dvigubas antenas ir labai konfigūruojamus TI CC1101 siųstuvus-imtuvus, jūs turite daugybę galimybių, ypač toje srityje, kur nenorite nešiotis nieko daugiau nei išmaniojo telefono dydžio įrenginį.

Pavyzdžiui, galite užfiksuoti 433 MHz dažnių juostos ryšio signalus ir išsiųsti juos atgal į savo namų stotį, kai antrinė antena veikia 868 MHz dažniu.

Arba, jei norite mokytis ir eksperimentuoti su reaktyviu trukdymu, galite turėti klausymo ir trukdymo anteną, kuri siunčia savo signalus, kai tik aptinkamas perdavimas, neatliekant „tradicinio metodo“, bandant perjungti RX ir TX kaip kuo greičiau.

Kitas labai įdomus „Feather M4“dalykas yra tas, kad jame yra įmontuota „LiPo“įkrovimo grandinė, todėl tiesiog prijunkite akumuliatorių ir būsite pasiruošę veikti. Mano atveju, esant vienai antenai nuolatiniame RX režime, klausantis transliacijų ir įjungus OLED ekraną, prietaisas veiktų beveik 20 valandų naudojant 1000 mAh LiPo.

Naudojant OLED ekraną - bet galima ir be jo, pvz. naudojant tris būsenos šviesos diodus - galite turėti kelias programas ir pasirinkti, kurią norite paleisti, naudodami mygtukus lentos apačioje. Aš asmeniškai netgi įdiegiau visą meniu su pasirinktais režimais ir dažnio nustatymo vaizdu ir pan.

Tai netgi gali būti naudinga kai kuriai namų automatizavimui! Kaip jau minėjau, man pavyko sėkmingai bendrauti su elektros lizdais (vieną kartą užfiksuoti pradinius signalus ir juos pakartoti, kai tik to reikia), o jei šiek tiek ištyrinėsite internete, greitai sužinosite, kiek įrenginių taip pat veikia šiuos dažnius su nesikeičiančiais kodais. Net kai kurių garažų kodus galima įrašyti ir išsaugoti naudojant šį įrenginį, o tada naudoti, kai reikia atidaryti ar uždaryti garažą. Taigi tai gali tapti universaliu visų jūsų RF įrenginių nuotolinio valdymo pultu!

Aš asmeniškai pakartojau „RollJam“ataką ir šiuo prietaisu, bet neatskleisiu kodo, nes trukdymas daugelyje vietų yra neteisėtas, todėl jei bandysite ką nors panašaus, pasikonsultuokite su vietiniais įstatymais;-)

Kadangi plokštė rodoma kaip USB diskas, kai ją prijungiate, o „CircuitPython“siūlo tokią funkciją, taip pat galite leisti įrenginiui įrašyti RF transliacijas ir išsaugoti demoduliuotus duomenis (o taip, siųstuvas -imtuvai tai daro automatiškai!) Į tekstinį failą kurią vėliau galėsite nukopijuoti į savo kompiuterį ir išanalizuoti mokslo tikslais, pvz., atvirkštinę transmisijų inžineriją.

5 žingsnis: galutinis rezultatas

Galutinis rezultatas
Galutinis rezultatas

Bet kokie atsiliepimai, pasiūlymai ir indėlis į šį projektą yra laukiami ir, jei turite, nedvejodami užduokite klausimus!

Rekomenduojamas: