Оглавление:

RF433 Анализатор: 7 шагов
RF433 Анализатор: 7 шагов

Видео: RF433 Анализатор: 7 шагов

Видео: RF433 Анализатор: 7 шагов
Видео: 😱Хакерская SDR Прослушка На Xiaomi 🔥 2024, Ноябрь
Anonim
RF433Анализатор
RF433Анализатор
RF433Анализатор
RF433Анализатор

Это руководство создает измерительный инструмент, который помогает анализировать передачи RF 433 МГц, которые обычно используются для маломощной удаленной связи в домашней автоматизации и датчиках. Вероятно, его можно было бы легко модифицировать для работы с передачами 315 МГц, используемыми в некоторых странах. Это было бы при использовании 315 МГц версии RXB6 вместо нынешней 433 МГц.

У инструмента двоякое назначение. Во-первых, он предоставляет измеритель мощности сигнала (RSSI), который можно использовать для проверки покрытия вокруг собственности и обнаружения любых черных пятен. Во-вторых, он может собирать чистые данные от передатчиков, чтобы упростить анализ данных и протоколов, используемых различными устройствами. Это полезно, если вы пытаетесь разработать совместимые надстройки к существующим модулям. Обычно сбор данных осложняется фоновым шумом, присутствующим в приемниках, который создает множество паразитных переходов и затрудняет обнаружение истинных передач.

В устройстве используется приемник суперхет RXB6. Здесь используется микросхема приемника Synoxo-SYN500R с аналоговым выходом RSSI. Это фактически буферизованная версия сигнала АРУ, используемая для управления усилением приемника и обеспечивающая мощность сигнала в широком диапазоне.

Приемник контролируется модулем ESP8266 (ESP-12F), который преобразует сигнал RSSI. Он также управляет небольшим локальным OLED-дисплеем (SSD1306). Электроника также может захватывать временную информацию о переходах данных.

Захваты могут быть запущены локально кнопкой на устройстве. Собранные данные сохраняются в файлы для последующего анализа.

Модуль ESP12 запускает веб-сервер, чтобы предоставить доступ к файлам, и отсюда также можно запускать захваты.

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

Шаг 1. Необходимые компоненты и инструменты

Важная заметка:

Я обнаружил, что некоторые приемники RXB6 433Mhz имеют неработающий выход RSSI, хотя AGC и остальные функции в порядке. Я подозреваю, что могут использоваться какие-то клоны Syn500R чипов. Я обнаружил, что приемники с маркировкой WL301-341 используют совместимый с Syn5500R чип, и RSSI работает. У них также есть то преимущество, что они не используют экранирующий элемент, что упрощает модификацию конденсатора AGC. Я бы рекомендовал использовать эти устройства.

Следующие компоненты необходимы

Модуль Wi-Fi ESP-12F

  • Регулятор 3.3V xc6203
  • Конденсатор 220uF 6V
  • 2 диода шоттки
  • Кнопка 6 мм
  • n-канальный MOSFET, например AO3400
  • P-канальный MOSFET, например AO3401
  • резисторы 2х4к7, 3х100К, 1х470К
  • небольшой кусок макетной платы
  • RXB6 или WL301-341 superhet 433 МГц приемник
  • SSD1306 0,96 OLED-дисплей (одноцветная версия SPI)
  • Аккумулятор LIPO 802030 400mAh
  • 3-х контактный разъем для зарядки
  • Подключите провод
  • Эмалированный медный провод самофлюсующийся
  • Эпоксидная смола
  • Двухсторонний скотч
  • Корпус, напечатанный на 3D-принтере

Необходимые инструменты

  • Паяльник с мелким наконечником
  • Заплетенная оплетка
  • Пинцет
  • Плоскогубцы

Шаг 2: Схема

Схема
Схема

Схема довольно проста.

Регулятор LDO 3.3V преобразует LIP в 3.3V, необходимый для модуля ESP-12F.

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

Кнопка запускает систему, подавая 3,3 В на вход EN ESP8266. Затем GPIO5 поддерживает это, пока модуль активен. Кнопка также отслеживается с помощью GPIO12. Когда GPIO5 отпускается, EN удаляется, и устройство отключается.

Линия данных от приемника контролируется GPIO4. Сигнал RSSI контролируется АРУ через делитель напряжения 2: 1.

Дисплей SSD1306 управляется через SPI, состоящий из 5 сигналов GPIO. Возможно использование версии I2C, но для этого потребуется изменить используемую библиотеку и переназначить часть GPIO.

Шаг 3: Модификация приемника

Модификация приемника
Модификация приемника
Модификация приемника
Модификация приемника
Модификация приемника
Модификация приемника

При поставке RXB6 не делает сигнал RSSI доступным на своих внешних выводах данных.

Простая модификация делает это возможным. Разъем сигнала МЭД на устройстве на самом деле является просто повторением сигнала сигнала данных. Они соединены между собой через резистор 0 Ом, обозначенный R6. Его необходимо удалить с помощью паяльника. Теперь необходимо связать компонент с меткой R7. Верхний конец - это фактически сигнал RSSI, а нижний - к разъему DER. Можно было использовать резистор 0 Ом, но я просто подключил его с помощью небольшого провода. Эти места доступны за пределами металлического экрана, который не нужно снимать для данной модификации.

Модификацию можно проверить, подключив вольтметр через МЭД и GND при включенном приемнике. Он будет показывать напряжение от 0,4 В (питание отсутствует) до 1,8 В с локальным источником 433 МГц (например, с пультом дистанционного управления).

Вторая модификация не является абсолютно необходимой, но вполне желательна. При поставке время отклика АРУ приемника установлено довольно медленным, и для ответа на принятый сигнал требуется несколько сотен миллисекунд. Это уменьшает временное разрешение во время захвата RSSI, а также делает менее отзывчивым использование RSSI в качестве триггера для захвата данных.

Есть единственный конденсатор, который контролирует время срабатывания АРУ, но, к сожалению, он расположен под металлическим экраном. На самом деле довольно легко снять экранирующую банку, так как она держится всего за 3 выступа, и ее можно поднять, нагревая каждый из них по очереди и поднимая небольшую отвертку. После удаления можно очистить отверстия для повторной сборки, используя распайку оплетки или повторно просверлив сверло 0,8 мм.

Модификация заключается в удалении существующего конденсатора АРУ C4 и его замене на конденсатор емкостью 0,22 мкФ. Это ускоряет реакцию АРУ примерно в 10 раз. Это не оказывает отрицательного влияния на работу ресивера. На изображении я показываю срез дорожки и ссылку на эту дорожку от конденсатора АРУ. Это не обязательно, но делает доступной точку АРУ на контактной площадке за пределами экранирующей банки под кристаллом на тот случай, если кто-то захочет снова добавить дополнительную емкость. Мне не нужно было этого делать. Затем экранирование можно заменить.

Если используется блок WL301-341 RX, то на фотографии это показано с выделенным конденсатором AGC. Также показан сигнальный контакт RSSI. На самом деле это ни с чем не связано. Можно просто подключить тонкий провод прямо к штырю. В качестве альтернативы, два центральных контакта перемычки соединяются вместе и оба переносят вывод данных. Трассу между ними можно обрезать, а затем связать RSSI с запасным, чтобы сигнал RSSI был доступен на выходе перемычки.

Шаг 4: Строительство

Строительство
Строительство
Строительство
Строительство
Строительство
Строительство
Строительство
Строительство

Помимо модуля ESP-12 необходимо около 10 компонентов. Их можно собрать и соединить на макетной плате. Я использовал макетную плату для ESP, которую я использовал для облегчения монтажа регулятора и других компонентов smd. Он прикрепляется непосредственно к модулю ESP-12.

Коробка, которую я использовал, представляет собой дизайн, напечатанный на 3D-принтере, с 3 выемками в основании для приемника, дисплея и модуля esp. В нем есть вырез для дисплея и отверстия для точки зарядки и кнопки, которые следует вставить и закрепить небольшим количеством смолы.

Я использовал соединительный провод, чтобы соединить 3 модуля, точку зарядки и кнопки. а затем закрепили их на месте с помощью двусторонней ленты для ESP и приемника и небольших капель эпоксидной смолы, чтобы удерживать стороны дисплея на месте. Батарея подключается к точке зарядки и крепится на верхней части приемника с помощью двусторонней ленты.

Шаг 5: Программное обеспечение и конфигурация

Программное обеспечение построено в среде Arduino.

Исходный код для этого находится на https://github.com/roberttidey/RF433Analyser. В коде могут быть изменены некоторые константы для паролей в целях безопасности перед компиляцией и прошивкой на устройство ES8266.

  • WM_PASSWORD определяет пароль, используемый wifiManager при настройке устройства в локальной сети Wi-Fi.
  • update_password определяет пароль, используемый для разрешения обновлений прошивки.

При первом использовании устройство переходит в режим конфигурации Wi-Fi. С помощью телефона или планшета подключитесь к точке доступа, настроенной устройством, затем перейдите к 192.168.4.1. Отсюда вы можете выбрать локальную сеть Wi-Fi и ввести ее пароль. Это нужно сделать только один раз или при изменении сетей Wi-Fi или паролей.

Как только устройство подключится к своей локальной сети, оно будет прослушивать команды. Предполагая, что его IP-адрес 192.168.0.100, сначала используйте 192.168.0.100:AP_PORT/upload для загрузки файлов в папку данных. Затем это позволит 192.168.0.100/edit просматривать и загружать дополнительные файлы, а также разрешит 192.168.0.100 доступ к пользовательскому интерфейсу.

В программном обеспечении следует отметить следующие моменты:

  • АЦП в ESP8266 можно откалибровать для повышения его точности. Строка в файле конфигурации устанавливает достигнутые необработанные значения для двух входных напряжений. Это не особенно важно, поскольку RSSI - довольно относительный сигнал, зависящий от антенны и т. Д.
  • Напряжение RSSI относительно дБ достаточно линейно, но изгибается на крайних точках. Программное обеспечение имеет кубическую форму для повышения точности.
  • Большая часть арифметики выполняется с использованием масштабированных целых чисел, поэтому значения RSSI на самом деле в 100 раз больше фактических. Значения, записанные в файлы или отображаемые, конвертируются обратно.
  • Программное обеспечение использует простой конечный автомат для управления захватом RSSI и переходов данных.
  • Переходы данных отслеживаются с помощью процедуры обслуживания прерывания. Обычная обработка цикла Arduino приостанавливается во время сбора данных, и сторожевой таймер остается активным локально. Это сделано для того, чтобы попытаться уменьшить задержку прерывания, чтобы измерения времени были как можно более точными.

Конфигурация

Он хранится в esp433Config.txt.

Для захвата RSSI можно настроить интервал и продолжительность выборки.

Для сбора данных можно настроить уровень запуска RSSI, количество переходов и максимальную продолжительность. Подходящий уровень запуска составляет около +20 дБ при отсутствии сигнала на фоне. Строка pulseWidths также позволяет упростить категоризацию ширины импульса, чтобы упростить анализ. Каждая зарегистрированная строка имеет значение pulseLevel, ширину в микросекундах и код, который является индексом в строке pulseWidths, который больше измеренной ширины.

CalString может повысить точность АЦП.

idleTimeout контролирует количество миллисекунд бездействия (без захватов) перед автоматическим отключением устройства. Установка его в 0 означает, что тайм-аут не истечет.

Три настройки кнопок определяют, что отличает короткое среднее и долгое нажатие кнопки.

displayUpdate дает интервал обновления локального дисплея.

Шаг 6: использование

Устройство включается кратковременным нажатием кнопки.

На дисплее сначала будет отображаться локальный IP-адрес в течение нескольких секунд, прежде чем начнется отображение уровня RSSI в реальном времени.

Короткое нажатие кнопки инициирует захват RSSI в файл. Обычно это прекращается, когда истекает продолжительность RSSI, но дальнейшее короткое нажатие кнопки также прекращает захват.

Среднее нажатие кнопки инициирует захват перехода данных. На экране отобразится ожидание триггера. Когда RSSI поднимается выше уровня триггера, он начинает захватывать синхронизированные переходы данных для указанного количества переходов.

Если удерживать кнопку дольше, чем кнопка, устройство выключится.

Команды захвата также можно запускать из веб-интерфейса.

Шаг 7: Веб-интерфейс

Веб интерфейс
Веб интерфейс
Веб интерфейс
Веб интерфейс

Доступ к устройству по его IP-адресу показывает веб-интерфейс с 3 вкладками; Захваты, статус и конфиг.

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

Также есть кнопки захвата RSSI и захвата данных, которые можно использовать для запуска захвата. Если указано имя файла, оно будет использовано, в противном случае будет сгенерировано имя по умолчанию.

Вкладка config показывает текущую конфигурацию и позволяет изменять и сохранять значения.

Веб-интерфейс поддерживает следующие вызовы

/ edit - доступ к файловой системе устройства; может использоваться для загрузки файлов мер

  • / status - вернуть строку, содержащую детали статуса
  • / loadconfig - вернуть строку, содержащую детали конфигурации
  • / saveconfig - отправить и сохранить строку для обновления конфигурации
  • / loadcapture - вернуть строку, содержащую меры из файлов
  • / setmeasureindex - изменить индекс, который будет использоваться для следующей меры
  • / getcapturefiles - получить строку со списком доступных файлов мер
  • / capture - запускать захват RSSI или данных
  • / firmware - инициировать обновление прошивки

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