Obsah:

Vývojová sada Python RF: 5 kroků
Vývojová sada Python RF: 5 kroků

Video: Vývojová sada Python RF: 5 kroků

Video: Vývojová sada Python RF: 5 kroků
Video: NFC click by MikroE 2024, Červenec
Anonim
Vývojová sada Python RF
Vývojová sada Python RF

Nejprve bych chtěl trochu představit, jak jsem se dostal k RF věci a proč pracuji na tomto projektu.

Jako student informatiky s afinitou k hardwaru jsem v říjnu 2018 začal navštěvovat některé kurzy, které se zabývají bezdrátovými signály a zabezpečením v bezdrátové komunikaci. Rychle jsem začal experimentovat se softwarově definovanými rádii RTL-SDR a HackRF a s off-the- police RFu moduly Arduino.

Problém je: SDR nejsou pro mé účely dostatečně přenosné (vždy potřebuji mít notebook, antény atd.) A levné RF moduly Arduino nejsou dostatečně schopné, pokud jde o sílu signálu, přizpůsobitelnost, frekvenční rozsahy a automatizaci.

Antény CC1101 od společnosti Texas Instruments jsou skvělou volbou pro malé, ale schopné vysílače a přijímače RF, které jsou také velmi levné. Lidé s nimi vybudovali skvělé věci, jako jsou kutilské SDR a podobné věci.

Další věc, kterou jsem chtěl tímto tématem řešit, byl CircuitPython. Je to nový programovací jazyk od mikrokontrolérů, o kterém jsem slyšel spoustu dobrých věcí, takže jsem to chtěl vyzkoušet. Ukázalo se, že si to velmi užívám, zvláště ve spojení s deskou Feather M4 Express společnosti Adafruit, kterou také používám v tomto projektu. Je velmi snadné ladit, protože nemusíte kompilovat vlastní firmware pokaždé, když zkusíte malou změnu v kódu, získáte konzolu REPL a váš kód také zůstane na samotném mikrokontroléru, což znamená, že jej můžete přenášet, zapojit do různých počítačů a vždy budete moci provádět změny na cestách.

Krok 1: Hardwarové komponenty

Hardwarové komponenty
Hardwarové komponenty

Co budete potřebovat k replikaci tohoto projektu:

  • Adafruit Feather M4 Express
  • 2x transceiver Texas Instruments CC1101 + anténa
  • Adafruit FeatherWing OLED
  • 3,7 V LiPo

V podstatě je to vše, co potřebujete, abyste měli docela kompaktní a schopný RF transceiver, ale jak vidíte na obrázku, nebude to moc spolehlivé a uklizené se všemi těmi propojovacími vodiči.

Navrhl jsem tedy vlastní desku plošných spojů pomocí https://easyeda.com/ a objednal jsem ji z JLCPCB.com (velmi levné a skvělé kvality!), Abych vše spojil dohromady. To také umožnilo snadno integrovat 3 tlačítka a LED diody pro vstup uživatele a stavové výstupy.

A nakonec jsem 3D vytiskl malý kryt na zadní stranu desky plošných spojů, aby se nezkratoval proti ničemu a seděl rovně na stole.

Pokud jste v oblasti elektroniky a designu desek plošných spojů nováčci, doporučil bych vám prostudovat si tyto pokyny: Základní elektronika, Třída designu desek s plošnými spoji!

V přílohách najdete soubory Gerber pro můj PCB. Pokud se rozhodnete nechat jej vyrobit, budete potřebovat pár dalších komponent, které jsem osobně objednal u LCSC, protože jsou spojeny s JLCPCB, takže nabízejí odeslání všeho dohromady, což šetří trochu nákladů na dopravu a komponenty jsou také jen velmi levné tam. Podrobný seznam najdete v kusovníku. Záměrně jsem pro součástky SMD vybral velkou velikost balení 0805, aby je každý mohl ručně pájet na desku plošných spojů!

Krok 2: Sestavení rady

Budování rady
Budování rady
Budování rady
Budování rady
Budování rady
Budování rady

Na prvním obrázku můžeme vidět DPS bez provedených „úprav“- přicházejí takto z továrny. Velmi čisté řezy (bez v-drážky, zcela vedené) a pěkné průchodky na všech otvorech THT.

Pokud chcete použít LED diody, budete je muset pájet stejně jako SMD odpory. Rezistory jsou obvykle skryty pod mikrokontrolérem, ale jsou vidět na druhém obrázku, který ukazuje zcela pájenou desku. Pokud nemáte mnoho zkušeností s pájením, mohlo by být trochu složité pájet SMD, ale je to trochu volitelné a všechny základní součásti jsou THT. Vždy rád doporučuji videa Davea (EEVblog) a ve skutečnosti jsem se na toto díval sám: EEVblog #186 - Soldering Tutorial Part 3 - Surface Mount. Je to docela dlouhé, ale stojí to za to, pokud jste v této věci noví!

Zmiňuje to také, ale: postarejte se nejprve o pájení rezistorů a LED diod, poté o tlačítka druhá a nakonec o záhlaví. Tímto způsobem můžete vždy použít stůl k přitlačení na součást zespodu a pájení shora (PCB převrácená vzhůru nohama).

Po připájení všeho stačí připojit Feather M4 a jednu nebo dvě antény a hardware je připraven! Protože tyto součásti nepájíme, můžeme je vždy sundat z desky a použít je pro další projekt, což je skvělé!

Vezměte prosím na vědomí, že na třetím obrázku mám pravidelné, krátké mužské záhlaví na Peří, takže jsem nemohl na sebe naskládat OLED. Musel jsem je odpájet a přidat Feather stohovací záhlaví. Pokud chcete používat OLED, získejte hned stohovací záhlaví, upřímně: D Odpájení je prostě bolest.

Krok 3: Software

Když je hardware hotový, promluvme si o softwaru.

Jak již bylo zmíněno v úvodu, M4 spouští kód Pythonu, ale v jazyce Python zjevně neexistovala žádná knihovna pro CC1101. Udělal jsem tedy to, co dělají kutilové, a napsal své vlastní. Najdete ho zde:

Nepodporuje vše, čeho jsou skvělé vysílače TI schopné, ale stačí snadno odesílat a přijímat data kódovaná ASK na jakékoli frekvenci. Pomocí této knihovny jsem mohl komunikovat s vysokofrekvenčními nástěnnými zásuvkami i s rodinným autem.

Pravděpodobně na tom budu dál pracovat a pokud máte nějaké dotazy, požadavky na funkce nebo chcete přispět k vývoji, neváhejte mě kontaktovat!

Krok 4: Možnosti a funkce

Vzhledem k tomu, že jsem toto zařízení navrhl pro použití dvojitých antén a vysoce konfigurovatelných transceiverů TI CC1101, máte spoustu možností, zejména v oblasti, kde nechcete mít u sebe nic jiného než zařízení velikosti smartphonu.

Můžete například zachytit komunikační signály v pásmu 433 MHz a odeslat je zpět na svou domovskou stanici se sekundární anténou pracující na 868 MHz.

Nebo pokud chcete studovat a experimentovat s reaktivním rušením, můžete mít poslechovou a rušící anténu, která vysílá vlastní signály, jakmile je detekován přenos, aniž byste prováděli „tradiční metodu“pokusu o přepínání mezi RX a TX jako co nejrychleji.

Další velmi zajímavou věcí na Feather M4 je, že je dodáván s integrovaným nabíjecím obvodem LiPo, takže stačí připojit baterii a jste připraveni jít. V mém případě by s jednou anténou v režimu konstantního RX, poslechem přenosů a zapnutou OLED obrazovkou zařízení běželo téměř 20 hodin na 1000 mAh LiPo.

Použití OLED obrazovky - ale možné i bez ní, např. pomocí tří stavových LED - můžete mít více programů a pomocí tlačítek na spodní straně desky můžete vybrat, který chcete spustit. Osobně jsem dokonce implementoval celou nabídku s režimy, ze kterých si můžete vybrat, a zobrazení nastavení frekvence atd.

Může se to dokonce hodit pro nějakou domácí automatizaci! Jak jsem již zmínil, dokázal jsem úspěšně komunikovat s elektrickými zásuvkami (zachytit původní signály jednou a přehrát je, kdykoli to budete potřebovat) a pokud si trochu prozkoumáte internet, rychle zjistíte, kolik zařízení také funguje tyto frekvence s neměnnými kódy. Pomocí tohoto zařízení bylo možné zaznamenat a uložit i kódy některých garáží a poté je použít, kdykoli potřebujete otevřít nebo zavřít garáž. Takže se z toho může stát univerzální dálkový ovladač pro všechna vaše RF zařízení!

Osobně jsem kopíroval útok RollJam i na tomto zařízení, ale kód neuvolním, protože rušení je na většině míst nezákonné, takže pokud se pokusíte o něco podobného, konzultujte své místní zákony;-)

Vzhledem k tomu, že se deska po připojení zobrazí jako USB disk a CircuitPython takovou funkci nabízí, můžete také nechat zařízení zaznamenávat vysokofrekvenční přenosy a ukládat demodulovaná data (ano, transceivery to dělají automaticky!) Do textového souboru které můžete později zkopírovat do počítače a analyzovat pro vědecké účely, jako je reverzní inženýrství přenosů.

Krok 5: Konečný výsledek

Konečný výsledek
Konečný výsledek

Jakákoli zpětná vazba, návrhy a příspěvky k tomuto projektu jsou vítány a pokud máte nějaké dotazy, neváhejte se zeptat!

Doporučuje: