Sisällysluettelo:

Python RF -kehityssarja: 5 vaihetta
Python RF -kehityssarja: 5 vaihetta

Video: Python RF -kehityssarja: 5 vaihetta

Video: Python RF -kehityssarja: 5 vaihetta
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Heinäkuu
Anonim
Python RF -kehityssarja
Python RF -kehityssarja

Ensinnäkin haluaisin esitellä pienen esittelyn siitä, miten pääsin RF -asioihin ja miksi työskentelen tämän projektin parissa.

Tietojenkäsittelytieteen opiskelijana, joka oli kiinnostunut laitteistosta, aloin käydä kursseilla, jotka käsittelevät langattomia signaaleja ja langattoman viestinnän turvallisuutta lokakuussa 2018. Aloin nopeasti kokeilla RTL-SDR- ja HackRF-ohjelmisto-määrittelemiä radioita ja hylly Arduino RF -moduulit.

Ongelma on: SDR: t eivät ole tarpeeksi kannettavia tarkoituksiini (aina kannettava kannettava tietokone, antennit jne.) Ja halvat Arduino RF -moduulit eivät kykene tarpeeksi signaalin voimakkuuden, muokattavuuden, taajuusalueiden ja automaation kannalta.

Texas Instrumentsin CC1101 -antennit ovat loistava valinta pienille mutta kykeneville RF -lähetin -vastaanottimille, jotka ovat myös erittäin halpoja. Ihmiset ovat rakentaneet heidän kanssaan suuria asioita, kuten DIY SDR -laitteita ja vastaavia.

Toinen asia, jonka halusin käsitellä tällä aiheella, oli CircuitPython. Se on uusi ohjelmointikieli mikrokontrollereilta, josta olen kuullut paljon hyvää, joten halusin kokeilla sitä. Kävi ilmi, että nautin siitä paljon, erityisesti yhdessä Adafruitin Feather M4 Express -levyn kanssa, jota käytän myös tässä projektissa. Virheenkorjaus on erittäin helppoa, koska sinun ei tarvitse kääntää mukautettuja laiteohjelmistoja joka kerta, kun yrität pientä muutosta koodissasi, saat REPL -konsolin ja koodi pysyy myös itse mikrokontrollerissa, mikä tarkoittaa, että voit kuljettaa sitä mukana, liittää sen eri tietokoneisiin ja voit aina tehdä muutoksia liikkeellä ollessasi.

Vaihe 1: Laitteiston osat

Laitteiston osat
Laitteiston osat

Tarvitset tämän projektin toistamiseen:

  • Adafruit Feather M4 Express
  • 2x Texas Instruments CC1101 lähetin -vastaanotin + antenni
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

Pohjimmiltaan tämä on kaikki mitä tarvitset saadaksesi melko pienikokoisen ja toimivan RF -lähetinvastaanottimen, mutta kuten näet kuvasta, se ei ole kovin luotettava ja siisti kaikkien näiden hyppyjohtojen kanssa.

Joten suunnittelin mukautetun piirilevyn käyttämällä https://easyeda.com/ ja tilasin sen JLCPCB.com -sivustolta (erittäin halpaa ja laadukasta!) Kaiken yhdistämiseksi. Tämä mahdollisti myös kolmen painikkeen ja LED -valon integroinnin helposti käyttäjän tulo- ja tilalähtöihin.

Ja lopuksi, 3D -tulostin pienen kannen piirilevyn takaosaan, jotta se ei lyö mitään vastaan ja istuu tasaisesti pöydälle.

Jos olet uusi elektroniikan ja piirilevyjen suunnittelussa, suosittelen tutustumaan näihin ohjeisiin: Elektroniikan perus, piirilevyjen suunnitteluluokka!

Liitteistä löydät piirilevyn Gerber -tiedostot. Jos päätät hankkia sen, tarvitset pari lisäkomponenttia, jotka tilasin henkilökohtaisesti LCSC: ltä, koska ne liittyvät JLCPCB: hen, joten ne tarjoavat kaiken toimittamisen yhdessä, mikä säästää hieman toimituskuluja ja komponentit ovat myös vain erittäin halpaa siellä. Katso luettelo yksityiskohtaisesta luettelosta. Valitsin tarkoituksellisesti suuren pakkauskoon 0805 SMD-komponenteille, jotta jokainen voi juottaa ne käsin piirilevylle!

Vaihe 2: Hallituksen rakentaminen

Hallituksen rakentaminen
Hallituksen rakentaminen
Hallituksen rakentaminen
Hallituksen rakentaminen
Hallituksen rakentaminen
Hallituksen rakentaminen

Ensimmäisessä kuvassa voimme nähdä piirilevyt ilman mitään "muutoksia" - ne tulevat tehtaalta. Erittäin siistit leikkaukset (ei v-uraa, täysin jyrsitty) ja mukavat läpiviennit kaikissa THT-reikissä.

Jos haluat käyttää LED -valoja, sinun on juotettava ne sekä SMD -vastukset. Vastukset ovat yleensä piilotettu mikrokontrollerin alle, mutta ne näkyvät toisessa kuvassa, joka näyttää täysin juotetun levyn. Jos sinulla ei ole paljon kokemusta juottamisesta, SMD: n juottaminen voi olla hieman hankalaa, mutta se on eräänlainen valinnainen ja kaikki ydinkomponentit ovat THT. Haluan aina suositella Dave (EEVblog): n videoita ja katsoin itse tämän: EEVblog #186 - Soldering Tutorial Part 3 - Surface Mount. Se on melko pitkä, mutta sen arvoinen, jos olet uusi näissä asioissa!

Hän mainitsee myös tämän, mutta: juota ensin vastukset ja LEDit, sitten painikkeet ja lopuksi otsikot. Tällä tavalla voit aina painaa pöytää työntääksesi komponenttia alhaalta ja juottaa ylhäältä (piirilevy käännetty ylösalaisin).

Kun olet juottanut kaiken päälle, voit kytkeä Feather M4: n ja yhden tai kaksi antennia ja laitteisto on valmis! Koska emme juota näitä osia, voimme aina ottaa ne pois levyltä ja käyttää niitä toiseen projektiin, mikä on hienoa!

Huomaa, että kolmannessa kuvassa minulla on tavalliset, lyhyet urospuoliskot höyhenissä, joten en voinut pinota OLEDia päälle. Minun oli purettava ne ja lisättävä Feather -pinoamisotsikot. Jos haluat käyttää OLEDia, hanki pinoamisotsikot heti, rehellisesti: D Juotteenpoisto on vain kipua.

Vaihe 3: Ohjelmisto

Kun laitteisto on valmis, puhutaan ohjelmistosta.

Kuten johdannossa mainittiin, M4 ajaa Python -koodia, mutta ilmeisesti CC1101 -kirjastoa ei ollut olemassa Python -kielellä. Joten tein mitä DIYers tekevät ja kirjoitin oman. Löydät sen täältä:

Se ei tue kaikkea, mitä suuret TI-lähetinvastaanottimet kykenevät, mutta se riittää lähettämään ja vastaanottamaan ASK-koodattua dataa millä tahansa taajuudella helposti. Pystyin kommunikoimaan RF-ohjattujen pistorasioiden kanssa ja perheeni auton kanssa käyttämällä tätä kirjastoa.

Voin todennäköisesti jatkaa työskentelyä sen parissa ja jos sinulla on kysyttävää, ominaisuuspyyntöjä tai haluat osallistua kehittämiseen, ota rohkeasti yhteyttä minuun!

Vaihe 4: Ominaisuudet ja ominaisuudet

Koska olen suunnitellut tämän laitteen käyttämään kaksinkertaisia antenneja ja erittäin konfiguroitavia TI CC1101 -lähetin-vastaanottimia, sinulla on paljon mahdollisuuksia, etenkin kentällä, jossa et halua kuljettaa mitään muuta kuin älypuhelimen kokoista laitetta.

Voit esimerkiksi kaapata 433 MHz: n kaistan viestintäsignaaleja ja lähettää ne takaisin kotiasemallesi 868 MHz: n toissijaisen antennin avulla.

Tai jos haluat opiskella ja kokeilla reaktiivista häirintää, sinulla voi olla kuuntelu- ja häiriöantenni, joka lähettää omat signaalinsa heti, kun lähetys havaitaan, tekemättä "perinteistä menetelmää" yrittää vaihtaa RX- ja TX - mahdollisimman nopeasti.

Toinen erittäin hieno asia Feather M4: ssä on, että sen mukana toimitetaan LiPo -latauspiiri, joten kytket vain akun ja olet valmis menemään. Minun tapauksessani, kun yksi antenni on jatkuvassa RX -tilassa, lähetyksiä kuunnellen ja OLED -näyttö päällä, laite toimisi lähes 20 tuntia 1000 mAh LiPo -laitteella.

OLED -näytön käyttö - mutta mahdollista myös ilman sitä, esim. käyttämällä kolmea tilan merkkivaloa - sinulla voi olla useita ohjelmia ja valita, mitä haluat käyttää, taulun alaosassa olevilla painikkeilla. Itse olen toteuttanut jopa koko valikon, jossa on valittavissa olevia tiloja ja taajuusasetusnäkymä jne.

Se voi jopa tulla käsiksi joihinkin kodin automaatioon! Kuten mainitsin, olen pystynyt kommunikoimaan pistorasioiden kanssa onnistuneesti (kaappaamaan alkuperäiset signaalit kerran ja toistamaan ne aina tarvittaessa), ja jos teet vähän tutkimusta Internetissä, huomaat nopeasti, kuinka monta laitetta myös toimii Näillä taajuuksilla ei ole jatkuvasti muuttuvia koodeja. Jopa joidenkin autotallien koodit voidaan tallentaa ja tallentaa tällä laitteella ja käyttää sitten aina, kun sinun täytyy avata tai sulkea autotallisi. Tästä voi siis tulla yleiskaukosäädin kaikille RF -laitteillesi!

Toistin henkilökohtaisesti myös RollJam-hyökkäyksen tällä laitteella, mutta en julkaise koodia, koska häirintä on laitonta useimmissa paikoissa, joten jos yrität jotain tällaista, tutustu paikallisiin lakeihin;-)

Koska kortti näkyy USB -levynä, kun kytket sen ja CircuitPython tarjoaa tällaisen ominaisuuden, voit myös pyytää laitetta tallentamaan RF -lähetykset ja tallentamaan demoduloidun datan (oi kyllä, lähetinvastaanottimet tekevät tämän automaattisesti!) Tekstitiedostoon. jonka voit myöhemmin kopioida tietokoneellesi ja analysoida tieteellisiin tarkoituksiin, kuten lähetysten käänteiseen suunnitteluun.

Vaihe 5: Lopputulos

Lopullinen tulos
Lopullinen tulos

Kaikki palaute, ehdotukset ja panokset tähän projektiin ovat tervetulleita ja kysy rohkeasti kysymyksiä!

Suositeltava: