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

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

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

Июля
2018 года
16
Yagi для ADS-B 1090 Mhz

После установки коллинеара на улице и наблюдений за результатом, меня посетил ряд сомнений. Субьективно после упаковки антенны в ПВХ трубу и некоторго увеличения длинны кабеля, прием стал хуже. Что отразилось и на графиках - максимальный радиус сократился на 50 км, хотя казалось, что должно быть наоборот. Так же была найдена  статья в которой собирался такой же коллинеар, но некоторые элементы отличались размерами. Моделирование я делать поленился и хоть приемлемый результат был получен, он меня совсем не радовал.

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

Моделирование

Быстрый поиск по сети не принес результатов. Моделей mmana антенны YAGI для  для ads-b не было, только упоминания об использвании самой антенны или обсуждение результатов. Возможно я плохо искал? Проверил онлайн конструкторы яг, но их функционал весьма убог - максимум 3 элемента и все размеры противоречат друг другу. В итоге сел за мману сам. Число эллементов подобрал так, что бы длинна "бума" была в меру скромной - 35 см, достаточно для тестирования. С подавлением вышло странно - оно было весьма скромным и выровнялось где-то к добавлению в систему последних 2х директоров. Скорее всего модель вышла ущербной - имхо, не должен быть рефлектор меньше вибратора размером...

ew8ax ADS-B 1090Mhz Yagi 7 elements

И тем не менее, параметры удалось в какой-то степепни оптимизировать

Оптимизация с приоритетом в усиление. 12/22 в свободном пространстве, на 10 метрах моего подвеса примерно 17/22, элевация 2 градуса.   Мечта :D

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

Ну это ведь не комерческий проект, можно начинать "пилить".

Файлы с оптмизацией под 50 и 75 Ом:

adsb1090-7el-50ohm.maa

adsb1090-7el-75ohm.maa

Материал

В качестве бума - легкий и тонкий кабель-канал :) элементы - остатки трубок 8мм. Для данной антенны они избыточно толстые - но лучше ничего не нашлось.

Как обычно полдня на реализацию и я приступил к проверке...

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

Прием был на коллинеар:

На этом не совсем удачном скрине еще не включен предусилитель, с ним сигнал чуть лучше чем показано, но уровень шумовой дорожки 50-60 db. Я всерьез начал задумываться о band-pass фильтре..

 

Прием на Яги со включенным предусилителем:

Шумовая дорожка примерно 105 db, уровни сигнала ADS-B:  +30 / +35 db над шумом. Работает! :)

Как описать работу антенны - я просто стоял на балконе и водил ею как волшебным фонарем, а потом смотрел как в той стороне, в которую смотрела антена на карте проявлялись самолеты.  Число сообщений от каждого самолета от едениц подскочило до сотен, я наконец увидел вожделенные борта на Витебском (~350 км)... 

ew8ax Yagi 7el diagram  24h

То, что коллинеар не работает так, как должен - стало окончательно понятно...

А столь длинный трек - я видел точно впервые:

TODO:

1)собрать еще две таких же антенны и направить в оставшиеся просветы между домами.

2)читать матчать по согласованию и подключению антенн в стек.

 

 

 

 

 

 

Июля
2018 года
10
ADS-B & AFEDRI SDR-Net & dump1090

Тематикой ADS-B я заинтересовался практически случайно. Исследуя тему компактных серверов переодически натыкался на "малинки" и прочие "одороиды", а так же способы их применения. Однажды и вовсе наткнулся на тему в которой радостная школота  довольные пользователи малинки рассказывали о том, как воспользовались предложением от flightradar24.com (далее FR) и получили от них "халявный" комплект из антенны на 1090 Mhz, коробки с приемником и корпус с "raspberry pi"  ака "малинка".  С "малиной" я еще не ковырялся, не было времени,  желания и было много сомнений в целесообразности - производительность все же оставляет желать лучшего.

Не так давно прочитал сообщение от Александара 4Z5LV, который сообщил что в последнюю версию (на данный момент) sdr-split v.1.19 , добавлена возможность 8-битного семплирования сигнала, что в свою очередь дает возможность совместной работы с утилитой dump1090. Которая позволяет декодировать сигналы ADS-B, а значит теперь прием возможен не только на "старом китайском свитке" RTL, но и на любимом Afedri SDR :)

Само-собой, мне захотелось такую возможность воплотить.

Первое с чего все начинается - антенна. За воскресенье, загуглив тематику сделал 8 элементный коллинеар на 1.1 Ггц.

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

ew8ax ads-b 1090mhz collinear antenna 8 elements

ew8ax ads-b 1090mhz collinear antenna 8 elements outside

Если на NAGOYA UT-102UV стояющую на карнизе небыло слышно совсем ничего, то самодельный коллинеар уровни сигналов если и не шкалят, то слышны весьма громко.

AFEDRI SDR-Net + SDR Console v2 +ADS-B reception

Ок, далее качаем dump1090, а лучше её форк от Мальколма Роба или еще кого-нить, кто занимается ее развитием и украшательством.

git clone https://github.com/MalcolmRobb/dump1090

cd dump1090

make

После получения бинарника я столкнулся с проблемой. Запустить я его запустил, но результат отсутствовал . Что ж,  если ничего не помогает - прочтите инструкцию(с)

Обратившись к описанию утилиты sdr_split на сайте мною был найден "секретный ключ" -cE0  :

1. Added conversion from 16-bit sample size to RTL-SDR like 8 bit sample size, output of converted data stream to stdout. (option -cE0) for use with dump1090 utility.

Это был шаг в верном направлении, но все еще чего-то не хватало. Я слышал сигналы и видел их на водопаде, но в консоли было пусто.

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

The binary file should be created using rtl_sdr like this (or with any other program that is able to output 8-bit unsigned IQ samples at 2Mhz sample rate

Ну конечно же, sample rate должен быть 2 Mhz!!!

И стоило мне исправиль жту ошибку как я тут же увидел заветные самолеты в консоли...

А если зайти на порт 8080 сервера, то dump1090 поднимает там вебсервер и отдает более визуальную статистику и информацию.

Общий механизм работы софт-харда точно такой же, как мной уже был реализован ранее при работе с WEBSDR от PA3FW.

При помощи sdr_split подклчаемся к сетевому приемнику Афедри, получаем поток, пишем этот поток в файл FIFO на диске.

При помощи dump1090 читаем этот файл, получаем результат в виде хэшей и остальных данных с ADS-B.

Как обычно я использую файлик  afedri-start.sh для запуска этой связки.Вот его содержимое.

#!/bin/bash
FREQUENCY=1090000000
SAMPLE_RATE=2048000
GAIN=35

./sdr_commander  -t192.168.0.245 -al1 -am1 -E4 -A0 -sn$SAMPLE_RATE -g$GAIN -q0 -f$FREQUENCY
./sdr_split -s$SAMPLE_RATE -O -c1 -u50000 -i192.168.0.245 -cE0 > /home/websdr/band20/fifo/afedri-ch-1 &
sleep 1
./dump1090 --raw --quiet --aggressive --net --ifile /home/websdr/band20/fifo/afedri-ch-1 &

 

Далее, подключаемся к агрегатору. Регистрируемся на сайте FR. Идем на страницу "Share your ADS-B data", выбираем свою ОС и качаем их софт. Инструкций по подключению в интернетах полно , приведу коротко.

wget https://repo-feed.flightradar24.com/linux_x86_binaries/fr24feed_1.0.18-5_i386.tgz
 

tar -zxvf fr24feed_1.0.18-5_i386.tgz

Раскладываем файлы по директориям (см ссылку на хабр)

./fr24feed --signup

отвечаем на вопросы, получаем новый ключ, делаем "демона" для fr24feed, идем на ФР убеждаемся что мы законекчены и сбор статистики пошел.

ew8ax ads-b stat on flightradar24.com

Где-то через сутки можно будет увидеть статистику, с каких азимутов сигнал самолетов приходит, а с каких нет. У меня все не очень хорошо, если честно то все плохо. Со всех сторон дома, а антенна всего на окне третьего этажа. Просветов до неба между домами всего два, в них максимальная дальность составляла до 200 nm, что неплохо, но конечно хотелось бы кгруговой диаграммы. А она достижима только на крыше.. Ну, что есть, то есть...

TODO:

1)отдельный приемник для ads-b (уже едет :D )

2)band pass filter 1090

2)нормальный кабель с нормальными коннекторами

3)радача получаемой информации большему числу агрегаторов: flightaware, opensky-network etc

 

На данный момент, до приезда ADS-B приемника WEBSDR@AfedriSDR будет работать в ADS-B режиме.  Посмотреть на самолетИки по ссылке...

 

 

Июня
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 адресом ДинДНС. Дешего и сердито, по крайнй мере на данном тестовом этапе...

 

Страница: 0123456789101112131415