Мазмұны:

Python RF дамыту жинағы: 5 қадам
Python RF дамыту жинағы: 5 қадам

Бейне: Python RF дамыту жинағы: 5 қадам

Бейне: Python RF дамыту жинағы: 5 қадам
Бейне: 06.10.2020 - 11-сынып 2024, Маусым
Anonim
Python RF дамыту жинағы
Python RF дамыту жинағы

Ең алдымен, мен РФ -ға қалай кіргенім және бұл жобада не үшін жұмыс жасайтыным туралы қысқаша мәлімет бергім келеді.

Аппараттық құралдарға жақын компьютерлік студент ретінде мен 2018 жылдың қазанында сымсыз сигналдар мен сымсыз байланыстың қауіпсіздігіне қатысты кейбір курстарға бара бастадым. Мен RTL-SDR және HackRF бағдарламалық қамтамасыз етуімен анықталған радиостанциялармен тез жұмыс жасай бастадым. сөре Arduino RF модульдері.

Мәселе мынада: SDR -лар менің мақсатым үшін жеткілікті портативті емес (әрқашан ноутбук, антенналар және т.

Texas Instruments CC1101 антенналары шағын, бірақ қабілетті радиожиілік қабылдағыштар үшін тамаша таңдау болып табылады, олар өте арзан. Адамдар олармен DIY SDR сияқты керемет нәрселер жасады.

Мен осы тақырыппен айналысқым келетін тағы бір нәрсе - CircuitPython. Бұл микроконтроллерлердің жаңа бағдарламалау тілі, мен көптеген жақсы нәрселерді естідім, сондықтан мен оны сынап көргім келді. Бұл маған өте ұнайтыны белгілі болды, әсіресе мен бұл жобада қолданатын Adafruit's Feather M4 Express тақтасымен бірге. Отладка жасау өте оңай, себебі кодты өзгертуге тырысқан сайын арнайы бағдарламалық жасақтаманы жинаудың қажеті жоқ, сізде REPL консолі болады және сіздің кодыңыз микроконтроллердің өзінде қалады, яғни сіз оны алып жүре аласыз. Әр түрлі компьютерлерге енгізіңіз, сонда сіз әрқашан жолда өзгерістер жасай аласыз.

1 -қадам: аппараттық компоненттер

Аппараттық компоненттер
Аппараттық компоненттер

Бұл жобаны қайталау үшін сізге қажет:

  • Adafruit қауырсыны M4 Express
  • 2x Texas Instruments CC1101 қабылдағыш + антенна
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

Негізінде бұл өте ықшам және қабілетті радиожиіліктік қабылдағышқа ие болу үшін қажет нәрсе, бірақ суретте көріп тұрғандай, бұл барлық өтпелі сымдармен өте сенімді және ұқыпты болмайды.

Сондықтан мен https://easyeda.com/ көмегімен арнайы ПХД құрастырдым және бәрін JLCPCB.com сайтынан тапсырыс бердім (өте арзан және сапалы!). Бұл сонымен қатар пайдаланушы кірісі мен күйін шығару үшін 3 түйме мен жарықдиодты оңай біріктіруге мүмкіндік берді.

Ақырында, мен ПХД -ның артқы жағына кішкене мұқаба басып шығардым, сондықтан ол ештеңеге жетпейді және үстелге жайғасады.

Егер сіз электроника мен ПХД дизайнын жаңадан білетін болсаңыз, мен мына нұсқауларды тексеруді ұсынар едім: негізгі электроника, тізбекті конструкциялар класы!

Тіркемелерде сіз менің ПХД үшін Gerber файлдарын таба аласыз. Егер сіз оны өндіруді шешсеңіз, сізге мен LCSC -тен тапсырыс берген бірнеше қосымша компоненттер қажет болады, өйткені олар JLCPCB -мен байланысты, сондықтан олар барлығын бірге жеткізуді ұсынады, бұл жеткізу шығындарын аз үнемдейді және компоненттер де қарапайым онда өте арзан. Егжей -тегжейлі тізімді БМ қараңыз. Мен әдейі SMD компоненттері үшін 0805 пакеттің үлкен мөлшерін таңдадым, сондықтан бәрі оларды ПХД-ге дәнекерлей алады!

2 -қадам: тақтаны құру

Тақтаны құру
Тақтаны құру
Тақтаны құру
Тақтаны құру
Тақтаны құру
Тақтаны құру

Бірінші суретте біз ПХД -ны ешқандай «өзгертулерсіз» көре аламыз - олар зауыттан осылай келеді. THT саңылауларының барлығында өте таза кесінділер (ойықсыз, толық емес).

Егер сіз жарықдиодты қолданғыңыз келсе, оларды SMD резисторларымен бірге дәнекерлеуге тура келеді. Резисторлар әдетте микроконтроллердің астында жасырылады, бірақ толығымен дәнекерленген тақтаны көрсететін екінші суретте көрінеді. Егер сізде дәнекерлеу тәжірибесі көп болмаса, SMD -ді дәнекерлеу қиын болуы мүмкін, бірақ бұл міндетті емес және барлық негізгі компоненттер THT болып табылады. Мен әрқашан Дэйвтің (EEVblog) бейнелерін ұсынғанды ұнатамын және оны өзім көргенмін: EEVblog №186 - Дәнекерлеу оқулығы 3 -бөлім - Бетке бекіту. Бұл өте ұзақ, бірақ егер сіз бұл материалды жаңадан білсеңіз, тұрарлық!

Ол бұл туралы айтады, бірақ: алдымен резисторлар мен светодиодтарды, содан кейін түймелерді екінші, соңында тақырыптарды дәнекерлеуге тырысыңыз. Осылайша сіз әрқашан кестені төменнен компонентке және жоғарыдан дәнекерлеу үшін қолдана аласыз (ПХД төңкерілген).

Барлығын дәнекерлегеннен кейін, сіз жай ғана Feather M4 пен бір немесе екі антеннаны қосуға болады, ал аппаратура дайын! Біз бұл компоненттерді дәнекерлемегендіктен, біз оларды әрқашан тақтадан алып тастай аламыз және оларды басқа керемет жобада қолдана аламыз!

Назар аударыңыз, үшінші суретте менде мамықта тұрақты, қысқа еркек тақырыптары бар, сондықтан мен OLED -ді үстіне қоя алмадым. Маған оларды тазартуға және қауырсындардың жиналатын тақырыптарын қосуға тура келді. Егер сіз OLED -ді қолданғыңыз келсе, дереу жиналатын тақырыптарды алыңыз: D Desoldering - бұл азап.

3 -қадам: Бағдарламалық қамтамасыз ету

Жабдықтар дайын болғанда, бағдарламалық қамтамасыз ету туралы сөйлесейік.

Кіріспеде айтылғандай, M4 Python кодын қолданады, бірақ Python тілінде CC1101 кітапханасы жоқ екені анық. Сондықтан мен DIYers жасайтын нәрсені жасадым және өзім жаздым. Сіз оны мына жерден таба аласыз:

Бұл керемет TI трансиверлері қабілетті барлық нәрсені қолдамайды, бірақ кез келген жиілікте ASK-кодталған деректерді оңай жіберуге және алуға жеткілікті. Мен осы кітапхананың көмегімен РЖ басқарылатын қабырға розеткаларымен, сондай-ақ отбасымның көлігімен сөйлесе алдым.

Мүмкін, мен бұл жұмысты жалғастыра аламын, егер сізде сұрақтар, мүмкіндіктер туралы сұраулар немесе дамытуға үлес қосқыңыз келсе, менімен хабарласыңыз!

4 -қадам: мүмкіндіктер мен мүмкіндіктер

Мен бұл құрылғыны қос антенналар мен жоғары конфигурацияланған TI CC1101 трансиверлерін қолдану үшін жасағандықтан, сізде көптеген мүмкіндіктер бар, әсіресе сізде смартфон өлшеміндегі құрылғыдан басқа ештеңе алып жүруді қаламайтын салада.

Сіз, мысалы, 433 МГц диапазонындағы байланыс сигналдарын түсіріп, 868 МГц жиіліктегі қосалқы антеннамен үй станциясына қайтара аласыз.

Немесе егер сіз реактивті кептелуді зерттеп, тәжірибе алғыңыз келсе, сізде RX пен TX арасында ауысуға тырысудың «дәстүрлі әдісін» қолданбай -ақ, беріліс анықталғаннан кейін өз сигналдарын жіберетін тыңдау және кептелу антеннасы болуы мүмкін. мүмкіндігінше тез.

Feather M4 туралы тағы бір керемет нәрсе - бұл LiPo зарядтау тізбегімен бірге келеді, сондықтан сіз батареяны қосасыз және жұмысқа дайынсыз. Менің жағдайда, бір антенна тұрақты RX режимінде, трансляцияларды тыңдауда және OLED экранында болса, құрылғы 1000 мАч LiPo -да 20 сағатқа жуық жұмыс істейді.

OLED экранын пайдалану - бірақ онсыз да мүмкін, мысалы. үш күйді жарықдиодты қолдана отырып - сізде бірнеше бағдарлама болуы мүмкін және олардың қайсысын тақтаның төменгі жағындағы түймелер арқылы іске қосқыңыз келетінін таңдай аласыз. Мен жеке таңдау режимдері мен жиілік параметрлері көрінісі және т.

Бұл тіпті үйді автоматтандыру үшін қолдан келуі мүмкін! Жоғарыда айтқанымдай, мен розеткалармен сәтті сөйлесе алдым (бастапқы сигналдарды бір рет түсіріп, қажет болған кезде оларды қайта ойнатуға болады), ал егер сіз Интернетте біраз ізденіс жасасаңыз, онда қанша құрылғы жұмыс істейтінін тез табасыз. кодтары өзгермейтін жиіліктер. Тіпті кейбір гараждардың кодтарын осы құрылғы арқылы жазып, сақтауға болады, содан кейін гаражды ашу немесе жабу қажет болған кезде қолдануға болады. Осылайша, бұл сіздің барлық RF құрылғыларыңыз үшін әмбебап қашықтан басқару құралы бола алады!

Мен RollJam шабуылын осы құрылғыда жеке қайталадым, бірақ кодты босатпаймын, себебі кептелу көптеген жерлерде заңсыз, сондықтан егер сіз осындай әрекетке тырыссаңыз, жергілікті заңдарыңызбен кеңесіңіз;-)

Тақтаны қосқанда USB тақтасы пайда болады және CircuitPython мұндай мүмкіндікті ұсынады, сонымен қатар сіз құрылғының радиожиілік таратылымын жазып, демодуляцияланған деректерді (иә, трансиверлер мұны автоматты түрде жасайды!) Мәтіндік файлға сақтай аласыз. оны кейінірек компьютерге көшіруге және берілістің кері инженериясы сияқты ғылыми мақсаттарда талдауға болады.

5 -қадам: Қорытынды нәтиже

Қорытынды нәтиже
Қорытынды нәтиже

Кез келген кері байланыс, ұсыныстар мен осы жобаға қосқан үлестеріңіз қош келдіңіз, егер сізде сұрақтар болса, оларды қоюға болады!

Ұсынылған: