Obsah:
- Krok 1: Hardvérové súčasti
- Krok 2: Zostavenie rady
- Krok 3: Softvér
- Krok 4: Možnosti a funkcie
- Krok 5: Konečný výsledok
Video: Vývojová sada Python RF: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Najprv by som chcel trochu predstaviť, ako som sa dostal k veciam RF a prečo pracujem na tomto projekte.
Ako študent informatiky so zameraním na hardvér som v októbri 2018 začal navštevovať niekoľko kurzov, ktoré sa zaoberajú bezdrôtovými signálmi a bezpečnosťou v bezdrôtovej komunikácii. Rýchlo som začal experimentovať so softvérovo definovanými vysielačkami RTL-SDR a HackRF a s off-the- policové moduly Arduino RF.
Problém je: SDR nie sú na moje účely dostatočne prenosné (vždy potrebujem prenosný počítač, antény atď.) A lacné RF moduly Arduino nie sú dostatočne schopné, pokiaľ ide o silu signálu, prispôsobiteľnosť, frekvenčné rozsahy a automatizáciu.
Antény CC1101 od spoločnosti Texas Instruments sú skvelou voľbou pre malé, ale výkonné rádiové vysielače a prijímače, ktoré sú tiež veľmi lacné. Ľudia s nimi vybudovali skvelé veci, ako sú SDR pre domácich majstrov a podobné veci.
Ďalšou vecou, ktorej som sa chcel touto témou venovať, bol CircuitPython. Je to nový programovací jazyk od mikrokontrolérov, o ktorom som počul veľa dobrých vecí, a tak som to chcel vyskúšať. Ukázalo sa, že si to veľmi užívam, najmä v spojení s doskou Adafruit Feather M4 Express, ktorú tiež používam v tomto projekte. Je veľmi jednoduché ladiť, pretože nemusíte zostavovať vlastné firmvéry zakaždým, keď vyskúšate malú zmenu v kóde, získate konzolu REPL a váš kód zostane aj na samotnom mikrokontroléri, čo znamená, že ho môžete nosiť so sebou, zapojiť do rôznych počítačov a vždy budete môcť vykonávať zmeny na cestách.
Krok 1: Hardvérové súčasti
Čo budete potrebovať na replikáciu tohto projektu:
- Adafruit Feather M4 Express
- 2x transceiver Texas Instruments CC1101 + anténa
- Adafruit FeatherWing OLED
- 3,7 V LiPo
V zásade je to všetko, čo potrebujete k tomu, aby ste mali celkom kompaktný a schopný RF transceiver, ale ako vidíte na obrázku, so všetkými tými prepojovacími vodičmi to nebude veľmi spoľahlivé a upratané.
Tak som navrhol vlastnú PCB pomocou https://easyeda.com/ a objednal som si ju z JLCPCB.com (veľmi lacná a skvelá kvalita!), Aby som všetko spojil. To tiež umožnilo ľahko integrovať 3 tlačidlá a diódy LED pre vstup a stavové výstupy používateľa.
A nakoniec som 3D vytlačil malý kryt na zadnú stranu DPS, aby sa pred ničím neskratoval a sedel rovno na stole.
Ak ste novým dizajnom v oblasti elektroniky a plošných spojov, odporučil by som vám pozrieť si tieto pokyny: základná elektronika, trieda dizajnu obvodových dosiek!
V prílohách nájdete súbory Gerber pre moju DPS. Ak sa rozhodnete nechať ho vyrobiť, budete potrebovať niekoľko ďalších komponentov, ktoré som si osobne objednal u spoločnosti LCSC, pretože sú prepojené s JLCPCB, takže ponúkajú odoslanie všetkého spoločne, čo šetrí malé náklady na dopravu a súčiastky sú tiež jednoduché. veľmi lacné tam. Podrobný zoznam nájdete v kusovníku. Zámerne som vybral veľkú veľkosť balenia 0805 pre komponenty SMD, aby ich každý mohol ručne spájkovať na DPS!
Krok 2: Zostavenie rady
Na prvom obrázku môžeme vidieť DPS bez vykonaných „úprav“- prichádzajú takto z továrne. Veľmi čisté rezy (bez v-drážky, úplne vedené) a pekné priechodky na všetkých otvoroch THT.
Ak chcete použiť LED diódy, budete ich musieť spájkovať rovnako ako rezistory SMD. Rezistory sú zvyčajne skryté pod mikrokontrolérom, ale sú viditeľné na druhom obrázku, ktorý ukazuje úplne spájkovanú dosku. Ak nemáte veľa skúseností s spájkovaním, spájkovanie SMD môže byť trochu náročné, ale je to druh voliteľného príslušenstva a všetky základné komponenty sú THT. Vždy rád odporučím videá Davea (EEVblog) a v skutočnosti som si ich pozrel sám: EEVblog #186 - Tutorial Soldering, časť 3 - Povrchová montáž. Je to dosť dlhé, ale stojí za to, ak ste v týchto veciach noví!
Tiež to spomína, ale: najskôr spájkujte odpory a diódy LED, potom tlačidlá a potom záhlavia. Týmto spôsobom môžete stolík vždy tlačiť na súčiastku zospodu a spájkovať zhora (doska plošných spojov je otočená hore nohami).
Po spájkovaní všetkého stačí zapojiť Feather M4 a jednu alebo dve antény a hardvér je pripravený! Pretože tieto súčiastky nespájkujeme, vždy ich môžeme zložiť z dosky a použiť ich na ďalší projekt, ktorý je skvelý!
Vezmite prosím na vedomie, že na treťom obrázku mám pravidelné, krátke mužské hlavičky na Feather, takže som nemohol naskladať OLED na vrch. Musel som ich odspájkovať a pridať hlavičky stohovania Feather. Ak chcete použiť OLED, získajte si hneď stohovacie hlavičky, úprimne: D Odpájanie je len utrpenie.
Krok 3: Softvér
Po dokončení hardvéru sa porozprávajme o softvéri.
Ako bolo uvedené v úvode, M4 beží kód Python, ale v jazyku Python evidentne neexistovala žiadna knižnica pre CC1101. Urobil som teda to, čo robia majitelia domov, a napísal som vlastné. Nájdete ho tu:
Nepodporuje všetko, čo sú skvelé transceivery TI schopné, ale stačí jednoducho odosielať a prijímať údaje kódované ASK na akejkoľvek frekvencii. Pomocou tejto knižnice som dokázal komunikovať s nástennými zásuvkami ovládanými RF, ako aj s autom mojej rodiny.
Pravdepodobne budem na tom pokračovať v práci a ak máte akékoľvek otázky, požiadavky na funkcie alebo ak chcete prispieť k vývoju, neváhajte ma kontaktovať!
Krok 4: Možnosti a funkcie
Keďže som toto zariadenie navrhol tak, aby používalo dvojité antény a vysoko konfigurovateľné transceivery TI CC1101, máte veľa možností, najmä v teréne, kde nechcete mať so sebou nič iné ako zariadenie veľkosti smartfónu.
Môžete napríklad zachytiť komunikačné signály v pásme 433 MHz a odoslať ich späť na svoju domovskú stanicu so sekundárnou anténou fungujúcou na frekvencii 868 MHz.
Alebo ak chcete študovať a experimentovať s reaktívnym rušením, môžete mať posluchovú a rušiacu anténu, ktorá vysiela vlastné signály hneď, ako je detekovaný prenos, bez toho, aby ste sa „tradičným spôsobom“pokúšali prepínať medzi RX a TX ako čo najrýchlejšie.
Ďalšou veľmi zaujímavou vecou na Feather M4 je, že je dodávaný s integrovaným nabíjacím obvodom LiPo, takže stačí zapojiť batériu a môžete ísť. V mojom prípade by s jednou anténou v konštantnom režime RX, počúvaním prenosov a zapnutou obrazovkou OLED zariadenie bežalo takmer 20 hodín na 1 000 mAh LiPo.
Použitie OLED obrazovky - ale dá sa to aj bez nej, napr. pomocou troch stavových diód LED - môžete mať viacero programov a pomocou tlačidiel na spodnej strane dosky môžete vybrať ten, ktorý chcete spustiť. Osobne som dokonca implementoval celú ponuku s režimami na výber a zobrazením nastavenia frekvencie atď.
Dokonca to môže prísť vhod aj pre domácu automatizáciu! Ako som už spomenul, podarilo sa mi úspešne komunikovať s elektrickými zásuvkami (zachyťte pôvodné signály raz a znova ich prehrávajte, kedykoľvek to potrebujete) a ak si urobíte malý prieskum na internete, rýchlo zistíte, koľko zariadení funguje aj na tieto frekvencie s nikdy sa nemeniacimi kodmi. S týmto zariadením bolo možné zaznamenať a uložiť aj kódy niektorých garáží a potom ich použiť vždy, keď potrebujete otvoriť alebo zatvoriť garáž. Takže sa to môže stať univerzálnym diaľkovým ovládaním pre všetky vaše RF zariadenia!
Osobne som replikoval útok RollJam aj na tomto zariadení, ale kód neuvoľním, pretože rušenie je vo väčšine miest nezákonné, takže ak sa pokúsite o niečo podobné, poraďte sa s miestnymi zákonmi;-)
Pretože sa doska po pripojení zobrazí ako USB disk a CircuitPython takúto funkciu ponúka, môžete zariadenie nechať tiež nahrávať vysokofrekvenčné prenosy a ukladať demodulované údaje (áno, transceivery to robia automaticky!) Do textového súboru. ktoré môžete neskôr skopírovať do počítača a analyzovať na vedecké účely, ako je reverzné inžinierstvo prenosov.
Krok 5: Konečný výsledok
Akákoľvek spätná väzba, návrhy a príspevky k tomuto projektu sú vítané a ak máte nejaké otázky, pokojne sa pýtajte!
Odporúča:
Kompletná sada webového rozhrania Python pre PhidgetSBC3: 6 krokov
Kompletná sada webového rozhrania Python pre PhidgetSBC3: doska PhidgetSBC3 je plne funkčný jednodoskový počítač so systémom Debain Linux. Je podobný malinovému Pi, ale má 8 analógových senzorových vstupov a 8 digitálnych vstupov a 8 digitálnych výstupov. Dodáva sa s webovým serverom a webovou aplikáciou, ktoré
Sada MIDI bicích pre Python a Arduino: 5 krokov (s obrázkami)
MIDI súprava bicích nástrojov pre Python a Arduino: Od malička som si vždy chcel kúpiť súpravu bicích nástrojov. V tom čase všetky hudobné zariadenia nemali všetky digitálne aplikácie, ako ich máme dnes veľa, a preto boli ceny spolu s očakávaniami príliš vysoké. Nedávno som sa rozhodol kúpiť c
Vývojová rada AVR: 3 kroky
Vývojová rada AVR: Internet je plný projektov s Arduino. Informácie o mikrokontroléri ATMEGA328 chvíľu chýbajú vo všetkých údajoch Arduino. Tento Insctructable chce oživiť začiatok vývoja projektov pomocou mikrokontroléra AVR
UDuino: Veľmi nízka cena kompatibilná vývojová doska kompatibilná s Arduino: 7 krokov (s obrázkami)
UDuino: Veľmi lacná vývojová doska kompatibilná s Arduino: Dosky Arduino sú skvelé na prototypovanie. Sú však dosť drahé, ak máte viacero súbežných projektov alebo potrebujete veľa radičov pre väčší projekt. Existuje niekoľko skvelých, lacnejších alternatív (Boarduino, Freeduino), ale
Vývojová doska Atmega16/32 s LCD: 8 krokov
Vývojová doska Atmega16/32 s LCD: Tento návod ukazuje, ako si vytvoriť vlastnú vývojovú dosku pre procesory Atmega16 alebo Atmega32. Internet je plný domácich doskových vývojových dosiek, ale myslím si, že zostáva priestor pre ďalšiu. Táto doska bola veľmi užitočná pri mojom projekte