Kazalo:

Python RF razvojni komplet: 5 korakov
Python RF razvojni komplet: 5 korakov

Video: Python RF razvojni komplet: 5 korakov

Video: Python RF razvojni komplet: 5 korakov
Video: Contain Yourself: введение в Docker и контейнеры Николы Кабара и Мано Маркса 2024, Julij
Anonim
Python RF razvojni komplet
Python RF razvojni komplet

Najprej bi rad malo predstavil, kako sem prišel v RF stvari in zakaj delam na tem projektu.

Kot študent računalništva z afiniteto do strojne opreme sem oktobra 2018 začel obiskovati nekatere tečaje, ki obravnavajo brezžične signale in varnost v brezžičnih komunikacijah. polica Arduino RF moduli.

Vprašanje je: SDR -ji niso dovolj prenosni za moje namene (vedno moram nositi prenosni računalnik, antene itd.) In poceni RF -moduli Arduino niso dovolj zmogljivi v smislu moči signala, prilagodljivosti, frekvenčnih območij in avtomatizacije.

Antene CC1101 podjetja Texas Instruments so odlična izbira za majhne, a zmogljive RF oddajnike, ki so tudi zelo poceni. Ljudje so z njimi ustvarili velike stvari, kot so SDR -ji DIY in podobne stvari.

Še ena stvar, ki sem jo želel obravnavati s to temo, je CircuitPython. To je nov programski jezik mikrokrmilnikov, o katerem sem slišal veliko dobrih stvari, zato sem ga želel preizkusiti. Izkazalo se je, da zelo uživam, še posebej v povezavi z Adafruit -jevo ploščo Feather M4 Express, ki jo uporabljam tudi pri tem projektu. Odpravljanje napak je zelo preprosto, saj vam ni treba sestavljati vdelanih programov po meri vsakič, ko poskusite z majhno spremembo kode, dobite konzolo REPL in vaša koda ostane tudi na samem mikrokrmilniku, kar pomeni, da jo lahko nosite, priključite v različne računalnike in vedno boste lahko spreminjali na poti.

1. korak: Strojne komponente

Komponente strojne opreme
Komponente strojne opreme

Za ponovitev tega projekta boste potrebovali:

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

V bistvu je to vse, kar potrebujete za zelo kompakten in zmogljiv RF oddajnik, vendar, kot vidite na sliki, ne bo zelo zanesljiv in urejen z vsemi temi mostičnimi žicami.

Zato sem z uporabo https://easyeda.com/ oblikoval PCB po meri in ga naročil na JLCPCB.com (zelo poceni in odlične kakovosti!), Da povežem vse skupaj. To je omogočilo tudi enostavno integracijo 3 gumbov in LED za vnose uporabnikov in izhode stanja.

In na koncu sem 3D natisnil majhen ovitek za hrbtno stran tiskanega vezja, da se ne bo nič izognil in sedel ravno na mizi.

Če ste novi pri oblikovanju elektronike in tiskanih vezij, vam priporočam, da si ogledate ta navodila: Osnovna elektronika, razred oblikovanja tiskanih vezij!

V prilogah najdete datoteke Gerber za moje tiskano vezje. Če se odločite za izdelavo, boste potrebovali nekaj dodatnih komponent, ki sem jih osebno naročil pri LCSC, saj so povezane z JLCPCB, zato ponujajo pošiljanje vsega skupaj, kar prihrani nekaj stroškov pošiljanja, komponente pa so tudi samo tam zelo poceni. Podroben seznam najdete v BOM. Za komponente SMD sem namenoma izbral veliko velikost paketa 0805, tako da jih lahko vsak ročno spajka na tiskano vezje!

2. korak: Izdelava odbora

Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora

Na prvi sliki lahko vidimo tiskane vezje brez kakršnih koli "sprememb" - prihajajo tako iz tovarne. Zelo čisti rezi (brez v-utora, popolnoma razrezani) in lepi vijaki na vseh luknjah THT.

Če želite uporabljati LED diode, jih boste morali spajati, pa tudi upore SMD. Upori so običajno skriti pod mikrokrmilnikom, vendar so vidni na drugi sliki, ki prikazuje popolnoma spajkano ploščo. Če nimate veliko izkušenj s spajkanjem, bi bilo lahko spajkanje SMD -ja nekoliko težavno, vendar je nekako neobvezno in vse osnovne komponente so THT. Vedno rad priporočam videoposnetke Davea (EEVblog) in pravzaprav sem si ogledal tega: EEVblog #186 - Vadnica za spajkanje, 3. del - Površinski nosilec. To je precej dolgo, vendar se splača, če ste novi v teh stvareh!

Omeni tudi to, vendar: najprej spajkajte upore in LED, nato gumbe na koncu in glave na koncu. Na ta način lahko z mizo vedno pritisnete na komponento od spodaj in spajkate od zgoraj (tiskano vezje je obrnjeno na glavo).

Ko vse spajkate, lahko preprosto priključite Feather M4 in eno ali dve anteni in strojna oprema je pripravljena! Ker teh komponent ne spajkamo, jih lahko vedno vzamemo s plošče in uporabimo za drug projekt, kar je super!

Upoštevajte, da imam na tretji sliki običajne kratke moške glave na perju, zato OLED -a nisem mogel zložiti na vrh. Moral sem jih odoljiti in dodati glave zlaganja perja. Če želite uporabiti OLED, si takoj priskrbite glave za zlaganje, iskreno: D Odpakiranje je le bolečina.

3. korak: Programska oprema

Ko je strojna oprema narejena, se pogovorimo o programski opremi.

Kot je bilo omenjeno v uvodu, M4 izvaja kodo Python, vendar očitno v jeziku Python ni knjižnice za CC1101. Tako sem naredil tisto, kar počnejo DIYers, in napisal svoje. Najdete ga tukaj:

Ne podpira vsega, kar zmorejo veliki oddajniki TI, vendar je dovolj, da preprosto pošljete in prejmete podatke, kodirane z ASK, na kateri koli frekvenci. S to knjižnico sem lahko komuniciral s stenskimi vtičnicami, ki so pod nadzorom RF, in z avtom moje družine.

Verjetno bom še naprej delal na tem in če imate kakršna koli vprašanja, zahteve po funkcijah ali želite prispevati k razvoju, me kontaktirajte!

4. korak: Zmožnosti in funkcije

Ker sem to napravo zasnoval za uporabo dvojnih anten in visoko nastavljivih oddajnikov TI CC1101, imate na voljo ogromno možnosti, še posebej na terenu, kjer ne želite imeti s seboj nič več kot napravo velikosti pametnega telefona.

Na primer, lahko zajamete komunikacijske signale v pasu 433MHz in jih pošljete nazaj na domačo postajo z sekundarno anteno, ki deluje na 868MHz.

Ali pa če želite študirati in eksperimentirati z reaktivnim motenjem, imate lahko poslušalno in motečo anteno, ki pošilja lastne signale takoj, ko je odkrit prenos, ne da bi pri tem uporabili "tradicionalno metodo" preklopa med RX in TX kot čim hitreje.

Druga zelo kul stvar pri Feather M4 je, da je opremljen z vgrajenim polnilnim vezjem LiPo, tako da samo priključite baterijo in ste pripravljeni za uporabo. V mojem primeru bi naprava z eno anteno v stalnem načinu RX, poslušanjem prenosov in vklopljenim zaslonom OLED delovala skoraj 20 ur na 1000 mAh LiPo.

Uporaba zaslona OLED - lahko pa tudi brez njega, npr. s tremi LED diodami stanja - lahko imate več programov in z gumbi na dnu plošče izberete, katerega želite zagnati. Osebno sem celo implementiral celoten meni z načini izbire in pogledom na nastavitev frekvence itd.

Morda bi celo prišlo v poštev za domačo avtomatizacijo! Kot sem že omenil, sem lahko uspešno komuniciral z električnimi vtičnicami (enkrat zajemite izvirne signale in jih predvajajte, kadar koli jih potrebujete), in če malo raziščete po internetu, boste hitro ugotovili, koliko naprav deluje tudi te frekvence z nespremenljivimi kodami. Tudi nekatere kode garaž lahko shranite in shranite s to napravo, nato pa jih uporabite, kadar koli morate odpreti ali zapreti garažo. Tako lahko to postane univerzalni daljinski upravljalnik za vse vaše RF naprave!

Osebno sem s to napravo ponovil napad RollJam, vendar kode ne bom izdal, saj je zatiranje v večini krajev nezakonito, zato, če poskusite kaj takega, se posvetujte z lokalno zakonodajo;-)

Ker se plošča prikaže, ko jo priključite, in CircuitPython ponuja takšno funkcijo, lahko naprava tudi snema RF -oddaje in shrani demodulirane podatke (oh ja, oddajniki to počnejo samodejno!) V besedilno datoteko ki jih lahko kasneje kopirate v računalnik in analizirate v znanstvene namene, na primer obratno inženiring prenosov.

5. korak: Končni rezultat

Končni rezultat
Končni rezultat

Vse povratne informacije, predlogi in prispevki k temu projektu so dobrodošli. Če imate, vprašajte.

Priporočena: