Комментарии 47
Под катом я расскажу… как за 8 баксов сделать приёмник… китайской управляемой розетки
А пока (в следующей статье) будем довольствоваться приёмом команд от пульта к розетке из китайского набора на 433 МГц

Я уже молчу про то, что у соседа может и не быть Z-Wave вообще, и тем более — про "поиздеваться".
ps. расскажу всем желающим, как слушать/управлять китайскими розетками за $2,5.
Для "поиздеваться" нужно иметь HackRF One или аналог (у меня Rad1o Badge). Можно и за 2.5 бакса, но здесь о методе, а не о цене.
С китайскими розетками будем развлекаться в следующей части — там протокол сильно проще, чем Z-Wave и аналоги. Там простая модуляция и примитивная адресация.
С китайскими розетками будем развлекаться в следующей части — там протокол сильно проще, чем Z-Wave и аналоги. Там простая модуляция и примитивная адресация.
Я на самом деле о том, что ломать чужие лампочки — мягко, говоря, не слишком высокая честь. Впрочем, дело ваше.
Да я и не собирался ;) Ведь не ради этого всё делается, а ради понимания, что и как работает. Поверьте, будучи разработчиком Z-Wave устройств, я могу слушать эфир и фабриковать пакеты и без всех этих понтов с GNURadio. Удовольствие не в том, чтобы взломать, а в том, чтобы уметь и понимать степень угрозы.
расскажи )))
Делай раз
Делай два
Делай три
Делай четыре
Принцип простой: подключаем приемник и передатчик к Arduino (приемник нужен, чтобы прочитать команды имеющихся пультов и больше ни для чего) и пользуемся библиотекой RC-Switch для чтения/передачи команд. Во многих случаях больше ничего не нужно, поскольку китайцы в простейших розетках, выключателях света, датчиках ОПС и реле используют одни и те же кодировщики сигнала (SC/PT2260/2262 и подобные) и одну и ту же амплитудную модуляцию.
Также есть библиотеки для специфических вариантов розеток, библиотека для радиовыключателей Livolo (китайцы извратились — сделали похоже на распространенную систему SC/PT2260/2262, но со своей загогулиной), плюс с помощью элементарной схемы, Audactiy и собственной головы можно эмулировать множество других протоколов с амплитудной модуляцией.
Делай два
Делай три
Делай четыре
Принцип простой: подключаем приемник и передатчик к Arduino (приемник нужен, чтобы прочитать команды имеющихся пультов и больше ни для чего) и пользуемся библиотекой RC-Switch для чтения/передачи команд. Во многих случаях больше ничего не нужно, поскольку китайцы в простейших розетках, выключателях света, датчиках ОПС и реле используют одни и те же кодировщики сигнала (SC/PT2260/2262 и подобные) и одну и ту же амплитудную модуляцию.
Также есть библиотеки для специфических вариантов розеток, библиотека для радиовыключателей Livolo (китайцы извратились — сделали похоже на распространенную систему SC/PT2260/2262, но со своей загогулиной), плюс с помощью элементарной схемы, Audactiy и собственной головы можно эмулировать множество других протоколов с амплитудной модуляцией.
Ну, это не интересно. Можно и готовый пульт купить. Интересно же в радио разобраться, а не готовую библиотеку подключить. Весь фан прямо выкинули… ;)
У меня, если честно, такое ощущение, что вы читаете, но до конца не дочитываете ) Но уж раз так, то: с радио на 433 МГц с амплитудной модуляцией никакого фана. Либо есть несущая — либо ее нет. А дальше либо руками (ага, Audacity), либо с помощью анализатора протоколов, либо с помощью библиотек.
И вот:
Фан раз
Фан два
И вот:
Фан раз
Фан два
Согласен, согласен, фан есть. Просто я хочу сделать руками то, что в этой RCSwitch запрограммировано.
Я из тех, кто пока сам ручками не пройдёт весь путь, не прочувствует, как оно устроено.
Я из тех, кто пока сам ручками не пройдёт весь путь, не прочувствует, как оно устроено.
Еще можно беспроводным дверным звонком управлять, чтобы уж совсем...


https://github.com/andersesbensen/rtl-zwave — набор утилит для прослушивания траффика z-wave, как раз для rtl sdr
https://github.com/AFITWiSec/EZ-Wave — а тут с возможность посылать команды, но нужно уже что-то типа HackRF. Зато в комплекте идут слайды с их презентации, которая была в этом году.
https://github.com/AFITWiSec/EZ-Wave — а тут с возможность посылать команды, но нужно уже что-то типа HackRF. Зато в комплекте идут слайды с их презентации, которая была в этом году.
Мне кажется, тут оба объяснения верны: усреднение позволяет убрать альясинг от более высокой частоты (у меня в примере "на пальцах" 0 5 10 имеет в 3 раза выше частоту), т.е. наложение более высокой частоты на частоту моего прореживания. Усреднение и есть фильтр нижних частот.
Ваше объяснение более точно звучит, но совсем не очевидно "на пальцах". Если подскажете, как более корректно описать без влезания в дебри, поправлю текст.
Ваше объяснение более точно звучит, но совсем не очевидно "на пальцах". Если подскажете, как более корректно описать без влезания в дебри, поправлю текст.
Фам Нювен одобряет
в диапазоне > 20 МГц нет станций с AM модуляцией
Авиадиапазон 118-138 МГц АМ-модуляция.
Авиадиапазон 118-138 МГц АМ-модуляция.
Из дома не слышу их, далеко до а/п, а самолёты над городом не летают. Я хотел найти что-то такое, что все смогут увидеть и поизучать. АМ, конечно, проще сделать из базовых блоков GNURadio (имею в виду не из готовых блоков, а из базовых математических).
Самолеты на авиадиапазоне с земли слышны за много сотен километров. И притом на "резинку" портативной радиостанции или "сканера".
Я так понимаю, передача идёт не очень часто. Особенно сейчас, ночью, когда самолёты не очень-то и летают. Надо утром попробовать будет.
Сидя в 10км от Внуково, я слышу всю МВЗ, про расстояние врать не буду, но пересечение госграницы я слышал однажды.
А еще именно при помощи SDR-свистка я слушал наземные службы Внуково, очень забавные там были иногда разговоры.
А еще именно при помощи SDR-свистка я слушал наземные службы Внуково, очень забавные там были иногда разговоры.
Поделитесь, какие частоты. От меня 30 км через бетон златоглавой, т.е. без шансов. Но у друзей в Новопеределкино прямая видимость, можно будет попробовать.
Бетон ничего не значит, диспетчеры всего кроме старта/посадки сидят и вещают из Постниково. Самолёты слышно за 200км устойчиво на крысий хвост, идущий в комплекте со свистком.
Частоты авиадиапазона смотрите на радиосканнере, 108-118МГц, а вот частоты наземных служб я не помню, то ли 900 с чем-то, то ли 600. Вообще, передачи все на waterfall очень хорошо видно.
Частоты авиадиапазона смотрите на радиосканнере, 108-118МГц, а вот частоты наземных служб я не помню, то ли 900 с чем-то, то ли 600. Вообще, передачи все на waterfall очень хорошо видно.
Одно время пытался поймать переговоры, ставил метровую телевизионную антенну — ни земли, ни самолетов. А ADBS координаты свисток дешифровывает.
У меня свисток с вырезанным куском, так что ADS-B мне не доступен, увы…
К телевизионной антенне смысла цепляться нет, в ней внутри могут стоять фильтры на диапазон.
Найдите частоту подхода ближайшего к вам аэродрома, и попробуйте послушать её на хвост, который идёт с свистком.
К телевизионной антенне смысла цепляться нет, в ней внутри могут стоять фильтры на диапазон.
Найдите частоту подхода ближайшего к вам аэродрома, и попробуйте послушать её на хвост, который идёт с свистком.
Кроме согласующий цепей внутри ничего фильтрующего "диапазоны" нет. Может быть усилитель, если антенна активная. А вот диаграмма направленности теле антенны достаточно узкая, по этому нужно достаточно точно знать направление на источник сигнала. Отсюда и тишина в эфире — пока они вещают, ваша антенна в другую сторону смотрит. Повернули в нужную, а там уже замолчали
А карты погоды со спутников на частоте 137 МГц не пробовали принимать таким образом? У меня прям мечта детства, с тех времен, когда интернет был еще не у всех.
Увы, я не вижу, слабый сигнал, видимо, а антенна у меня совсем не на 2 метровые волны. А резать эту не хочется. Надо разъем такой найти и сделать за окном. Тогда и самолёты будут слышны.
Принимается без проблем на квадрифолярную антену вынесенную на балкон. Правда при таком расположении связь пропадает, когда спутник экранируется домом. При установке на крыше было бы дольше-лучше-дальше.
Если принимать на растяжку или на два полуволновых вибратора, то тик-так со спутника слышен и на подоконнике — но картинку нормальную не получить.
Для GNURadio есть скрипт позволяющий принимать LRPT (цифровой поток 137мгц) с Метеора М2 на RTL-SDR. Правда я давно не интересовался его здоровьем и не уверен вещает ли он сейчас в этом формате
Если принимать на растяжку или на два полуволновых вибратора, то тик-так со спутника слышен и на подоконнике — но картинку нормальную не получить.
Для GNURadio есть скрипт позволяющий принимать LRPT (цифровой поток 137мгц) с Метеора М2 на RTL-SDR. Правда я давно не интересовался его здоровьем и не уверен вещает ли он сейчас в этом формате
Статья неплохая, но содержит множество технических неточностей.
Описание неточностей
Оба сигнала физически значимы, и по отдельности спектрально представляют собой смесь спектров справа и слева от несущей с разными
фазовыми соотношениями, что дает возможность отделить и использовать то, что в классическом гетеродинировании является зеркальным каналом и просто подавляется. Это является основной целью квадратурной обработки.
Комплексный сигнал, то есть.
Существенное отличие технологии SDR в том, что SDR-приемники дают доступ к квадратурным составляющим сигнала. Почти все современные приемники (Wi-Fi, Bluetooth, чипы вроде nRFxxxx) производят обработку сигнала именно в квадратуре, но не все дают к ней доступ извне.
Скорее способ переноса спектра сигнала в область несущей.
Скорее 869 МГц*10 = 8.7 GSPS.
Это и есть гетеродинирование.
В этом состоит работа аналоговых входных цепей (analog front-end). Само по себе SDR — принцип прямого доступа к квадратурным составляющим с программного уровня.
Не буду врать, я не знаком с конкретной реализацией GNU Radio, но классический цифровой фильтр — это свертка сигнала с соответствующим ядром. Все это происходит во временнОй области, без перехода в частотную.
В случае вещественного сигнала значимые компоненты расположены до частоты Котельникова/Найквиста, а дальше зеркально повторяются. В случае комплексного сигнала используются все выборки.
К слову, это одно из преимуществ квадратурной обработки — каждый канал (I/Q) требует только половину полосы сигнала.
Описание неточностей
Важно помнить, что физически значимый сигнал — это действительная часть Re нашего комплексного представления.
Оба сигнала физически значимы, и по отдельности спектрально представляют собой смесь спектров справа и слева от несущей с разными
фазовыми соотношениями, что дает возможность отделить и использовать то, что в классическом гетеродинировании является зеркальным каналом и просто подавляется. Это является основной целью квадратурной обработки.
Итак, получив последовательность значений I и Q
Комплексный сигнал, то есть.
SDR (Software Defined Radio) позволяет программно перестраивать приёмник и передатчик для работы на различных частотах от 20 до 2000 МГц, после чего произвести обработку сигнала на компьютере с помощью цифровых методов. Это существенно отличает SDR от аналоговых схем радиопрёмников и передатчиков, позволяя легко менять алгоритм обработки полученного сигнала.
Существенное отличие технологии SDR в том, что SDR-приемники дают доступ к квадратурным составляющим сигнала. Почти все современные приемники (Wi-Fi, Bluetooth, чипы вроде nRFxxxx) производят обработку сигнала именно в квадратуре, но не все дают к ней доступ извне.
Модуляция — это способ преобразовать низкочастотный сигнал в высокочастотный, чтобы потом, после передачи, его демодулировать, т.е. преобразовать обратно в низкочастотный.
Скорее способ переноса спектра сигнала в область несущей.
Понятно, что оцифровывать сигнал на такой частоте даже современным компьютерам не под силу — для надёжной оцифровки потребуется запускать АЦП примерно каждые 8000 раз в секунду (если мы считаем 10 отсчётов на период достаточным шагом по времени).
Скорее 869 МГц*10 = 8.7 GSPS.
Те, кто помнят устройство старых радиоприёмников, увидят здесь аналогию с гетеродином.
Это и есть гетеродинирование.
Работа SDR состоит в том, чтобы сгенерировать синтетический сигнал на нужной частоте, перемножить его с отфильтрованным входным сигналом с антенны, пропустить через фильтр низких частота, убрав высокочастотную компоненту, и подать на АЦП.
В этом состоит работа аналоговых входных цепей (analog front-end). Само по себе SDR — принцип прямого доступа к квадратурным составляющим с программного уровня.
фильтр низких частот работает по принципу преобразования спектра сигнала, уменьшая высокие частоты, после чего полученный спектр обратно преобразуется в сигнал.
Не буду врать, я не знаком с конкретной реализацией GNU Radio, но классический цифровой фильтр — это свертка сигнала с соответствующим ядром. Все это происходит во временнОй области, без перехода в частотную.
Теперь становится понятно, что для анализа полосы от -200 до 200 кГц нам нужно иметь sample rate не менее 400 000.
В случае вещественного сигнала значимые компоненты расположены до частоты Котельникова/Найквиста, а дальше зеркально повторяются. В случае комплексного сигнала используются все выборки.
К слову, это одно из преимуществ квадратурной обработки — каждый канал (I/Q) требует только половину полосы сигнала.
Ё-мое, эта большая портянка должна была быть спойлером...
Со многим согласен, хотя в некоторых местах вы явно перфекционизмом занялись — цель была сделать чтиво попроще и понятным хотя бы автору ;)
Поправлю текст для будущих поколений. Или не трогать и оставить этот коммент здесь в качестве уточнения? Как тут принято?
Поправлю текст для будущих поколений. Или не трогать и оставить этот коммент здесь в качестве уточнения? Как тут принято?
Я, разумеется, не оспариваю необходимость упрощения материала, но, по-моему, в случае технических статей упрощение никогда не должно означать перехода к размытым, а то и явно ошибочным формулировкам. Полуправда здесь иногда бывает хуже явной лжи, ибо еще сильнее запутывает человека, пытающегося разобраться.
Не знаю, честно говоря, как тут принято, я все же не завсегдатай этого ресурса. Пускай кто-нибудь более знающий укажет, как следует поступить. Сама-то статья несомненно интересная, ибо, насколько я могу судить, про GNU Radio на русском написано не так много.
Об упрощении
Я бы вообще не стал вдаваться в природу синфазной и квадратурной компонент (I/Q) — это материал для отдельной статьи. Просто не грузить этим читателя, если мы предполагаем, что он изначально мало знаком с темой. Далее, формулировка "способ преобразовать низкочастотный сигнал в высокочастотный" наводит на мысли об умножении частоты, в то время как имеется в виду перенос информации с одной несущей на другую. И так далее...
Не знаю, честно говоря, как тут принято, я все же не завсегдатай этого ресурса. Пускай кто-нибудь более знающий укажет, как следует поступить. Сама-то статья несомненно интересная, ибо, насколько я могу судить, про GNU Radio на русском написано не так много.
Что еще почитать:
www.rtl-sdr.com — все о RTL2832U включая ссылки на необходимый софт
www.flightradar24.com/build-your-own — собираем adb-s приемник для flightradar24
play.google.com/store/apps/details?id=marto.androsdr2&hl=en — при наличии root и OTG можно подцепить к android-смартфону
www.rtl-sdr.com — все о RTL2832U включая ссылки на необходимый софт
www.flightradar24.com/build-your-own — собираем adb-s приемник для flightradar24
play.google.com/store/apps/details?id=marto.androsdr2&hl=en — при наличии root и OTG можно подцепить к android-смартфону
На базе SDR можно сделать осциллограф?
Как нибудь попроще, для чайника?
(гугл, яндекс отвечают односложно, в виде 3 вариаций одного и того же на 50+ страницах).
Как нибудь попроще, для чайника?
(гугл, яндекс отвечают односложно, в виде 3 вариаций одного и того же на 50+ страницах).
Для низких частот осциллограф "делается" из звуковой карты.
Не нужно так делать.
Обыкновенный осциллограф умеет работать с сигналами частотой 0 Гц, т.е. от постоянного тока и выше.
У DVB-свистков минимальная частота сигнала — мегагерцы (HackRF обещают от 1 МГц, у китайцев наверняка больше на порядок).
Т.к. "в быту" наиболее интересны сигналы от 0 и до сотен килогерц, подобные железяки не помогут никак...
Из дешёвых решений поищите слово "saleae" и "usbee".
Обыкновенный осциллограф умеет работать с сигналами частотой 0 Гц, т.е. от постоянного тока и выше.
У DVB-свистков минимальная частота сигнала — мегагерцы (HackRF обещают от 1 МГц, у китайцев наверняка больше на порядок).
Т.к. "в быту" наиболее интересны сигналы от 0 и до сотен килогерц, подобные железяки не помогут никак...
Из дешёвых решений поищите слово "saleae" и "usbee".
Из них прямо "из коробки" получаются анализаторы спектра :)
Прочитал статью «как поставить GNU Radio под виндовс». Грусть-тоска: куча зависимостей, всё из исходников, чуть другая версия — и ничего не собирается. И это в официальной документации!
Есть у кого опыт, донглы эти нормально в виртуалку пробрасываются? Там трафик-то немаленький, и к задержкам критичный…
Есть у кого опыт, донглы эти нормально в виртуалку пробрасываются? Там трафик-то немаленький, и к задержкам критичный…
Оно и на Ubuntu не на всех версиях нормально работает. Сейчас специально поставил виртуалку для GNURadio, чтоб её не трогать и не ломать. Нормально всё пробрасывается. У меня VirtualBox, всё ок.
Статья отличная!
Теперь вопрос: какая средняя погрешность в фазосдвигающем сплиттере (90 град.)?
Теперь вопрос: какая средняя погрешность в фазосдвигающем сплиттере (90 град.)?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Радиоприёмник из DVB стика за $8 — изучаем SDR с GNURadio