Оглавление:
- Шаг 1. Аппаратные компоненты
- Шаг 2: создание доски
- Шаг 3: Программное обеспечение
- Шаг 4: Возможности и особенности
- Шаг 5: окончательный результат
Видео: Комплект разработчика Python RF: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Прежде всего, я хотел бы немного рассказать о том, как я начал работать с радиочастотами и почему я работаю над этим проектом.
Будучи студентом информатики, увлекающимся аппаратным обеспечением, я начал посещать некоторые курсы, посвященные беспроводным сигналам и безопасности в беспроводной связи, в октябре 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: окончательный результат
Любые отзывы, предложения и вклады в этот проект приветствуются, и не стесняйтесь задавать вопросы, если они у вас есть!
Рекомендуемые:
Полный комплект веб-интерфейса Python для PhidgetSBC3: 6 шагов
Полный комплект веб-интерфейса Python для PhidgetSBC3: Плата PhidgetSBC3 - это полнофункциональный одноплатный компьютер, работающий под управлением Debain Linux. Он похож на Raspberry Pi, но имеет 8 аналоговых входов для датчиков, 8 цифровых входов и 8 цифровых выходов. Он поставляется с веб-сервером и веб-приложением для
ELEGOO Kit Lab или Как облегчить мою жизнь как разработчика: 5 шагов (с изображениями)
ELEGOO Kit Lab или Как облегчить мою жизнь как разработчика: Цели проекта У многих из нас есть проблемы с макетом контроллеров UNO. Часто подключение компонентов становится затруднительным для многих компонентов. С другой стороны, программирование под Arduino может быть сложным и потребовать много
Практический комплект для пайки SMD, или Как я научился перестать беспокоиться и полюбил дешевый китайский комплект: 6 шагов
Практический комплект для пайки SMD, или Как я научился перестать беспокоиться и полюбил дешевый китайский комплект: это не инструкция по пайке. Это инструкция о том, как собрать дешевый китайский комплект. Поговорка гласит, что вы получаете то, за что платите, и вот что вы получаете: плохо документировано. Сомнительное качество детали. Нет поддержки. Так зачем покупать
Начало работы с комплектом разработчика NVIDIA Jetson Nano: 6 шагов
Начало работы с комплектом разработчика NVIDIA Jetson Nano: краткий обзор Nvidia Jetson NanoJetson Nano Developer Kit - это небольшой мощный одноплатный компьютер, который позволяет запускать несколько нейронных сетей параллельно для таких приложений, как классификация изображений, обнаружение объектов, сегментация и голос пр
Макет платы разработчика: 12 шагов (с изображениями)
Макет платы разработчика: в этих инструкциях показано, как создать индивидуальный макет для платы разработчика