Sadržaj:

Python RF razvojni komplet: 5 koraka
Python RF razvojni komplet: 5 koraka

Video: Python RF razvojni komplet: 5 koraka

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

Prije svega, želio bih dati mali uvod o tome kako sam ušao u RF stvari i zašto radim na ovom projektu.

Kao student računarstva sa afinitetom prema hardveru, počeo sam pohađati neke tečajeve koji se bave bežičnim signalima i sigurnošću u bežičnim komunikacijama u listopadu 2018. Brzo sam počeo eksperimentirati s RTL-SDR i HackRF softverski definiranim radijskim prijemnicima i s off-the- polica Arduino RF moduli.

Problem je u tome što SDR -ovi nisu dovoljno prenosivi za moje potrebe (uvijek moram nositi prijenosno računalo, antene itd.), A jeftini Arduino RF moduli nisu dovoljno sposobni u smislu jačine signala, prilagodljivosti, frekvencijskih raspona i automatizacije.

Antene CC1101 tvrtke Texas Instruments odličan su izbor za male, ali sposobne RF primopredajnike koji su također vrlo jeftini. Ljudi su s njima izgradili velike stvari, poput DIY SDR -a i sličnih stvari.

Još jedna stvar koju sam htio obraditi ovom temom je CircuitPython. To je novi programski jezik iz mikrokontrolera o kojem sam čuo mnogo dobrih stvari pa sam ga htio isprobati. Ispostavilo se da jako uživam, posebno u kombinaciji s Adafruit -ovom Feather M4 Express pločom koju također koristim u ovom projektu. Otklanjanje pogrešaka vrlo je jednostavno jer ne morate sastavljati prilagođene firmware -e svaki put kada pokušate unijeti malu promjenu u kôd, dobivate REPL konzolu, a vaš kôd ostaje i na samom mikrokontroleru, što znači da ga možete nositi, priključiti na različitim računalima i uvijek ćete moći mijenjati stvari u pokretu.

Korak 1: Hardverske komponente

Hardverske komponente
Hardverske komponente

Što će vam trebati za ponavljanje ovog projekta:

  • Adafruit Feather M4 Express
  • 2x primopredajnik Texas Instruments CC1101 + antena
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

U biti, ovo je sve što vam je potrebno da biste imali prilično kompaktan i sposoban RF primopredajnik, ali kao što vidite na slici neće biti baš pouzdan i uredan sa svim tim kratkospojnicima.

Tako sam dizajnirao prilagođenu PCB ploču koristeći https://easyeda.com/ i naručio je s JLCPCB.com (vrlo jeftino i izvrsno!) Da povežem sve zajedno. To je također omogućilo jednostavnu integraciju 3 gumba i LED dioda za korisničke unose i izlaze statusa.

I na kraju, 3D sam ispisao mali omot za stražnju stranu PCB -a tako da neće ništa nestati i sjediti ravno na stolu.

Ako ste tek počeli s dizajnom elektronike i PCB -a, preporučio bih vam da provjerite ove upute: Osnovna elektronika, Klasa dizajna pločica!

U prilozima možete pronaći Gerberove datoteke za moju PCB. Ako se odlučite za njegovu proizvodnju, trebat će vam nekoliko dodatnih komponenti koje sam osobno naručio od LCSC -a, budući da su povezane s JLCPCB -om, pa nude sve zajedno, čime se štedi malo troškova dostave, a komponente su također samo tamo vrlo jeftino. Detaljan popis potražite u BOM -u. Namjerno sam odabrao veliko pakiranje veličine 0805 za SMD komponente kako bi ih svatko mogao ručno lemiti na PCB!

Korak 2: Izgradnja ploče

Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora

Na prvoj slici možemo vidjeti PCB -e bez ikakvih "izmjena" - dolaze ovako iz tvornice. Vrlo čisti rezovi (bez v-utora, potpuno usmjereni) i lijepi viasi na svim THT rupama.

Ako želite koristiti LED diode, morat ćete ih lemiti kao i SMD otpornike. Otpornici su obično skriveni ispod mikrokontrolera, ali su vidljivi na drugoj slici koja prikazuje potpuno lemljenu ploču. Ako nemate puno iskustva s lemljenjem, lemljenje SMD -a moglo bi biti malo nezgodno, ali to je nekako neobavezno i sve jezgrene komponente su THT. Uvijek volim preporučiti Daveove (EEVblog) videozapise i zapravo sam pogledao ovaj: EEVblog #186 - Vodič za lemljenje, dio 3 - Površinska montaža. Prilično je dugo, ali isplati se ako ste tek počeli s ovim stvarima!

