Оглавление:

Комплект разработчика Python RF: 5 шагов
Комплект разработчика Python RF: 5 шагов

Видео: Комплект разработчика Python RF: 5 шагов

Видео: Комплект разработчика Python RF: 5 шагов
Видео: С нуля до 100 000 за полгода | Что должен знать JUNIOR PYTHON разработчик в 2023 2024, Ноябрь
Anonim
Комплект разработчика Python RF
Комплект разработчика Python RF

Прежде всего, я хотел бы немного рассказать о том, как я начал работать с радиочастотами и почему я работаю над этим проектом.

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

Проблема в том, что SDR недостаточно портативны для моих целей (всегда нужно носить с собой ноутбук, антенны и т. Д.), А дешевые RF-модули Arduino не обладают достаточными возможностями с точки зрения мощности сигнала, настраиваемости, частотных диапазонов и автоматизации.

Антенны CC1101 от Texas Instruments - отличный выбор для небольших, но функциональных радиопередатчиков, которые также очень дешевы. С их помощью люди создали великие вещи, такие как DIY SDR и тому подобное.

Еще одна вещь, которую я хотел затронуть в этой теме, - это CircuitPython. Это новый язык программирования для микроконтроллеров, о котором я слышал много хороших вещей, поэтому мне захотелось его попробовать. Оказалось, что мне это очень нравится, особенно в сочетании с платой Adafruit Feather M4 Express, которую я также использую в этом проекте. Его очень легко отлаживать, так как вам не нужно компилировать собственные прошивки каждый раз, когда вы пытаетесь внести небольшое изменение в свой код, вы получаете консоль REPL, и ваш код также остается на самом микроконтроллере, что означает, что вы можете носить его с собой, подключать на различные компьютеры, и вы всегда сможете вносить изменения на ходу.

Шаг 1. Аппаратные компоненты

Компоненты оборудования
Компоненты оборудования

Что вам понадобится для тиражирования этого проекта:

  • Adafruit Feather M4 Экспресс
  • 2 приемопередатчика CC1101 Texas Instruments + антенна
  • Adafruit FeatherWing OLED
  • 3,7 В 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 сверху. Мне пришлось распаять их и добавить заголовки Feather. Если вы хотите использовать OLED, сразу же получите заголовки стека, честно: D Демонтаж - это просто боль.

Шаг 3: Программное обеспечение

Когда оборудование готово, давайте поговорим о программном обеспечении.

Как упоминалось во введении, M4 запускает код Python, но, очевидно, библиотеки для CC1101 на языке Python не существует. Так что я сделал то, что делают домашние мастера, и написал свое. Вы можете найти его здесь:

Он не поддерживает все, на что способны великие трансиверы TI, но этого достаточно, чтобы легко отправлять и получать данные в кодировке ASK на любой частоте. С помощью этой библиотеки я мог общаться с настенными розетками с радиочастотным управлением, а также с автомобилем моей семьи.

Я вполне могу продолжить работу над этим, и если у вас есть какие-либо вопросы, пожелания по функциям или вы хотите внести свой вклад в разработку, не стесняйтесь обращаться ко мне!

Шаг 4: Возможности и особенности

Поскольку я разработал это устройство для использования двойных антенн и трансиверов TI CC1101 с широкими возможностями настройки, у вас есть масса возможностей, особенно в полевых условиях, где вам не нужно носить с собой что-либо большее, чем устройство размером со смартфон.

Например, вы можете захватывать сигналы связи в диапазоне 433 МГц и отправлять их обратно на свою домашнюю станцию с помощью вторичной антенны, работающей на частоте 868 МГц.

Или, если вы хотите изучить и поэкспериментировать с реактивным подавлением помех, вы можете использовать прослушивающую и подавляющую антенну, которая отправляет свои собственные сигналы, как только обнаруживается передача, без использования «традиционного метода» переключения между RX и TX как как можно быстрее.

Еще одна очень интересная особенность Feather M4 заключается в том, что он поставляется со встроенной схемой зарядки LiPo, поэтому вы просто подключаете аккумулятор и готовы к работе. В моем случае с одной антенной в постоянном режиме приема, прослушиванием передач и включенным OLED-экраном устройство проработало бы почти 20 часов на LiPo емкостью 1000 мАч.

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

Это может даже пригодиться для домашней автоматизации! Как я уже упоминал, мне удалось успешно обмениваться данными с розетками (один раз зафиксировать исходные сигналы и воспроизвести их всякий раз, когда вам это нужно), и если вы немного поищете в Интернете, вы быстро обнаружите, на скольких устройствах также работает эти частоты с неизменными кодами. Даже коды некоторых гаражей можно записать и сохранить с помощью этого устройства, а затем использовать всякий раз, когда вам нужно открыть или закрыть свой гараж. Таким образом, он может стать универсальным пультом дистанционного управления для всех ваших радиочастотных устройств!

Я лично воспроизвел атаку RollJam с этим устройством, но не буду выпускать код, так как глушение является незаконным в большинстве мест, поэтому, если вы попытаетесь что-то подобное, обратитесь к местным законам;-)

Поскольку плата отображается как USB-диск, когда вы ее подключаете, и CircuitPython предлагает такую функцию, вы также можете заставить устройство записывать радиочастотные передачи и сохранять демодулированные данные (о да, трансиверы делают это автоматически!) В текстовый файл. которые вы позже можете скопировать на свой компьютер и проанализировать в научных целях, например, в обратном инжиниринге передач.

Шаг 5: окончательный результат

Конечный результат
Конечный результат

Любые отзывы, предложения и вклады в этот проект приветствуются, и не стесняйтесь задавать вопросы, если они у вас есть!

Рекомендуемые: