Популярные рубрики

expertsdr3 хобби model qrp поломка телефоны expertRS converter sunsdr2 rc1 DX-инг SunSDR 2 радиосвязь кластер трансивер кв KOSS непритности websdr авио впечатления lotw dx LOTW патч-корд авария контесты порты европа JT-65 HF sdr_split ubuntu vac поворотка atom маразм DXCC малина Hexbeam размышлизмы sirio sd dipole 27 ремонт cfm csdr qso покупка RA60 PA3FWM dxcc jt65 шел WSJT-Z HRD swr rtl-sdr flightradar24.com выбор антенна yagi com0com dxspider цифра auto настройки jtdx phone ачх ебанутый модератор BUSY 317at/hq наводка 11м ft4 нет звука 100w дпф дефект дроп RTT 999 sdr чат sirio sd 27 dipole помехи rtty Challenge питон ssb libpng12 ExpertSDR3 117 to 220 интерфейс уши для КВ творчество прибор fm stop filter yaesu 2016 новый проект юбилей ExpertSDR2 contest iota hamradiodelux брак 20м приемник city window ft450 ew5a cw споты development purposes balun award LAN настройка OpenWebRX установка цена лог nanovna hp 27555 ads-b cq ww ssb 2017 шумоподавитель юмор программирование BARTG антенны коррекция конструктив RU9CA звук waz поломки ft8 проблема cat впечатление 10m QSO баги тг али новинки CAT rr-33 solution psk новости ham so2r портативка ExpertSDR visair басня ft-450 укв плагин ebay cluster moxon 5el api под впечатлением азимут VSPE софт expertsdr remoteclient микрофон контест remote CW banddata обновление управление гомель телеграф G450 upgrade мнение t4070 статистика 6 band pass filter сигнал cwww сервер rotator смешно графики тренировка windows xp SunSDR прохождение qrn печаль psk63 sdc диплом памятка помеха на 14140 setup качество команды dhcp сиби g-450 sdr_split_sdr_commander нет передачи шутка xeon наводки afedri sdr serial port splitter активность ew8zo водопад cqww11 ur5eqf yaesu g450 анализатор unicomdual мысли 2019 cb-radio алс stamp cq wpx cw contest mmana доработки qth cq ww cw contest диги wpx связь мощность cqww RA60H1317 AFEDRI sdr ум калибровка ru9ca яги ксв-метр наушники 4070 web ur2mo cw type wsjtx lubuntu покупки сломан WSPR 1090 mhz tyt 380 Геминиды марка afedri ft4 lotw ur5eqf баг на баге umgg профилактика эндис expertsdr 2 beta 2 совет гит sunsdr2 cw bias tee ASUS A9RP техподдржка digi arrl 145б антиконтестинг faq мост Yaesu G450 планы cqham google hexbeam позиция на злобу дня ксв kiwisdr newone усилитель audio wsjt узо abcd апгрейд sunsdr2 dx map СССР dump1090 цифровой магнитофон 2020 cq ww домен гарнитура сервис осциллограф ветер баг ee beta 7 маламут сдр ммана панорама windows 7 pa3fwm notebook соревнования результат 2023 fm reject filter lp журнал логи метеоры expertsdr2 raspberry pi ее запретительство удаленка band дипломы упс проблемы тюнер эмоции долбаебы атакуют гарантия challenge Hungarian DX Contest 145 мгц google api cb ses вентиляция TCI 5Mcontest FP10120 ROS dxlog роутер WSJT-X подстройка японский R5HA flightradar24 убежали резонансы eesdr цена ремонта борт Software Defined Connectors таганрог vm1tx VAC 145 лотв трафик помеха sunsdr2 pro macos unicom dual mb1 Xtream WX Support эквалайзер expertsdr beta 5 alc генератор стеки seti@home FM 2021 сатира vhf регистрация Triple Filtered LNA монка переходник 1.55 2022 ham it up lna reversebeacon Hercules wpx rtty Contest sdr_commander WSJT-x про_жизнь 145 mhz UPS v3 беларусь компенсатор косяки php g450 личное qrm thinkpad ГИ7б педаль так делать нельзя mode поживем увидим

Результаты поиска по запросу тега: web

Июля
2020 года
29
web cluster fix3

Вчера пришло сообщение от EW8DU что на кластере не работает сортировка по модуляции сигнала. Проверил, в самом деле - не работает.

А не работает она потому, что никогда не работала - забыл реализовать эту опцию. :) Пришлось спешно ремонтировать, заодно внес новые виды модуляции в детектор частот - FT8 и FT4,так как очень популярные моды и много людей ими работют.

FIXED!

Июля
2020 года
10
project WEBSDR2 - Ressurection!

Благодаря группе радиолюбителей КВ и УКВ решено восстановить websdr в Гомеле на новом месте, новыми антеннами и новом компьютерном железе (так как cтарое благополучно продано.

new WEBSDR is coming soon! Stay TUNE!

Апреля
2020 года
27
WebSdr - end of game

Похоже, пришла пора признать, что я достаточно наигрался в эту игру. Проект закрыт, на текущий момент сервер на Xeon разобран и продается. В данный момент работает 2х диапазонный вариант на платформе нет-топа , который почти не потребялет энергию, не напрягает финансово и интересен сугубо мне самому.

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

в этом топике постараюсь, если  не забуду, прикрутить конфиги и скин от старого сервера, возиожно кому-то пригодится.

Мая
2019 года
17
WEBSDR - ч13 Временное решение

Вернул временный вариант антенны на дерево, по крайней мере можно будет хоть что-то слушать. По ходу дела, подтвердилась теория о том, что антенна вдоль ЖБ стены принимает больше помех, чем полезных сигналов...
 

update. Так же по ходу дела выяснилось, что полотно вдоль стены нормально работает в составе inv. V :) Прием станций воссановлен в прежнем объеме, но решение все еще остается временым.

Апреля
2019 года
17
WEBSDR - ч12 Проблемы

Вчера остановился кулер видеокарты на сервере, что вызвало аварийную остановку системы.

Сегодня во второй половине дня добрые люди сломали антенну.

websdr остановлен до восстановления

Февраля
2019 года
06
WEBSDR - ч11. FAQ + Новости

Знаю, что сюда заходят самые разные люди. И у некоторых из них есть вопросы.

Часть ответов они получают из моих коротких заметок по теме, на часть вопросов приходящих в письмах я стараюсь отвечать по мере времени и возможностей.

И наверное, часть ответов придется дать сейчас с пояснениями.

А)Отключенный чат

Мне бы очень хотелось иметь на вебсдр включенный чат. Хотелось бы общаться с посетителями, получать "фидбэк", предложения и замечания по работе. Было бы приятно видеть "привет" и пожелания успехов от зарубежных аматоров. Однако вместо всего этого я наблюдал в чате только постоянный "срач"  - продолжение бардака с 7050. Желания, времени и возможностей модерировать это дерьмо у меня нет, поэтому чат пришлось отключить.

Б)Позывные

Для разнообразия, вместо скучных и сухих цифр IP я прикрутил скрипт преобразования их в "Локации", что бы видеть откуда (город/страна) тот или иной посетитель. Однако "7050" пришло и сюда, пытаясь вместо позывных писать разную чушь. Пришлось скрипт немного доработать. На будущее, как только у меня появится время - я сокращу всякую возможность писать там что-то кроме:

1)позывного (пример ew8ax)

2)слова  гость - "Guest"

3)Локация город/страна (будет присваиваться по умолчанию)

 

В) Про антенны

Если коротко - они хреновые и низко расположены.

На КВ - диполь, УКВ  - 3 антенны в стеке в разные стороны с балкона. Однако ввиду низкой высоты, возможен прием только локальных станций.

Есть несколько идей по улучшению качества приема, буду дорабатывать по мере возможности, однако извините господа УКВ-исты из соседних городов, шанс услышать себя есть только на частоте репитера(145,400) или ретранслятора (145,650 + сабтон 107.2).

Г) Зачем WEBSDR?

ВебСДР на сайте "http://websdr.org/" не даром помечен как "эксперементальный". Данная технология представляет для меня значительный интерес поскольку находится на  стыке нескольких направлений - программирование, администрирование, АФУ, радиоприем. Мне это интересно и самаое главное - я сам слушаю свой вебсдр. Трансивер в последнее время включать лень да и интереса нет, поскольку направленная антенна находится на даче и все самое интересное слышно только на нее...

Д)Помехи

К моему удивлению эфир в моем районе относительно чистый, конечно же имеются ввиду городские условия.  Однако переодически, на несколько часов, появляется сильная помеха на 80м, убивающая диапазон. Вечером появляется небольшая локальная помеха 40м, с ней я точно разберусь со временем. К сожалению, в свете пофигизма БЕЛГИЭ на любительские диапазоны, бороться с внешними помехами будет сложно, но опять же - есть идеи, буду эксперементировать. В этом для меня смысл данного проекта.

 

Что было сделано за последнее время:

1)Добавлены ДПФ для 80/40/20, однако они не оправдали возложенных на них ожиданий.

2) В код ВЕБСДР внесен фикс для решения проблемы с браузером CHROME для ПК и мобильной версии. На самом деле гугл давно решила эту проблему и в моей 72  весрии для ПК все работает нормально. Однако не все регулярно обновляются и вчерашний диолог на 2м о кривой работы вебсд в браузере ХРОМ добил меня окончательно и сподвиг на внедрение исправления.

Источник фикса "здесь". Поскольку у меня кастомный дизайн, то пришлось допиливать его под себя, дополнительно я добавил проверку на версию Хрома. По данной ссылке можно найти исправление для дефолтного дизайна. Правда могу заметить что в самом фиксе есть 2 бага. Серьезный и не очень. Читайте исправление вдумчиво, перед началом - сделайте бэкап, он пригодится :)

3) На укв приемнике в тестовом режиме отработал ЛНА на резонаторной трубке от EW8AU, эксперимент не то что бы вышел неудачным, но прибавок и улучшений добиться не удалось. Что характеризует RTL-SDR v3 в положительном ключе при работе на УКВ. EW8MT забери, плиз, девайс как будет время :)

Следующим шагом по улучшению приема на укв будет попытка подключения второй версии :)  Low Loss Bandpass Helical Filter по схеме z33t

4) Почти приехал новый применик для диапазона 10/11 метров, который заменит древнюю версию приемника V1 работающую на данных диапазонах на данный момент.  Для 10/11 сделана отдельная антенна, на которую теперь появился прием такиситов-нелегалов работающих в ФМ на 28+ Мгц.

Планы:

 Предстоит замена 5 портового сумматора на 3 портовый, что в теории уменьшит потери даст некоторую прибавку по чувствительности на КВ.(в теории :) )

Предстоит замена диполя, на... более длинный диполь :) Места очень мало, привлекать внимание соседей нет желания, возможно удастся повесить вместо диполя треугольник...Посмотрим...

 Не представляю когда, но однажды предстоит закинуть всю конструкцию в корпус от системника, как самый доступный вариант или любое другое шасси, который подвернется под руку...

Ноября
2018 года
23
WEBSDR - ч10. LNA + борьба с помехами

1)Просканировав диапазон 50 кГц - 1 Мгц, ожидаемо обнаружил множество помех.

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

Пришлось запитать USB хаб от БП сервера, у которого уровень помех и наводок значительно меньше. Как следствие - диапазоны 80 и 40 стали значительно чище.

2)Поскольку в системе присутствуют два антенных делителя с серьезными потерями, в силу своей простоты и дешевизны, появилась идея компенсировать потери при помощи LNA.

Примерно вот такого:

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

В целом, после выполнения обоих пунктов улучшилось качество приема и визуализации на панораме.

Ноября
2018 года
18
WEBSDR - ч9. Регистрация на websdr.org

Решил проверить нагрузку и вообще посмотреть как происходит регистрация вебсдр в сети на сайте websdr.org.

Сама регистрация, как не странно, происходит автоматически. Вебсдр уведомляет сеть, что ему разрешили стать "публичным" и передает ей свои параметры из конфига. Не уверен, кстати, что это происходит только когда вы сняли соответствующий флаг. Есть подозрения, что данные уходят при каждом старте, сервер проявлет избыточную активность и лезет в интернет, о чем его не просили.

Если сделать  lsof -a -p $(pidof websdr) можно заметить соединение

websdr  4859 websdruser   15u     IPv4 120346364      0t0       TCP websdr:35242->etgd-websdr.ewi.utwente.nl:http (ESTABLISHED)

Что там отдается - бог весть, короче параноиков я предупредил.

Сама опция регистрации банальна, в конфиге

#noorgserver

данная опция должна быть закомментирована. После чего сетевой скрипт тестирует вебсдр по некоторым параметрам из конфига. Он берет hostname и tcpport, соединяет их и пытается подключиться по указанному сетевому адресу. Если попытка удачная - то сервер появляется в списке, если нет - то не появляется. Увы и ах, этот простой алгоритм нигде не указан и выпил много моей крови, прежде чем я пришел к пониманию его сути.

А проблема у меня была в том, что мне хотелось задать для вебсдр  конкретный поддомен. И созданная мною предварительная схема работы через IFRAME не работала.

Что я сделал с самого начала. Я создал поддомен, подключил его к вебсерверу, на вебсервере создал хост и простейший скрипт, в составе которого был включен IFRAME, который обращался к моего домашнему роутеру. Цепочка выглядела так:

Домен -> вебсервер -> срипт -> домашний роутер -> вебсдр.

Конечно, после попытки "регистрации" в вебсдр сети - ничего не заработало.

После некоторых размышлений и экспериментов, после того, как стал ясен алгоритм проверки, цепочка стала выглядеть так.