Spominje i to, ali: pazite da prvo zalemite otpornike i LED diode, zatim druge gumbe i na kraju zaglavlja. Na ovaj način uvijek možete pomoću stola pritisnuti komponentu odozdo i lemiti odozgo (PCB je okrenut naopako).

Nakon što sve zalemite, možete samo priključiti Feather M4 i jednu ili dvije antene i hardver je spreman! Budući da ne lemimo ove komponente, uvijek ih možemo skinuti s ploče i upotrijebiti za neki drugi projekt, što je sjajno!

Imajte na umu da na trećoj slici imam redovna, kratka muška zaglavlja na Perju pa nisam mogao složiti OLED na vrh. Morao sam ih odspojiti i dodati zaglavlja za slaganje perja. Ako želite koristiti OLED, odmah nabavite naslove za slaganje, iskreno: D Raspakiranje je samo bol.

Korak 3: Softver

S gotovim hardverom, razgovarajmo o softveru.

Kao što je spomenuto u uvodu, M4 pokreće Python kod, ali očito nije postojala knjižnica za CC1101 u jeziku Python. Učinio sam ono što rade DIYers i napisao sam svoj. Možete ga pronaći ovdje:

Ne podržava sve za što su sposobni veliki primopredajnici TI, ali dovoljno je jednostavno slati i primati podatke kodirane ASK-om na bilo kojoj frekvenciji. Pomoću ove biblioteke mogao sam komunicirati sa zidnim utičnicama koje kontrolira RF, kao i s automobilom svoje obitelji.

Vjerojatno ću nastaviti raditi na tome, a ako imate pitanja, zahtjeve za značajkama ili želite pridonijeti razvoju, slobodno me kontaktirajte!

Korak 4: Sposobnosti i značajke

Budući da sam ovaj uređaj dizajnirao za korištenje dvostrukih antena i visoko konfigurabilnih primopredajnika TI CC1101, imate hrpu mogućnosti, osobito na terenu gdje ne želite nositi ništa više od uređaja veličine pametnog telefona.

Na primjer, možete snimiti komunikacijske signale u opsegu 433MHz i poslati ih natrag na svoju kućnu stanicu sa sekundarnom antenom koja radi na 868MHz.

Ili, ako želite proučavati i eksperimentirati s reaktivnim ometanjem, možete imati antenu za slušanje i ometanje koja šalje vlastite signale čim se otkrije prijenos, a da ne radite "tradicionalnu metodu" pokušaja prebacivanja između RX i TX kao što je brže moguće.

Još jedna super stvar kod Feather M4 je to što dolazi s ugrađenim LiPo krugom za punjenje pa samo priključite bateriju i spremni ste za rad. U mom slučaju, s jednom antenom u stalnom RX načinu rada, osluškivanjem prijenosa i uključenim OLED zaslonom, uređaj bi radio gotovo 20 sati na LiPo 1000 mAh.

Korištenje OLED zaslona - ali i moguće bez njega, npr. pomoću tri LED diode statusa - možete imati više programa i odabrati koji želite pokrenuti pomoću gumba na dnu ploče. Osobno sam čak implementirao cijeli izbornik s načinima odabira i prikazom postavke frekvencije itd.

To bi čak moglo doći u obzir za kućnu automatizaciju! Kao što sam spomenuo, uspio sam uspješno komunicirati s utičnicama (jednom uhvatiti izvorne signale i ponoviti ih kad god vam zatreba), a ako malo istražite na Internetu, brzo ćete otkriti koliko uređaja također radi ove frekvencije s kodovima koji se ne mijenjaju. Čak se i neki kodovi garaža mogu snimiti i spremiti s ovim uređajem, a zatim koristiti kad god trebate otvoriti ili zatvoriti garažu. Dakle, ovo može postati univerzalni daljinski upravljač za sve vaše RF uređaje!

Osobno sam ponovio napad RollJam-a i s ovim uređajem, ali neću objaviti kôd jer je ometanje na većini mjesta nezakonito, pa ako pokušate ovako nešto, obratite se lokalnim zakonima;-)

Budući da se ploča prikazuje kao USB disk kad je priključite, a CircuitPython nudi takvu značajku, možete također dati uređaju da snima RF prijenose i spremi demodulirane podatke (o da, primopredajnici to rade automatski!) U tekstualnu datoteku koje kasnije možete kopirati na svoje računalo i analizirati u znanstvene svrhe, poput obrnutog inženjeringa prijenosa.

Korak 5: Konačni rezultat

Konačni rezultat
Konačni rezultat

Sve povratne informacije, prijedlozi i doprinosi ovom projektu su dobrodošli i slobodno postavite pitanja ako ih imate!

Preporučeni: