Sisukord:

Python RF arenduskomplekt: 5 sammu
Python RF arenduskomplekt: 5 sammu

Video: Python RF arenduskomplekt: 5 sammu

Video: Python RF arenduskomplekt: 5 sammu
Video: Quick Intro to scikit-rf, a python library for RF engineering 2024, Juuli
Anonim
Python RF arenduskomplekt
Python RF arenduskomplekt

Kõigepealt tahaksin teha väikese sissejuhatuse, kuidas ma RF -kraami sattusin ja miks ma selle projektiga tegelen.

Riistvaraga seotud arvutiteaduse üliõpilasena hakkasin 2018. aasta oktoobris osalema mõnel kursusel, mis käsitleb traadita side signaale ja turvalisust. Hakkasin kiiresti katsetama RTL-SDR ja HackRF tarkvara määratletud raadioid ning riiul Arduino RF moodulid.

Probleem on selles, et SDR -id ei ole minu jaoks piisavalt kaasaskantavad (alati peab kaasas olema sülearvuti, antennid jne) ja odavad Arduino RF -moodulid ei ole piisavalt võimelised signaali tugevuse, kohandatavuse, sagedusvahemike ja automatiseerimise osas.

Texas Instrumentsi CC1101 antennid on suurepärane valik väikeste, kuid võimekate raadiosaatjate jaoks, mis on ka väga odavad. Inimesed on loonud nendega suurepäraseid asju, näiteks isetegemise SDR -e ja muud sellist.

Teine asi, mida tahtsin selle teemaga käsitleda, oli CircuitPython. See on mikrokontrollerite uus programmeerimiskeel, millest olen kuulnud palju häid asju, nii et tahtsin seda proovida. Selgus, et ma naudin seda väga, eriti koos Adafruit'i Feather M4 Expressi plaadiga, mida ma ka selles projektis kasutan. Seda on väga lihtne siluda, kuna te ei pea iga kord, kui proovite oma koodis väikest muudatust, kompileerida kohandatud püsivara, saate REPL -konsooli ja teie kood jääb ka mikrokontrollerile, mis tähendab, et saate seda kaasas kanda, ühendage see erinevatesse arvutitesse ja saate alati liikvel olles muudatusi teha.

Samm: riistvarakomponendid

Riistvara komponendid
Riistvara komponendid

Selle projekti kordamiseks on vaja järgmist:

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

Põhimõtteliselt on see kõik, mida vajate päris kompaktse ja võimsa raadiosaatja -vastuvõtja jaoks, kuid nagu pildilt näha, ei ole see kõigi nende hüppajajuhtmetega väga usaldusväärne ja korras.

Nii ma kujundasin kohandatud trükkplaadi, kasutades https://easyeda.com/ ja tellisin selle saidilt JLCPCB.com (väga odav ja suurepärane kvaliteet!), Et kõik omavahel ühendada. See võimaldas ka hõlpsasti integreerida 3 nuppu ja LED -d kasutaja sisendi ja oleku väljundite jaoks.

Ja lõpuks, printisin 3D -s väikese kaane PCB tagaküljele, nii et see ei jääks millegi vastu ja istuks lauale.

Kui olete elektroonika ja trükkplaatide disaini uus kasutaja, soovitan tutvuda järgmiste juhenditega: Elektroonika põhi, trükkplaadi disainiklass!

Manustest leiate minu PCB jaoks Gerberi failid. Kui otsustate selle lasta lasta, vajate paari lisakomponenti, mille ma isiklikult LCSC -lt tellisin, kuna need on seotud JLCPCB -ga, nii et nad pakuvad kõik koos kohaletoimetamist, mis säästab pisut saatmiskulusid ja komponendid on ka lihtsalt väga odav seal. Üksikasjalikku nimekirja leiate BOM -ist. Valisin tahtlikult SMD komponentide jaoks suure pakendi suuruse 0805, et kõik saaksid need käsitsi PCB-le jootma panna!

2. samm: juhatuse loomine

Juhatuse ehitamine
Juhatuse ehitamine
Juhatuse ehitamine
Juhatuse ehitamine
Juhatuse ehitamine
Juhatuse ehitamine

Esimesel pildil näeme trükkplaate ilma "muudatusteta" - need on tehasest sellised. Väga puhtad lõiked (ilma v-sooneta, täielikult läbiviidud) ja kõik THT augud kenad.

Kui soovite LED -e kasutada, peate need jootma, samuti SMD -takistid. Takistid on tavaliselt peidetud mikrokontrolleri alla, kuid on nähtavad teisel pildil, mis näitab täielikult joodetud plaati. Kui teil pole jootmisega palju kogemusi, võib SMD jootmine olla pisut keeruline, kuid see on omamoodi valikuline ja kõik põhikomponendid on THT. Mulle meeldib alati soovitada Dave'i (EEVblogi) videoid ja vaatasin seda ka ise: EEVblog #186 - Jootmisõpetus 3. osa - Surface Mount. See on päris pikk, kuid seda väärt, kui olete selle asjaga uus!

Ta mainib seda ka, kuid: hoolitsege selle eest, et jootate kõigepealt takistid ja LED -id, seejärel nupud ja seejärel päised. Nii saate alati laua abil suruda vastu komponenti alt ja jootma ülevalt (trükkplaat pööratakse tagurpidi).

Pärast kõike sisse jootmist saate lihtsalt ühendada Feather M4 ja ühe või kaks antenni ning riistvara on valmis! Kuna me ei joo neid komponente, saame need alati plaadilt eemaldada ja kasutada neid mõne muu suurepärase projekti jaoks!

Pange tähele, et kolmandal pildil on mul sulgedel tavalised, lühikesed isased päised, nii et ma ei saaks OLED -i virna virnastada. Pidin need lahti jootma ja lisama Featheri virnastamispäised. Kui soovite OLED -i kasutada, hankige kohe virnastamispäised, ausalt: D Lahtivõtmine on lihtsalt piin.

Samm: tarkvara

Kui riistvara on valmis, räägime tarkvarast.

Nagu sissejuhatuses mainitud, käivitab M4 Pythoni koodi, kuid ilmselgelt ei olnud ühtegi CC1101 raamatukogu Pythoni keeles. Nii et tegin seda, mida isetegijad teevad, ja kirjutasin oma. Selle leiate siit:

See ei toeta kõike, mida suurepärased TI transiiverid suudavad, kuid piisab ASK-kodeeritud andmete hõlpsaks saatmiseks ja vastuvõtmiseks mis tahes sagedusel. Selle raamatukogu abil sain suhelda nii RF-juhitavate seinakontaktidega kui ka oma pere autoga.

Tõenäoliselt jätkan selle kallal töötamist ja kui teil on küsimusi, funktsioonitaotlusi või soovite arengusse panustada, võtke minuga julgelt ühendust!

4. samm: võimalused ja funktsioonid

Kuna ma kavandasin selle seadme topeltantennide ja hästi konfigureeritavate TI CC1101 transiiverite kasutamiseks, on teil palju võimalusi, eriti selles valdkonnas, kus te ei soovi kaasas kanda midagi enamat kui nutitelefoni mõõtu seadet.

Näiteks saate jäädvustada 433 MHz sagedusalas side signaale ja saata need tagasi oma kodujaama, kasutades sekundaarset antenni, mis töötab sagedusel 868 MHz.

Või kui soovite uurida ja katsetada reaktiivset segamist, võib teil olla kuulamis- ja segamisantenn, mis saadab oma signaalid kohe, kui edastus on tuvastatud, tegemata „traditsioonilist meetodit”, milleks on RX ja TX vahel vahetamine. võimalikult kiiresti.

Teine väga lahe asi Feather M4 puhul on see, et see on varustatud LiPo laadimisahelaga, nii et ühendate aku lihtsalt vooluvõrku. Minu puhul, kui üks antenn on pidevas RX -režiimis, saateid kuulates ja OLED -ekraani sisse lülitatud, töötaks seade 1000 mAh LiPo -ga peaaegu 20 tundi.

OLED -ekraani kasutamine - aga võimalik ka ilma selleta, nt. kolme oleku LED -i abil - teil võib olla mitu programmi ja valida tahvli allosas asuvate nuppudega, millist soovite käivitada. Ma isiklikult rakendasin isegi terve menüü, kus oli režiime ja sageduse seadistamise vaade jne.

See võib isegi mõne koduautomaatika jaoks käepärast olla! Nagu ma mainisin, olen suutnud edukalt suhelda pistikupesadega (jäädvustada algsignaalid üks kord ja taasesitada neid alati, kui seda vajate). Kui uurite Internetis natuke, leiate kiiresti, kui palju seadmeid ka töötab need sagedused koos pidevalt muutuvate koodidega. Isegi mõne garaažikoodi saab selle seadmega salvestada ja salvestada ning seejärel kasutada alati, kui teil on vaja garaaži avada või sulgeda. Nii et sellest võib saada kõigi teie RF -seadmete universaalne kaugjuhtimispult!

Ma isiklikult kordasin RollJami rünnakut ka selle seadmega, kuid ei avalda koodi, kuna segamine on enamikus kohtades ebaseaduslik, nii et kui proovite midagi sellist, pidage nõu oma kohalike seadustega;-)

Kuna tahvel kuvatakse selle ühendamisel USB -kettana ja CircuitPython pakub sellist funktsiooni, saate lasta seadmel salvestada ka RF -ülekanded ja salvestada demoduleeritud andmed (oh jah, transiiverid teevad seda automaatselt!) Tekstifaili mida saate hiljem arvutisse kopeerida ja teaduslikel eesmärkidel analüüsida, näiteks edastuste pöördtehnoloogia.

5. samm: lõpptulemus

Lõpptulemus
Lõpptulemus

Igasugune tagasiside, ettepanekud ja panus sellesse projekti on teretulnud ning küsige julgelt küsimusi, kui teil neid on!

Soovitan: