Съдържание:

RF433 Анализатор: 7 стъпки
RF433 Анализатор: 7 стъпки

Видео: RF433 Анализатор: 7 стъпки

Видео: RF433 Анализатор: 7 стъпки
Видео: Умное WiFi реле TUYA TYWD с сухими контактами и пультом ДУ RF 433 mHz 2024, Юли
Anonim
Анализатор RF433
Анализатор RF433
RF433Анализатор
RF433Анализатор

Тази инструкция създава измервателен инструмент, който помага за анализиране на RF 433MHz предавания, които обикновено се използват за отдалечени комуникации с ниска мощност в домашната автоматизация и сензори. Вероятно може лесно да се модифицира, за да работи на 315MHz предавания, използвани в някои страни. Това би било чрез използване на 315MHz версията на RXB6 вместо текущата 433MHz.

Предназначението на инструмента е двойно. Първо, той осигурява измервател на силата на сигнала (RSSI), който може да се използва за изследване на покритието около имот и намиране на черни петна. Второ, той може да улавя чисти данни от предаватели, за да позволи по -лесен анализ на данните и протоколите, използвани от различни устройства. Това е полезно, ако се опитвате да проектирате съвместими добавки към съществуващи единици. Обикновено улавянето на данни се усложнява от фоновия шум, присъстващ в приемниците, който произвежда много фалшиви преходи и затруднява откриването на истинските предавания.

Устройството използва RXB6 суперхет приемник. Това използва чип приемник Synoxo-SYN500R, който има аналогов изход RSSI. Това всъщност е буферирана версия на AGC сигнала, използван за контрол на усилването на приемника и дава сила на сигнала в широк диапазон.

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

Заснемането може да се задейства локално чрез бутон на устройството. Заснетите данни се записват във файлове за по -късен анализ.

Модулът ESP12 изпълнява уеб сървър, за да даде достъп до файловете и улавянията също могат да бъдат задействани от тук.

Инструментът се захранва от малка LIPO акумулаторна батерия. Това дава разумно време за работа и електрониката има нисък ток на покой, когато не се използва.

Стъпка 1: Необходими компоненти и инструменти

Важна забележка:

Открих, че някои приемници RXB6 433Mhz имат неработещ RSSI изход, въпреки че AGC и останалата функционалност са ОК. Подозирам, че може да се използват някои клонирани чипове Syn500R. Открих, че приемниците, обозначени като WL301-341, използват съвместим с Syn5500R чип и RSSI е функционален. Те също имат предимството, че не използват скринингова кутия, което улеснява модифицирането на AGC кондензатора. Препоръчвам да използвате тези единици.

Необходими са следните компоненти

WiFi модул ESP-12F

  • 3.3V регулатор xc6203
  • 220uF 6V кондензатор
  • 2 диода на Шоттки
  • 6 мм бутон
  • n канал MOSFET напр. AO3400
  • p канал MOSFET напр. AO3401
  • резистори 2x4k7, 3 x 100K, 1 x 470K
  • малко парче прототипна дъска
  • RXB6 или WL301-341 суперхет приемник 433MHz
  • SSD1306 0.96 OLED дисплей (едноцветна SPI версия)
  • LIPO батерия 802030 400mAh
  • 3 -пинов конектор за зареждане
  • Закачете тел
  • Емалирана медна жица, самополиваща се
  • Епоксидна смола
  • Двустранна касета
  • 3D принтиран корпус

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

  • Поялник с фина точка
  • Отлепваща плитка
  • Пинсети
  • Клещи

Стъпка 2: Схеми

Схематично
Схематично

Веригата е доста проста.

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

Захранването се подава както към дисплея, така и към приемника чрез два превключващи MOSFET, така че те са изключени, когато ESP модулът спи.

Бутонът стартира системата, като захранва 3.3V към входа EN на ESP8266. След това GPIO5 поддържа това, докато модулът е активен. Бутонът също се наблюдава с помощта на GPIO12. Когато GPIO5 се освободи, EN се премахва и устройството се изключва.

Линията за данни от приемника се наблюдава от GPIO4. RSSI сигналът се наблюдава от AGC чрез потенциален делител 2: 1.

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

Стъпка 3: Промяна на приемника

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

Както е доставено, RXB6 не прави RSSI сигнала наличен на външните му пинове за данни.

Една проста модификация прави това възможно. Сигналният конектор DER на устройството всъщност е само повторение на сигнала за данни. Те са свързани чрез резистор 0 Ohm, обозначен с R6. Това трябва да се отстрани с помощта на поялник. Компонентът с етикет R7 сега трябва да бъде свързан. Горният край всъщност е RSSI сигнал, а долният отива към DER конектора. Човек би могъл да използва резистор от 0 ома, но просто го свързах с малко жица. Тези места са достъпни извън металната кутия за пресяване, която не е необходимо да се премахва за тази модификация.

Модификацията може да бъде тествана чрез свързване на волтметър към DER и GND с включен приемник. Той ще показва напрежение между около 0.4V (без получена мощност) и около 1.8V с локален източник от 433MHz (например дистанционно управление).

Втората модификация не е абсолютно съществена, но е доста желателна. Както е предоставено, времето за реакция на AGC на приемника е настроено да бъде доста бавно, като отнема няколкостотин милисекунди, за да отговори на получения сигнал. Това намалява времевата разделителна способност по време на RSSI заснемания и също така прави по -малко отзивчиво използването на RSSI като тригер за улавяне на данни.

Има един кондензатор, който контролира времето за реакция на AGC, но за съжаление се намира под металната кутия за пресяване. Всъщност е доста лесно да се премахне скрининговата кутия, тъй като тя се държи само от 3 уши и може да бъде оценена чрез нагряване на всеки от тях на свой ред и повдигане с малка отвертка. След като бъде отстранен, можете да почистите отворите за повторно сглобяване, като използвате оплетка за спойка или повторно пробиване с около 0,8 мм бит.

Модификацията е да се премахне съществуващия AGC кондензатор С4 и да се замени с 0,22uF кондензатор. Това ускорява реакцията на AGC с около 10 пъти. Това няма вредно въздействие върху работата на приемника. На изображението показвам изрязване на песен и връзка към тази песен от AGC кондензатора. Това не е необходимо, но прави точката AGC достъпна на подложка извън скрининговата кутия под кристала в случай, че някой иска да добави допълнителен капацитет. Не е необходимо да го правя. След това скринингът може да бъде заменен.

Ако използвате модула WL301-341 RX, снимката показва това с подчертан AGC кондензатор. Показан е и щифтът за RSSI сигнал. Това всъщност не е свързано с нищо. Човек може просто да свърже фин проводник директно към щифта. Алтернативно, двата централни джъмпера са свързани помежду си и двете носят изхода на данните. Проследяването между тях може да бъде изрязано и след това RSSI да бъде свързан към резервния, за да направи RSSI сигнала наличен на джъмперния изход.

Стъпка 4: Строителство

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

Необходими са около 10 компонента извън модула ESP-12. Те могат да бъдат съставени и свързани на парче прототипна дъска. Използвах специална прототипна платка за ESP, която използвах, за да улесня монтажа на регулатора и други smd компоненти. Това се свързва директно върху модула ESP-12.

Кутията, която използвах, е 3D отпечатан дизайн с 3 вдлъбнатини в основата, за да вземе приемника, дисплея и esp модула. Той има изрез за дисплея и отвори за точката за зареждане и бутон, които трябва да бъдат поставени и закрепени с малко количество покси смола.

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

Стъпка 5: Софтуер и конфигурация

Софтуерът е вграден в средата Arduino.

Изходният код за това е на адрес https://github.com/roberttidey/RF433Analyser Кодът може да има някои константи за пароли, променени от съображения за сигурност, преди да бъдат компилирани и прехвърлени на устройството ES8266.

  • WM_PASSWORD определя паролата, използвана от wifiManager при конфигуриране на устройството в локална wifi мрежа
  • update_password определя парола, използвана за разрешаване на актуализации на фърмуера.

При първото използване устройството влиза в режим на конфигуриране на wifi. Използвайте телефон или таблет, за да се свържете с точката за достъп, създадена от устройството, след което прегледайте до 192.168.4.1. От тук можете да изберете локалната wifi мрежа и да въведете нейната парола. Това трябва да се направи само веднъж или при смяна на wifi мрежи или пароли.

След като устройството се свърже с локалната си мрежа, то ще слуша команди. Ако приемем, че неговият IP адрес е 192.168.0.100, тогава първо използвайте 192.168.0.100:AP_PORT/upload, за да качите файловете в папката с данни. Това ще позволи на 192.168.0.100/edit да преглежда и качва допълнителни файлове и също така ще позволи на 192.168.0.100 да има достъп до потребителския интерфейс.

Точките, които трябва да се отбележат в софтуера, са

  • ADC в ESP8266 може да се калибрира, за да се подобри неговата точност. Низ в конфигурационния файл задава постигнатите необработени стойности за две входни напрежения. Това не е особено важно, тъй като RSSI е сравнително относителен сигнал в зависимост от антената и т.н.
  • Напрежението RSSI към db е сравнително линейно, но се криви в крайностите. Софтуерът има кубична форма за подобряване на точността.
  • По -голямата част от аритметиката се извършва с помощта на мащабирани цели числа, така че RSSI стойностите всъщност са 100 пъти действителните. Стойностите, записани във файлове или показани, се преобразуват обратно.
  • Софтуерът използва проста машина на състоянието за контрол на улавянето на RSSI и преходите на данни.
  • Преходите на данни се наблюдават с помощта на програма за прекъсване на услугата. Нормалната обработка на цикъла на Arduino е спряна по време на улавяне на данни и наблюдателят се поддържа жив локално. Това е, за да се опитаме да подобрим латентността на прекъсванията, за да запазим измерванията на времето възможно най -верни.

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

Това се съхранява в esp433Config.txt.

За RSSI улавяне интервалът на извадката и продължителността могат да бъдат зададени.

За улавяне на данни може да се зададе ниво на задействане на RSSI, брой преходи и максимална продължителност. Подходящо ниво на задействане е около +20dB на фона без ниво на сигнал. Низ pulseWidths също позволява лесно категоризиране на ширината на импулса, за да се улесни анализът. Всеки регистриран ред има pulseLevel, ширина в микросекунди и код, който е индексът в низа pulseWidths, който е по -голям от измерената ширина.

CalString може да подобри точността на ADC.

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

Трите настройки на бутоните контролират какво отличава късите средни и дълги натискания на бутони.

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

Стъпка 6: Използване

Устройството се включва с натискане на бутона за кратко.

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

Кратко натискане на бутон ще инициира RSSI заснемане във файл. Обикновено това ще приключи, когато продължителността на RSSI приключи, но следващо кратко натискане на бутон също ще прекрати заснемането.

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

Задържането на бутона по -дълго от продължителността на бутона ще изключи устройството.

Командите за улавяне могат да бъдат инициирани от уеб интерфейса.

Стъпка 7: Уеб интерфейс

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

Достъпът до устройството чрез неговия ip адрес показва уеб интерфейс с 3 раздела; Заснемане, състояние и конфигурация.

Екранът за заснемане показва заснетите в момента файлове. Съдържанието на файл може да бъде показано, като щракнете върху името му. За всеки файл има и бутони за изтриване и изтегляне.

Има и бутони за улавяне на RSSI и данни за улавяне, които могат да се използват за започване на улавяне. Ако е дадено име на файл, той ще се използва в противен случай ще бъде генерирано име по подразбиране.

Разделът config показва текущата конфигурация и позволява промяната и запазването на svalues.

Уеб интерфейсът поддържа следните повиквания

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

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

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