Домен -> ссылка на другой домен (принадлежащий домашнему роутеру) -> вебсдр

Особенности построения:

1) Роутер имеет бесплатный динамический поддомен типа "Dyndns " вида (XXX.dyndns.com)

2) Домену вместо старой записи зоны типа A на IP хоста, сделана запись типа CNAME на динамический поддомен (XXX.dyndns.com)

3)Для удобства на роутере прописан форвардинг для порта 80 -> IP WEBSDR:8074 (само собой форвардинг для основного порта тоже прописан первым делом 8074->8074)

Таким образом можно попасть на вебсд не только по прямой ссылке с сети кликнув на:

http://websdr.ew8ax.info:8074/

на и просто введя в браузере

http://websdr.ew8ax.info/

Секюрность, по идее, сильно не страдает, снаружи открыты только 2 порта ведущие на конкертный сервис внутри локалки.

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

ew8ax websdr

Октября
2018 года
10
WEBSDR - ч8. Конвертер

Спустя коротких 65 дней после заказа в почтовом ящике обнаружился пакет.

Впервые на моей памяти родная почта удосужилась прислать не купон на "постоять в очереди", а саму бандерольку, странно. В пакете оказался хреново упакованный и так долго ожидаемый конверетр "Ham it up v3".

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

Было:

# Center frequency in kHz:
centerfreq 3300

Cтало:

# Center frequency in kHz:
centerfreq 3300

# Upconverter is 125 MHz.
progfreq 128300

 

и после перезапуска... ничего не заработало...

ham it up v3

Перепроверив все контакты, питание и прочие варианты пришедшие в голову,

я обратил внимание, что номинально все работает, ошибок нет, водопад есть.

Вот только станций на нем не видно.

Поиск как обычно ничего не дал и где-то во время бессмысленных блужданий я припомнил ссылочку [Спасибо, Вам Владимир за эту ссылку ] на интересную статейку от коллег антиподов :)

В статье рассказывалось о создании веб-сдра на малинке, но главным было не это, а цитата на которую я обратил внимание во время прочтения:

Pieter said to me at the first email:

 Note that due to a bug in this version, you may need to restart the
 rtl_tcp driver after starting the WebSDR for it to be programmed
 correctly for use with a converter (which may be inside your "generic"
 receiver).

Т.е. после запуска сервера rtl_tcp нужно убить и запустить заново. Вот же маразм...

Написал собственный костыль, суть которого сводилась к следующему:

 ###  upconverter dognail
 sleep 6
 killall -KILL rtl_tcp

Т.е. запускаем все, убиваем РТЛ, опять запускаем РТЛ... Тупо, но что поделать, по другому, видимо не работает.

 

В составе конвертера кроме прочего обнаружился и ФНЧ:

ham it up LPF

 

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

В очередной раз переделал балун для антенны, в попытке добиться примемлемого КСВ на всех диапазонах...

В очередной раз усилил и углубил антенны для 2м диапазона, местные станции теперь слышны как... местные? :) Короче, очень громко.

Короче, работа кипит, а к нам уже едет ДПФ :)

Октября
2018 года
05
WEBSDR - ч7. Новый балун, антенна, режекторный фильтр

Сильные ветра замучали березу под окном, на которую я закинул свой "just wire". Поэтому однажды, темной ночью...  :D  Поэтому когда меня это достало, я перевесил свою суррогатную антенну на деревце поменьше, зато подальше и ветер не мешает. Провод тонкий, незаметный, вроде бы никому не мешает тоже. Погодим посмотрим, вышло примерно 18 метров и еще 2 внутри балкона :D

На качестве приема геометрия провода никак не отразилась, поэтому вторым делом я занялся балуном. Идея фикс все сделать на ферритовых защелках победила, я перечитал статейку Гоначернко на эту тему, включил анализатор и все починил :D

Дано - "just wire" c удивительно равномерным сопротивлением для бэндов 80m-10m со средним сопротивлением примерно 500 Ом.

Балун вышел почти как в статье - со стороны фидера один виток с замыканием на оплетку (первая обмотка), вторая обмотка - 3 витка и нагрузка в виде резистора  с сопротивлением 500 ом, показал КСВ 1,3-1,5 по всем диапазонам, на 10m похуже ближе к КСВ-2.

Далее, первый конец второй обмотки :) подключаем собственно к полотну, второй конец второй обмотки - к балконной арматруре, с карнизом тоже у меня было хорошо.

Затем пришлось метр отрезать, подогнав КСВ уже на реальной антенне.

Вот тут эфект был ошеломительным.

На 10 все мертво и непонятно, на 20 пропал мусор и я наконец услышал станции несмотря на 2 ночи... А я их раньше даже днем не слышал.

На 40 я впервые наконец-то увидел перегрузку!!! от вещалки с сигналом 9+40...

(вместо аттенюатора сделаю ответвление для диапазона 15 м видимо и уберу избыточное(!!!) усиление)

На 80 добавилось множество станций... Диапазон ожил...

rtl sdr 80 m band

Где-то между всем этим, я добавил режекторный фильтр на ФМ диапазон, но эффект пока не очень понятен, стало меньше грязи что ли... При случае перепроверю...

режекторный фильтр на диапазон 88-108

КСВ на 160 тоже было не самым паршивым, интересно будет ли слышно хоть что-то или нет?

 

Сентября
2018 года
26
WEBSDR - ч6. Переезд

На выходных переехал на новый сервер. Загрузка упала до 10%, даже с учетом добавленного нового приемника на 10 м.

Затем на двух приемниках увеличил полосу с 1Мгц до 2 Мгц. Загрузка выросла до 25%. Честно сказать - я в недоумении, как можно было написать код настолько кривой...

 

Наконец-то пришли китайские разъемы, переходники и  тройники, один тройник оказался с дефектом - не звонился, пришлось разобрать и поправить дефект.

Куча разрозненных элементов на столе, соединенных неизвестно как, наконец-то начинает принимать определенную форму.

Сентября
2018 года
07
WEBSDR - ч5. Новое железо

Поскольку 4 приемника на прошлой конфигурации WebSDR показали 90-100% загрузку системы даже для одного пользователя, решил немного проапрейдить сервер.

Собрав из всех мусорных корзин разные зап.части от собственных апгрейдов, а так же не без помощи знакомых и коллег по работе была собрана следующая конфигурация:

CPU: Intel(R) Xeon(R)  X5660  @ 2.80GHz

consul@websdr:~$ lscpu

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              12
On-line CPU(s) list: 0-11
Thread(s) per core:  2
Core(s) per socket:  6
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               44
Model name:          Intel(R) Xeon(R) CPU           X5660  @ 2.80GHz
Stepping:            2
CPU MHz:             1599.892
CPU max MHz:         2794.0000
CPU min MHz:         1596.0000
BogoMIPS:            5600.22
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            12288K
NUMA node0 CPU(s):   0-11

 

MotherBoard:  Intel® DX58SO2    (2 гигабитные сетевые карты)

Memory: Kingston HyperX KHX1866C10D3/4G

 *-memory
       description: System Memory
       physical id: 15
       slot: System board or motherboard
       size: 4GiB
     *-bank:0
          description: DIMM DDR3 Synchronous 1772 MHz (0.6 ns)
          product: KHX1866C10D3/4G
          vendor: AMD
          physical id: 0
          serial: 0x6802076E
          slot: J1MY
          size: 4GiB
          width: 64 bits
          clock: 1772MHz (0.6ns)

Video:  Radeon HD 3650

 *-display
       description: VGA compatible controller
       product: RV635 [Radeon HD 3650/3750/4570/4580]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=radeon latency=0

(хотелось бы и вовсе без видео, зачем оно консольному серверу? но увы...)

HDD   Toshiba 2.5" HDD MQ01ABD  [320 GB]

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

Не обошлось и без косяков. Дорогой пользователь  Intel® DX58SO2, если ты пользуешься этим хламом - знай, настройку Configuration -> Video -> Auto ---- лучшей обойти стороной, не повторяй мою ошибку :)

А получил я классический DX58SO2  post code '2d' boot issue. Мать вошла в вечную петлю при загрузке биоса (с выбросом пост кода 2d) и никакая разумная сила не могла ее оттуда вывести. Перепрошивка биоса, вынятая батарейка, прочие шаманские танцы с бубном - ничего не помогало.

Совершенно случайно, эмперическим методом выяснилось, что выход из данной программной петли возможен если достать видеоплату. DX58SO2   - ругнувшись запустилась. Что бы справиться с задачей,  пришлось выучить наизусть структуру биоса и POST коды DX58SO2, что бы знать что и в какой момент нажимать. Приложив эти знания к возможности данного экзотического способа запуска, удалось вслепую войти в биос и сбросить его на "дефолт" :)

На решение пролемы ушла неделя, которую можно было потратить  сбольшей пользой :)

В данный момент на севере установлена Ubuntu 18.04.1 LTS, нужные для перехода со старого сервера на новый пакеты - доставляются...

Надеюсь, теперь проблем с производительностью быть не должно...

 

Июня
2018 года
24
WEBSDR - ч4. Надстройка к OpenWebRX

Изучив гитхаб на предмет апдейтов к OpenWEbRX понял, что мои старые предположения оправдались - их крайне мало, их почти нет. В то же время KiwiSDR цветет ярким цветом, прирастая новыми плагинами. Очень жаль, что никто не пытается перенести разработки с kiwi на родину. С другой стороны оно и понятно, все попытки апгрейда OpenWebRX натыкаются на вежливое спасибо от его автора, а воз и ныне там...

По итогу, я решил неспешно апгрейдить странцу с приемником в попытке разделить неразделимое и первым делом сделал "переключение диапазонов", хотя вернее сказать "смену частоты".

Тонны кода написанные на питоне, пока моему вразумению не поддаются, поэтому я решил разделить систему на две части - клиентскую и серверную. С серверной я беру панораму, а через клиентскую буду приемником управлять.

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

openwebrx -  yes i can change band and frequency / EW8AX

Задача конечно решена в рамках одного клиента  - однако если клиентов более одного, возникает дилемма - как решить конфликт с хотелками по переключению диапазонов разными юзерами.

Пока вариантов решения несколько:

1)Управление доступно только админу

2)Управление доступно только в standalon mode, когда клиент на приемнике только один.

3)Голосование при попытке сменить диапазон

Просто удивительно - один приемник у афедри мало, а 4 приемника у КивиСДР еще меньше. Так как на 1 приемнике можно посадить при текущем железе примерно 8-10 человек, а вот на Киви их только 4...

Вопрос, есть ли реализация 4 фиксированных бэндов для киви, что бы снять ограничение по пользователям? Или все же не смотря на всю свою привлекательность это тупик?..

update1:  Прикрутил счетчик пользователей, и контроль диапазона. Если приеминик меняет диапазон, у всех слушателей страница обновляется на новый диапазон... И все же производительность openwebrx в 10 человек - удручает...

Июня
2018 года
19
WEBSDR - ч3. Cофт - WebSDR by PA3FWM /Lubuntu / AFRDRI SDR-NET

Да-да... Не прошло и года, как мне все же ответил PA3FWM и скинул ссылку на скачивание софта. С софтом идет подробная инструкция как его ставить и в целом там проблем нет, остановлюсь на двух нюансах.

Первое - несмотря на заполнение файла /cfg/websdr.cfg после запуска страница с панорамой выглядит незаполненной, нет данных с located in, operated by итд

Так вот что бы они появились, их нужно запонить руками. И лежит файлик по пути /dist11/pub2/index.html

Второе - приложение websdr от PA3FW написано не совсем корректно.  При запуске оно КАТЕГОРИЧЕСКИ требует libpng12. И то, что на дворе 2018, либа имеет совсем другую обновленную версию (кажется 1.6), мир использует libpng-dev.  Это никого не волнует. Попытка обойти дурацкое требование методом линковки на версию посвежее - ничего не дала, после того как приложение находит библиотеку, оно проверяет версию. И если версия не 12, то начинает истерить и материться. Так что, только libpng12, только хардкор!(с)

sudo nano /etc/apt/sources.list

 

#### Manually Added sources
## source for libpng12-0 package
deb http://mirrors.kernel.org/ubuntu/ xenial main

press ctrl+x and hit yes to save the file

sudo apt-get update

 

sudo apt-get install libpng12-0

Ну или свой вариант, но ход мыслей, думаю, понятен...

Далее... Как я говорил Афедри у меня сетевой. Это очень удобно, спасибо автору за такую реализацию. На самом деле, как мне кажется, это предполагает возможность установить в конечном итоге приемник в деревне, а сервер в дата-центре. Ну а трафик между сервером и приемником в 200 килобит, вполне реализуемая вещь, даже с самым убогим мобильным интернетом. Возможно буду пробовать такой вариант в дальнейшем. Но это лирика....

Запуск даже сетевой версии оказался несложным. Все нужные библиотеки уже стояли, дело за малым - настроить!

Нам нужно организовать трафик между WEBSDR и Afedri, трафик направить в файл, а приложение WEBSDR заставить этот файл читать.

Что бы не забыть - копируем sdr_commander и sdr_split в папку dist11

Создаем FIFO файл:

mkfifo /home/websdr/band20/fifo/afedri-ch-1

В /cfg/websdr.cfg находим параметр device и прописываем в него путь к файлу

device /home/websdr/band20/fifo/afedri-ch-1

Заполняем остальные поля и параметры в конфиге, создаем бэнд. И обязательно добавляем в конце диапазона  команду

swapiq

что бы стартовало в USB... (если диапазоны верхние)

Делаем тестовый запуск сервера, что бы убедится что все работает. Должно ругаться только на afedri-ch-1, с остальными  нужно разобраться - выставить пермишены, chmod итд.

Теперь делаем запускной файл. У меня это привычный  ./afedri_start.sh

#!/bin/bash
FREQUENCY=14128000
SAMPLE_RATE=256000
GAIN=25

./sdr_commander  -t192.168.0.245 -sn$SAMPLE_RATE -g$GAIN -q0 -f$FREQUENCY
./sdr_split -s$SAMPLE_RATE -O -c1 -s256000 -u50000 -i192.168.0.245 > /home/websd
r/band20/fifo/afedri-ch-1 &
sleep 1
./websdr

Можно заметить, что он является почти точной копией запускного файла от openwebrx, но есть отличие.

/sdr_split -s$SAMPLE_RATE -O -c1 -s256000 -u50000 -i192.168.0.245 > /home/websdr/band20/fifo/afedri-ch-1

В этот раз сдр_сплит гонит данные в файл FIFO.

После запуска мы видим что-то вроде...

websdr@websdr:~/band20/dist11$ ./afedri-start.sh
sdr_commander v.1.24
SDR IP=192.168.0.245:50000
SO_KEEPALIVE is OFF
The new  sample rate was set in SDR:  256000 (Hz)
ACK rprt=28, cmd=8
RF gain 25dB => 93
ACK rprt=28, cmd=48
The new multichannel mode is Single Channel
RX Frequency 14128000 (Hz) for the channel 0

>>> WebSDR server (20140718.1716-32)<<<

Copyright 2007-2014, Pieter-Tjerk de Boer, pa3fwm@websdr.org

Samplerate 256000 is not supported yet; continuing anyway, but this probably is not going to work well...
, Can't set audio data format to 16 bit little-endian.
, Can't select 2 input channels.
, Can't set fragmentsize.
, Can't set input sample rate to 256000.
size_of_int=4, size_of_long=4
SDR Split 1.19 will use next parameters
Starting in network mode SDR IP=192.168.0.245:50000
1 RX IQ channels data stream.
Split to 1 channels...
Playback device is stdin
Channel sample rate 256000
SO_KEEPALIVE is OFF
UDP socket receive buffer size 262144
Any address on port 50000
Output mode is 1 , DSP mode is 0
Planning FFTs for band 0... done.
Writing frequency axis images... done

Initialization completed; server is now running.

 

Не помню была ли раньше проблема с ", Can't set audio data format to 16 bit little-endian" но даже с такой ошибкой все работает.

 

Стартовый скрипт нечто вроде:

sudo -H -u websdr tmux new -d -s websdr20 'bash -c "cd /home/websdr/band20; ./afedri-start.sh; bash"'

Килскрипт

tmux kill-session -t websdr20
killall -9 websdr sdr_split csdr nmux nc sdr_commmander
pkill tmux

Приложение замечательно держит нагрузку. Что и понятно, в силу убогости водопада.

Сравнивая между собой OPENWEBRX и WEBSDR, прихожу к мнению что первый мне более симпатичен. На его водопаде можно хоть что-то разглядеть и более удобно подстраиваться. Но это, конечно, вкусовщина. Побродив по другим вебприемникам взял на заметку опцию автоматической смены диапазона, возможно сделаю в будущем такую опцию и у себя...

 

 

Июня
2018 года
16
WEBSDR - ч2. Cофт - OpenWebRX /Lubuntu / AFRDRI SDR-NET

Сразу скажу, все мои эксперименты носили и носят изыскательский характер. Просто интересно "как оно" работает? Смогу ли запустить? Что для этого нужно?

AFRDRI SDR-NET лежал у меня в столе мертвым грузом где-то с год. С того момента или даже ранее, когда на столе появился SUNSDR2. И глядя на панорамы SDR.HU хотелось завести такое и у себя.  Но голос разума говорил - какой смысл в этом всем если нет антенны?

 

И все же, желание поэксперементировать взяла свое и я принялся собирать информацию. Информации было не то, чтобы много, но она была сильно разрознена. К тому же материалов по Affedri было – кот наплакал, а про союз между Афедри и Openwebrx итого меньше. Какое-то время ушло на то, чтобы уяснить полученную информацию. Не уверен, что понял все до конца, хотя по большей части сейчас все работает.

Итак, для запуска OpenWebRx на Afedri нам понадобится.

0) Софт для компилирования другого софта,

Питон не ниже 2.7:

sudo apt-get install python

 

Библиотеки для генерации водопада и прочее

sudo apt-get install libfftw3-dev libfftw3-3 libpng-dev

sudo apt-get install -f libpng-dev

 

ВТЧ библиотеки для работы со звуком

sudo apt-get install libasound2 libasound2-dev

 

1)Собственно сам репозиторий OpenWebRx. Желательно понимание git.

В домашней папке делаем:

git clone git@github.com:simonyiszk/openwebrx.git

2) Csdr – библиотека для работы с SDR

В домашней папке делаем:

git clone https://github.com/simonyiszk/csdr.git

после скачивания выполняем make:

cd csdr

make

sudo make install

 

3) sdr_commander, которая позволяет управлять приемником AFEDRi SDR-Net из коммандной строки разработанная Александром  4Z5LV

Качаем последнюю версию, у меня это 1.24

http://www.afedri-sdr.com/index.php/downloads/category/15-sdr-commander-command-shell-utility?download=248:sdr-commander-v-1-24-command-shell-utility

Распаковываем и собираем согласно инструкции

sudo apt-get install libudev-dev

cd sdr_commander.v24

make

Если есть ошибки, то гуглим, доставляем библиотеки и снова компилируем до победы. Пока не увидим банарный файл sdr_commander

4)  Качаем библиотеку Sdr_Split

http://afedri-sdr.com/index.php/downloads/category/24-source-code-directory?download=257:sdr-split-utility-v1-19

распаковываем в папку и тоже компилируем до получения sdr_split

5) Копируем получившиеся бинарники  sdr_split и sdr_commander в папку к OpenWebRx.

6)Создаем запускной файл afedri_start.sh (устанавливем на него нужный chmod и chown)

Со следующим содержимым

#!/bin/bash

SAMPLE_RATE=256000

GAIN=25

FREQUENCY=14128000

    ./sdr_commander  -t192.168.0.245 -sn$SAMPLE_RATE -g$GAIN -q0 -f$FREQUENCY

    sleep 1

    python ./openwebrx.py

 

В моем случае приемник Afedri подключен по сети (его IP 192.168.0.245) и вся конфигурация крутится вокруг такого способа подключения.

Как видно из содержимого файла мы задаем полосу, усиление, и «срединную» частоту на которую будет настроен приемник. Затем с минимальной паузой стартует вебсервер на питоне.

7)Редактируем конфигурационный файл от сервера config_webrx.py. Внутри много всякой полезной фигни, но самых главных места тут несколько

samp_rate = 256000

center_freq = 14128000

ниже самое главное

#afedri

sdr_ip = "192.168.0.245"

sdr_port = 50000

start_rtl_command="./sdr_split -i{sdr_ip} -u{sdr_port} -O -s{samp_rate} -f{cente

r_freq} ".format(sdr_ip=sdr_ip, sdr_port=sdr_port, rf_gain=rf_gain, center_freq=

center_freq, samp_rate=samp_rate)

format_conversion="csdr convert_s16_f"

Именно эти строки главные в данном конфиге, все остальное вторично.

К примеру такие настройки как "водопад"

waterfall_min_level = -115 #in dB

waterfall_max_level = -55

waterfall_auto_level_margin = (0, 50)

 

Хотя когда он веселенького глубого цвета – глазу все же приятнее.

Прочие плюшки можно настроить по единой инструкции

 

Должно получится что-то вроде этого

ew8ax websdr afedri sdr and OpenWebRX

 

Особенно хорошо смотрится с хорошей антенной… :)

Но именно в этом месте меня постигло самое большое разочарование…

Ожидания:

Реальность

Нету переключения диапазонов! Совсем!

OpenWebRX это совсем не разу не  KiWiSDR WebInterface!  

Вот такой облом.

Начав читать блог ha7ilm, выяснилось что разработчики kiwiSDR помимо собранных 50к $ на кикстартере еще и кинули ha7ilm, построив на его коде свой улучшенный вариант. По факту на данный момент openWebRx может еще и не мертв, но пахнет очень соотвественно. Не смотря на урегулирование финансовой ситуции между авторами kiwi и ha7ilm проект выглядит заброшенным. Есть ряд интересных доработок по коду предложенными другими пользователями сервера, но они так и остаются на уровне  «когда-нибудь» будучи реализованными на 80-90% в коде.

Думаю над собственными доработками и интеграцией, все же один приемник и один диапазон без вариантов переключения это слишком уныло…

ps. В данный момент вся эта... все это... работает тут http://websdr.ew8ax.info/

Работает в экспериментально-тестовом режиме, с недоантенной и прочее.

Прокинуть сервер наружу не составило труда, если кому-то это интересно.

Достаточно на роутере прописать любой фришный DynDNS, у моего асуса такой есть. Прописать Port Forwarding:

где 192.168.0.174 стаический IP с сервером на Лубунте.

А на стороне подомена прописать простейший iframe c адресом ДинДНС. Дешего и сердито, по крайнй мере на данном тестовом этапе...

 

Страница: 012345678910111213141516