Как стать автором
Обновить

Как установить связь с 36-летним космическим зондом с помощью GNU Radio

Время на прочтение 2 мин
Количество просмотров 25K
Беспроводные технологии *Стандарты связи *


В мае 2014 года группа энтузиастов успешно установила связь с космическим аппаратом ISEE-3, который был запущен в 1978 году, успешно закончил свою миссию в 1999 году и с тех пор был законсервирован.

Сейчас участники этого проекта опубликовали инструкции (и готовы выслать исходный код), чтобы любой желающий мог повторить эксперимент и послать команды зонду. Если, конечно, у вас есть достаточно большая спутниковая тарелка.
Читать дальше →
Всего голосов 50: ↑41 и ↓9 +32
Комментарии 13

Реверс-инжиниринг радиоуправляемого танка с помощью GNU Radio и HackRF

Время на прочтение 10 мин
Количество просмотров 29K
Реверс-инжиниринг *

Год назад наша CTF-команда на крупном международном соревновании RuCTF в Екатеринбурге в качестве одного из призов получила радиоуправляемый танк.


Зачем команде хакеров игрушечный радиоуправляемый танк? Чтобы его реверсить, конечно.


В статье я расскажу, как при помощи GNU Radio и HackRF One можно c нуля разобраться в беспроводном протоколе управления танком, как декодировать его пакеты и генерировать их программно, чтобы управлять танком с компьютера.


image

Читать дальше →
Всего голосов 60: ↑55 и ↓5 +50
Комментарии 21

Как собрать GSM телефон на базе SDR

Время на прочтение 13 мин
Количество просмотров 35K
Блог компании Positive Technologies Разработка систем связи *


Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, данный модуль чаще всего работает под управлением проприетарной операционной системы с закрытым исходным кодом, и берет на себя всю работу, связанную с голосовыми вызовами, SMS-сообщениями и мобильным Интернетом.

В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и исправлять всевозможные ошибки, но и убедиться в отсутствии так называемых «закладок» в коде. Кроме того, открытый исходный код позволяет начинающим разработчикам учиться на примере более опытных, используя результаты их работы в качестве опоры.
Всего голосов 37: ↑37 и ↓0 +37
Комментарии 7

Изучаем GNU Radio при помощи микрофона

Время на прочтение 7 мин
Количество просмотров 41K
Блог компании Z-Wave.Me Физика Интернет вещей DIY или Сделай сам Звук


Прошлая статья про SDR и GNU Radio показала, что тема интересна сообществу. Учитывая, что про пакет GNU Radio информации на русском языке почти нет, да и на английском не всё понятно, я решил описать свои опыты с GNU Radio.

Про SDR и GNU Radio я уже писал в предыдущей статье. Напомню, моя цель показать, как перехватывать и даже излучать радио сигнал для управления устройствами умного дома (да и вообще IoT). Считаю важным привлечь внимание к безопасности в IoT. Но до этого нам ещё далеко… Для начала разобраться бы с GNU Radio!

SDR-приёмник есть не у всех, и мне показалось, что будет полезным показать, что можно сделать с GNU Radio с тем, что есть у каждого — а именно с микрофоном вашего ПК и наушниками.

Под катом несколько интересных экзерсисов со звуком.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 9

Software Defined Radio — как это работает? Часть 4

Время на прочтение 10 мин
Количество просмотров 35K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Туториал
Привет, Хабр.

В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода.



Для примера рассмотрим задачу параллельного приема нескольких FM-станций на один приемник. В качестве приемника будем использовать все тот же RTL SDR V3.

Продолжение под катом.
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Комментарии 26

Software Defined Radio — как это работает? Часть 5

Время на прочтение 4 мин
Количество просмотров 18K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Туториал
Привет, Хабр.

В предыдущей части был рассмотрен прием сигналов с помощью GNU Radio. Сейчас мы рассмотрим обратную задачу — передачу сигналов различного вида модуляции.



Как и в случае приема, с помощью GNU Radio можно создать сложную программную систему для передачи сигналов, не написав ни одной строчки кода. Но для начала рассмотрим SDR-устройства, способные работать не только на прием, но и на передачу, в диапазоне от мегагерц до гигагерц.

Продолжение под катом.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 27

Software Defined Radio — как это работает? Часть 6

Время на прочтение 30 мин
Количество просмотров 11K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Туториал
Привет, Хабр.

В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем.



И как и в предыдущем случае, мы сделаем это, не написав ни одной строчки кода, программа также будет кроссплатформенной, и сможет работать как под OSX/Linux, так и под Windows. Я также покажу, как отлаживать модем средствами GNU Radio, вообще не имея никакого «железа».

Продолжение под катом.
Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 9

Software Defined Radio — как это работает? Часть 8

Время на прочтение 47 мин
Количество просмотров 9.9K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Привет Хабр.

В одной из предыдущих статей про Software Defined Radio был задан вопрос, как декодировать RDS с помощью GNU Radio. Декодер RDS является не таким уж простым для создания с нуля, но к счастью для нас, в GNU Radio он уже встроен, так что несложно посмотреть как он работает, не написав ни одной строчки кода, достаточно лишь приемника RTL-SDR.



Как это работает, продолжение под катом.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 12

Software Defined Radio — как это работает? Часть 9

Время на прочтение 69 мин
Количество просмотров 9K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Привет, Хабр.

В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер.

Вариантов будет два — простой, и более сложный, с RDS.



Как и в предыдущих случаях, сделаем мы все это в GNU Radio, не написав ни одной строчки кода. Для тех кому интересно, продолжение под катом.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 15

Software Defined Radio — как это работает? Часть 10

Время на прочтение 43 мин
Количество просмотров 11K
Программирование *Разработка систем связи *Гаджеты Научно-популярное Электроника для начинающих
Привет, Хабр.

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



Как многие наверное уже догадались, речь пойдет о стандарте DRM — Digital Radio Mondiale (не путать с другим DRM, Digital Rights Management).

Ну и т.к. мы будем говорить об SDR, то посмотрим не только как принимать DRM, но и как его передавать. Продолжение под катом.
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 10

Принимаем и декодируем аналоговое ТВ с помощью SDR и Python

Время на прочтение 4 мин
Количество просмотров 19K
Python *Программирование *Научно-популярное Старое железо Электроника для начинающих
Туториал
Привет, Хабр.

Сегодня мы продолжим тему SDR-приема и обработки сигналов. Приемом аналогового ТВ я заинтересовался совершенно случайно, после вопроса одного из читателей. Однако это оказалось не так просто, из-за банального отсутствия образцов сигнала — во многих местах аналоговое ТВ уже отключено. Читатель даже прислал запись с RTL-SDR, однако ширина записи у RTL порядка 2МГц, в то время как полоса ТВ-сигнала занимает около 8МГц, и на записи было ничего не понятно. В итоге, тема была надолго заброшена, и наконец, только сейчас, в очередную поездку к родственникам я взял с собой SDRPlay, и настроившись на частоты ТВ-каналов, увидел на экране искомый сигнал.

Небольшая программа на Python, и все работает:



Для тех, кому интересны подробности, продолжение под катом.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 17

Iridium: принимаем и декодируем сигналы группировки спутников у себя дома

Время на прочтение 5 мин
Количество просмотров 40K
Программирование *Разработка систем связи *Космонавтика DIY или Сделай сам Электроника для начинающих
Привет, Хабр.

В предыдущей части мы рассмотрели прием сигналов спутников Inmarsat. Сейчас мы рассмотрим не менее интересную систему — спутниковую систему связи Iridium, принять сигналы которой также может у себя дома любой желающий.


Покрытие сети Iridium, фото из Википедии

Для тех, кому интересно как это работает, продолжение под катом.
Всего голосов 44: ↑44 и ↓0 +44
Комментарии 21

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio

Время на прочтение 14 мин
Количество просмотров 15K
Python *Программирование *Беспроводные технологии *Разработка систем связи *Научно-популярное
Туториал
Привет, Хабр.

Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию модема с помощью OFDM и GNU Radio.

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

Для тех, кому интересно как это работает, продолжение под катом.
Читать дальше →
Всего голосов 45: ↑45 и ↓0 +45
Комментарии 16

Панорама-FM или как увидеть все радиостанции сразу с помощью SDR

Время на прочтение 38 мин
Количество просмотров 16K
Python *Программирование *Разработка систем связи *Гаджеты DIY или Сделай сам
Туториал
Привет, Хабр.

Наверное все, хоть немного интересующиеся радиосвязью, знают что с помощью SDR-приемника возможно принимать и обрабатывать широкую полосу спектра радиодиапазона. Собственно, отображением спектра в таких программах как HDSDR или SDR# никого не удивить. Я покажу как построить псевдо-3D спектр принимаемых станций с помощью RTL-SDR, GNU Radio и примерно 100 строк кода на языке Python.



Также мы возьмем приемник посерьезнее, и посмотрим на весь FM спектр 88-108МГц.
Продолжение под катом.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 26

Определяем направление на аэропорт с помощью RTL-SDR и GNU Radio

Время на прочтение 4 мин
Количество просмотров 15K
Программирование *Беспроводные технологии *Разработка систем связи *Гаджеты Научно-популярное
Привет, Хабр!

В настоящее время существует не так уж много стандартов связи, которые с одной стороны, любопытны и интересны, с другой стороны, их описание не занимает 500 страниц в формате PDF. Одним из таких, несложных для декодирования, является сигнал VHF Omni-directional Radio Beacon (VOR), используемый в аэронавигации.


VOR Beacon (с) wikimedia.org

Для начала вопрос читателям — как сформировать сигнал так, чтобы с помощью ненаправленной приемной антенны можно было определять направление? Ответ под катом.
Читать дальше →
Всего голосов 70: ↑70 и ↓0 +70
Комментарии 49