Съдържание:

Комплект за развитие на Python RF: 5 стъпки
Комплект за развитие на Python RF: 5 стъпки

Видео: Комплект за развитие на Python RF: 5 стъпки

Видео: Комплект за развитие на Python RF: 5 стъпки
Видео: Air crew (drama, directed by Alexander Mitta, 1979) 2024, Юли
Anonim
Комплект за разработка на RF на Python
Комплект за разработка на RF на Python

На първо място, бих искал да дам малко въведение за това как попаднах в RF нещата и защо работя по този проект.

Като студент по компютърни науки с афинитет към хардуера, започнах да посещавам някои курсове, които се занимават с безжични сигнали и сигурност в безжичните комуникации през октомври 2018 г. Бързо започнах да експериментирам с RTL-SDR и HackRF софтуерно дефинирани радиостанции и с офлайн рафт Arduino RF модули.

Въпросът е: SDR не са достатъчно преносими за моите цели (винаги трябва да носите лаптоп, антени и т.н.), а евтините RF модули Arduino не са достатъчно способни по отношение на силата на сигнала, персонализирането, честотните диапазони и автоматизацията.

Антените CC1101 от Texas Instruments са чудесен избор за малки, но способни радиочестотни предаватели, които също са много евтини. Хората са създали страхотни неща с тях, като „Направи си сам“SDR и подобни неща.

Друго нещо, което исках да разгледам с тази тема, беше CircuitPython. Това е нов език за програмиране от микроконтролери, за който съм чувал много добри неща, затова исках да го опитам. Оказа се, че много ми харесва, особено в съчетание с дъската Feather M4 Express на Adafruit, която също използвам в този проект. Отстраняването на грешки е много лесно, тъй като не е нужно да съставяте персонализирани фърмуери всеки път, когато опитате малка промяна в кода си, получавате конзола REPL и кодът ви също остава на самия микроконтролер, което означава, че можете да го носите наоколо, включете го в различни компютри и винаги ще можете да правите промени в движение.

Стъпка 1: Хардуерни компоненти

Хардуерни компоненти
Хардуерни компоненти

Какво ви е необходимо, за да повторите този проект:

  • Adafruit Feather M4 Express
  • 2x Тексас Инструменти CC1101 Трансивър + Антена
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

По същество това е всичко, от което се нуждаете, за да имате доста компактен и способен радиочестотен предавател, но както можете да видите на изображението, той няма да бъде много надежден и подреден с всички тези джъмперни проводници.

Затова проектирах персонализирана печатна платка с помощта на https://easyeda.com/ и я поръчах от JLCPCB.com (много евтино и с високо качество!), За да свържа всичко заедно. Това също позволява лесно интегриране на 3 бутона и светодиоди за потребителски вход и изходи за състоянието.

И накрая, 3D отпечатах малко покритие за задната част на печатната платка, така че да не се къса с нищо и да седи плоско на масата.

Ако сте нов в дизайна на електрониката и печатните платки, бих препоръчал да проверите тези инструкции: Основна електроника, Дизайн на печатни платки!

В прикачените файлове можете да намерите файловете Gerber за моята печатна платка. Ако решите да го произведете, ще ви трябват няколко допълнителни компонента, които лично поръчах от LCSC, тъй като те са свързани с JLCPCB, така че те предлагат да изпращат всичко заедно, което спестява малко транспортни разходи, а компонентите също са просто много евтино там. Вижте спецификацията за подробен списък. Умишлено избрах големия размер на опаковката от 0805 за SMD компонентите, така че всеки да може да ги запоява ръчно върху печатната платка!

Стъпка 2: Изграждане на борда

Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда

На първото изображение можем да видим печатните платки без никакви "модификации" - те идват така от фабриката. Много чисти разфасовки (без v-образен канал, напълно фрезовани) и хубави отвори по всички отвори на THT.

Ако искате да използвате светодиодите, ще трябва да ги запоявате, както и SMD резисторите. Резисторите обикновено са скрити под микроконтролера, но се виждат на втората снимка, която показва напълно запоената платка. Ако нямате много опит със запояване, може да е малко трудно да запоите SMD, но това е нещо като опция и всички основни компоненти са THT. Винаги обичам да препоръчвам видеоклиповете на Дейв (EEVblog) и всъщност самият гледах този: EEVblog #186 - Урок за запояване Част 3 - Повърхностен монтаж. Това е доста дълго, но си заслужава, ако сте нови в тези неща!

Той споменава и това, но: внимавайте първо да запоите резисторите и светодиодите, след това бутоните второ и заглавията в края. По този начин винаги можете да използвате масата, за да натискате компонента отдолу и да запоявате отгоре (печатната платка е обърната с главата надолу).

След като запоите всичко, можете просто да включите Feather M4 и една или две антени и хардуерът е готов! Тъй като не спояваме тези компоненти, винаги можем да ги свалим от дъската и да ги използваме за друг проект, който е страхотен!

Моля, обърнете внимание, че на третата снимка имам редовни, къси мъжки заглавки на перата, така че не мога да подредя OLED отгоре. Трябваше да ги изваря и да добавя заглавки за подреждане на пера. Ако искате да използвате OLED, вземете заглавките за подреждане веднага, честно: D Разпаяването е просто болка.

Стъпка 3: Софтуер

С готовия хардуер, нека поговорим за софтуера.

Както бе споменато във въведението, M4 изпълнява Python код, но очевидно не съществува библиотека за CC1101 на езика Python. Така че направих това, което правят сами "Направи си сам" и написах моето собствено. Можете да го намерите тук:

Той не поддържа всичко, на което са способни големите TI трансивери, но е достатъчно да изпращате и получавате лесно кодирани ASK данни на всяка честота. Успях да комуникирам с RF стенни контакти, както и с колата на семейството си, като използвах тази библиотека.

Вероятно вероятно ще продължа да работя върху него и ако имате въпроси, заявки за функции или искате да допринесете за развитието, не се колебайте да се свържете с мен!

Стъпка 4: Възможности и функции

Тъй като проектирах това устройство да използва двойни антени и високо конфигурируемите трансивери TI CC1101, имате много възможности, особено в областта, където не искате да носите нещо повече от устройство с размер на смартфон.

Можете например да улавяте комуникационни сигнали в обхвата 433MHz и да ги изпращате обратно до домашната си станция с вторичната антена, работеща на 868MHz.

Или ако искате да изучавате и експериментирате с реактивно заглушаване, можете да имате антена за слушане и заглушаване, която изпраща свои собствени сигнали веднага щом се открие предаване, без да правите „традиционния метод“да се опитвате да превключвате между RX и TX като възможно най -бързо.

Друго много готино нещо за Feather M4 е, че той идва с вградена LiPo верига за зареждане, така че просто включете батерията си и сте готови за работа. В моя случай, с една антена в постоянен RX режим, слушане на предавания и включен OLED екран, устройството ще работи почти 20 часа на 1000 mAh LiPo.

Използване на OLED екрана - но възможно и без него, напр. с помощта на трите светодиода за състояние - можете да имате няколко програми и да изберете коя искате да стартирате с бутоните в долната част на дъската. Аз лично дори реализирах цяло меню с режими за избор и изглед за настройка на честотата и т.н.

Може дори да дойде в ръцете за някаква домашна автоматизация! Както споменах, успях да комуникирам успешно с електрическите контакти (улавям оригиналните сигнали веднъж и ги възпроизвеждам винаги, когато имате нужда от това) и ако направите малко проучване в Интернет, бързо ще откриете колко устройства също работят тези честоти с кодове, които не се променят. Дори някои кодове на гаражи могат да бъдат записани и запазени с това устройство и след това да се използват винаги, когато трябва да отворите или затворите гаража си. Така че това може да се превърне в универсално дистанционно за всички ваши RF устройства!

Аз лично копирах атаката на RollJam и с това устройство, но няма да пусна кода, тъй като заглушаването е незаконно на повечето места, така че ако опитате нещо подобно, консултирайте се с местните закони;-)

Тъй като платката се показва като USB диск, когато я включите, а CircuitPython предлага такава функция, можете също така да накарате устройството да записва RF предавания и да запазва демодулираните данни (о, да, приемо -предавателите правят това автоматично!) В текстов файл които по -късно можете да копирате на вашия компютър и да анализирате за научни цели, като обратното инженерство на предаванията.

Стъпка 5: Краен резултат

Краен резултат
Краен резултат

Всяка обратна връзка, предложения и принос към този проект са добре дошли и не се колебайте да задавате въпроси, ако имате такива!

Препоръчано: