Автор Тема: Киевский Боливар  (Прочитано 785 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн UR1229SWL

Киевский Боливар
« : Март 19, 2021, 23:59:10 »


Всем доброго здравия!  :smilie:

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

Итак, приглашаю всех радиоаматоров на Web-SDR-приемник под названием "Киевский Боливар", находящийся адресу: http://kiev.extmail.info

Проект существует около года и претерпел множество изменений в своем развитии.
На данный момент он принимает 6 диапазонов: радиолюбительские VHF, UHF и Avia.
В ближайшей перспективе число диапазонов с общей помощью планируется довести до 9 (а то и до 10) и снабдить диапазонными фильтрами.
Помощь может быть разнообразной, начиная с пожеланий по выбору диапазонов и т.д., которые можно изложить в опросе  в "телеграммной" группе

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

73!  :wink:
« Последнее редактирование: Март 20, 2021, 23:36:26 от UR1229SWL »
 
Пользователи, которые поблагодарили этот пост: UT4ULP, UT5UKA, swluser

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #1 : Март 20, 2021, 22:16:04 »
На всякий случай напомню, откуда у нашего радиосервера взялось имя "Боливар".
Есть замечательный  рассказ О.Генри "Дороги, которые мы выбираем", а также снят одноименный фильм. Рекомендую почитать.
В этом рассказе разбойник Акула расправляется со своим напарником Бобом, мотивируя это тем, что оставшийся после их бегства единственный конь по кличке Боливар якобы не в состоянии вывезти их обоих с места преступления.
При этом он произносит фразу: "Боливару не вынести двоих", ставшей широко известным мемом.

Так вот, в противоположность литературному, наш электронный Боливар вывезет не только двоих, но и пятерых, десятерых и даже двадцатерых!  :cool:
Это хорошо видно в таблице "Server behavior under load".
« Последнее редактирование: Март 22, 2021, 00:48:26 от UR1229SWL »
 

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #2 : Март 20, 2021, 22:46:49 »
Да - и не забываем, что на нашем "Боливаре" есть Чат  :smilie:
Жмете внизу на зеленый значок, он раскрывается в окошко -

 

В его левом верхнем углу жмете на "бутерброд" и выбираете "Войти".
Далее, если вы уже  зарегистрированы в "телеграммной" группе https://t.me/kiev_radio_station , то входите в чат через значок Telegram.
Либо придумываете себе ник и входите как Гость, ваш ник запомнится в кукисах.

И как говорится, ни в чем себе не отказывайте!  :biggrin:
« Последнее редактирование: Март 22, 2021, 00:50:41 от UR1229SWL »
 

Оффлайн UR8US

Re: Киевский Боливар
« Ответ #3 : Март 21, 2021, 10:51:44 »
Спасибо! Хороший проект, нужный и полезный!
 

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #4 : Март 22, 2021, 00:43:39 »
Ну и ладушки!  :wink:
Вы все можете легко помочь поддерживать проект в актуальном состоянии, внося в него происходящие изменения.
Например, в отношении списка репитеров. Они ведь живут примерно как сайты - со временем появляются новые репитеры, а другие, наоборот, уходят в небытие.

Например, в диапазоне Ch 3 (437.8...440.2 Мгц) можно насчитать аж 18 репитеров. Однако как показало прослушивание, реально их них работает едва лишь половина, остальные, видимо, существуют лишь на бумаге.
Конечно, по возможности я стараюсь отслеживать  жизнь репитеров, собирая по крупицам сведения о них в Инете и внося в их списки диапазонов на "Боливаре", но одному отслеживать все изменения в эфире затруднительно.
Вы же все тут друг друга и местную эфирную обстановку знаете лучше, и можете более своевременно и достоверно информировать о происходящих изменениях в эфире, которые я буду вносить в "Боливар".

Еще одна посильная помощь - модерирование чата "Боливара".
Пока в нем наблюдается относительное спокойствие и толерантность, но не исключено, что подтянутся тролли, которых нужно ставить на место.
Ну и по возможности временами оказывать консультационную помощь начинающим радиоаматорам. Постоянное присутствие в чате вовсе не обязательно.
Так что если у кого есть желание порулить чатом - милости просим!  :wink:

В итоге всем нам пользоваться возможностями нашего "Боливара" будет более комфортно и информативно  :smilie:
« Последнее редактирование: Март 22, 2021, 03:34:20 от UR1229SWL »
 

Оффлайн UT3UDX

Re: Киевский Боливар
« Ответ #5 : Март 26, 2021, 19:44:13 »
проверка данных по репитеру в APRS

def aprs_request(callsign):
    aprs_apikey="apikey"
    apiurl = "https://api.aprs.fi/api/get?name="+ str(callsign) + "&what=loc&apikey=" + str(aprs_apikey) + "&format=json"
    apireq = requests.get(apiurl)
    apidata = json.loads(apireq.text)
    print("-"*10 + "> | APRS  data" )
    if not apidata['entries']:
        print("Warning: No APRS data found")
    else:
        for i in apidata['entries']:
            print("| APRS Name: " + str(i['name']) + "\n" +
                  "| APRS Lat: " + str(i['lat']) + "\n" +
                  "| APRS Lng: " + str(i['lng']) + "\n" +
                  "| Lasttime seen: " + datetime.utcfromtimestamp(int(i['lasttime'])).strftime('%Y-%m-%d %H:%M:%S') + "\n" +
                  "| Comment: " + str(i['comment']))
            time.sleep(15)


Не все репитеры есть в APRS.
Вывод примерно такой
===============| UR0UUA |===================================
----------> | APRS  data
| APRS Name: UR0UUA
| APRS Lat: 50.42333
| APRS Lng: 30.46367
| Lasttime seen: 2021-03-26 17:27:39
| Comment: 439.375MHz -760 T067 R99

===============| UR0UUB |===================================
----------> | APRS  data
| APRS Name: UR0UUB
| APRS Lat: 50.391
| APRS Lng: 30.4805
| Lasttime seen: 2021-03-26 17:23:34
| Comment: 439.400MHz-760 DMR CC1 R100

===============| UR0UUD |===================================
----------> | APRS  data
| APRS Name: UR0UUD
| APRS Lat: 50.44533
| APRS Lng: 30.5045
| Lasttime seen: 2021-03-26 17:24:50
| Comment: 438.700MHz D023 -7.60 http://cb.org.ua

===============| UR0UUE |===================================
----------> | APRS  data
| APRS Name: UR0UUE
| APRS Lat: 50.44517
| APRS Lng: 30.50533
| Lasttime seen: 2021-03-26 17:25:51
| Comment: 438.775MHz -7.60 DMR CC1 http://cb.org.ua

 

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #6 : Март 31, 2021, 11:26:22 »
Приветствую, UT3UDX!

Как я могу воспользоватся вашими данными для Боливара?
Или они предназначены не для него ?
 

Оффлайн UT3UDX

Re: Киевский Боливар
« Ответ #7 : Март 31, 2021, 17:17:52 »
Это простой скрипт на Python3, точнее просто функция - что она делает - на вход этой функции, в качестве аргумента передается позывной, любой позывной , данные по которому мы хотим получить в APRS

https://www.aprsdirect.com/center/50.39189,30.65014/zoom/11/time/60
https://aprs.fi/#!lat=50.4334&lng=30.5216

Далее, запрашиваем APRS API ( не чаще раз в 15-20 секунд, иначе сработает rate limit и api будет возвращать или пустую строку или какой-то http ответ , типа доступ запрещен )

    apiurl = "https://api.aprs.fi/api/get?name="+ str(callsign) + "&what=loc&apikey=" + str(aprs_apikey) + "&format=json"
URL формируется из нескольких частей - callsign, apikey и формат - в нашем случае json .

далее, нам нужен список репитеров для опроса - тут все очень просто - согласно регламенту радиосвязи, если отбросить всё лишнее - репитеров в каждой области ( в каждом диапазоне ) не может быть больше, чем букв в английском алфавите.

Цитирую регламент -  " 4. Для  ретрансляторів  аматорського   радіозв'язку   позивні  сигнали призначаються із серії UR0 в алфавітному порядку суфіксів.
Перша літера суфікса обов'язково повинна відповідати літері-ознаці  області  згідно  з  таблицею  1,  а друга літера суфікса позивного
сигнала  визначає  смугу  частот,  у  якій   працює   ретранслятор  (V-діапазон 145 МГц; U-діапазон 435 МГц)."

https://zakon.rada.gov.ua/laws/show/z0205-11#Text

UR0 + U( Киев ) + U ( 70 cм ) или V (2 м) , тоесть что мы имеем -

UR0UUA-UR0UUZ для 70 сантиметрового диапазона и
UR0UVA-UR0UVZ для 2-х метрового диапазона , вобщем не так и много.

Далее, вам нужно получить APRS API key ( https://aprs.fi/account/ ) - это ключ, при помощи которого вы будете делать запросы к APRS api.
Я не помню, нужен ли валидный позывной для этого или нет - это вы уже проверите сами.

Итак файлы, их два - сам скрипт и конфиг

openwebrx_aprs.py

#!/bin/python3
import re, requests, sys, string,json,time,datetime
import configparser
from datetime import datetime # for convert APRS time

letters = list(string.ascii_uppercase)
digits = list(string.digits)
config = configparser.ConfigParser()
config.read('config.ini')

dict_callsigns = {'Крим':'J', 'Вінницька':'N',  'Волинська':'P', 'Дніпропетровська':'E',
                  'Житомирська':'X','Закарпатська':'D', 'Запорізька':'Q','Івано - Франківська':'S',
                  'Київ':'U','Кіровоградська':'V','Львівська':'W', 'Миколаївська':'Z','Одеська':'F',
                  'Полтавська':'H','Рівненська':'K','Сумська':'A','Тернопільська':'B','Харківська':'L',
                  'Херсонська':'G','Хмельницька':'T','Черкаська':'C','Чернівецька':'Y','Чернігівська':'R'}

def repeaters_2m_callsign_generator(region):
    list = []
    for third_letter in dict_callsigns[region]:
        for four_letter in letters[21:22]:
            for five_letter in letters:
                list.append(str("UR0" + third_letter + four_letter + five_letter))
    return list

def repeaters_70cm_callsign_generator(region):
    list = []
    for third_letter in dict_callsigns[region]:
        for four_letter in letters[20:21]:
            for five_letter in letters:
                list.append(str("UR0" + third_letter + four_letter + five_letter))
    return list


def aprs_request(callsign):
    aprs_apikey=config['APRS']['token']
    apiurl = "https://api.aprs.fi/api/get?name="+ str(callsign) + "&what=loc&apikey=" + str(aprs_apikey) + "&format=json"
    apireq = requests.get(apiurl)
    apidata = json.loads(apireq.text)
    print("-"*10 + "> | APRS  data" )
    if not apidata['entries']:
        print("Warning: No APRS data found")
        time.sleep(15)
    else:
        for i in apidata['entries']:
            print("| APRS Name: " + str(i['name']) + "\n" +
                  "| APRS Lat: " + str(i['lat']) + "\n" +
                  "| APRS Lng: " + str(i['lng']) + "\n" +
                  "| Lasttime seen: " + datetime.utcfromtimestamp(int(i['lasttime'])).strftime('%Y-%m-%d %H:%M:%S') + "\n" +
                  "| Comment: " + str(i['comment']))
            time.sleep(15)


if __name__ == '__main__':
    print("APRS 70cm repeaters data")
    for callsign in repeaters_70cm_callsign_generator("Київ"):
        aprs_request(callsign)
    for callsign in repeaters_2m_callsign_generator("Київ"):
        aprs_request(callsign)


и конфиг - config.ini

[APRS]
token = validAPRStokenhere

в конфигурационный файл нужно поместить валидный aprs api key - иначе работать не будет.

Известные проблемы - APRS имеет свои жесткие rate limits - и поэтому тут нужно или играть с time.sleep или каким-то образом обходить ограниичение на частоту запросов. Я не копал глубоко :)




« Последнее редактирование: Март 31, 2021, 17:48:12 от UT3UDX »
 

Оффлайн UT3UDX

Re: Киевский Боливар
« Ответ #8 : Март 31, 2021, 18:12:03 »
И если все будет хорошо, на выходе мы получаем такой список ( 70 cм)

APRS 70cm repeaters data
----------> | UR0UUA APRS  data
| APRS Name: UR0UUA
| APRS Lat: 50.42333
| APRS Lng: 30.46367
| Lasttime seen: 2021-03-31 14:54:25
| Comment: 439.375MHz -760 T067 R99
----------> | UR0UUB APRS  data
| APRS Name: UR0UUB
| APRS Lat: 50.391
| APRS Lng: 30.4805
| Lasttime seen: 2021-03-31 14:45:20
| Comment: 439.400MHz-760 DMR CC1 R100
----------> | UR0UUC APRS  data
Warning: No APRS data found
----------> | UR0UUD APRS  data
| APRS Name: UR0UUD
| APRS Lat: 50.44533
| APRS Lng: 30.5045
| Lasttime seen: 2021-03-31 14:44:51
| Comment: 438.700MHz D023 -7.60 http://cb.org.ua
----------> | UR0UUE APRS  data
| APRS Name: UR0UUE
| APRS Lat: 50.44517
| APRS Lng: 30.50533
| Lasttime seen: 2021-03-31 14:45:51
| Comment: 438.775MHz -7.60 DMR CC1 http://cb.org.ua
----------> | UR0UUF APRS  data
Warning: No APRS data found
----------> | UR0UUG APRS  data
Warning: No APRS data found
----------> | UR0UUH APRS  data
Warning: No APRS data found
----------> | UR0UUI APRS  data
Warning: No APRS data found
----------> | UR0UUJ APRS  data
Warning: No APRS data found
----------> | UR0UUK APRS  data
| APRS Name: UR0UUK
| APRS Lat: 50.52733
| APRS Lng: 30.2285
| Lasttime seen: 2021-03-31 14:54:35
| Comment: 438.825MHz -760 DMR CC1 R77
----------> | UR0UUL APRS  data
| APRS Name: UR0UUL
| APRS Lat: 50.53417
| APRS Lng: 30.60467
| Lasttime seen: 2021-03-31 14:43:30
| Comment: 438.675MHz -760 DMR CC1 R71
----------> | UR0UUM APRS  data
Warning: No APRS data found
----------> | UR0UUN APRS  data
| APRS Name: UR0UUN
| APRS Lat: 50.51617
| APRS Lng: 30.77967
| Lasttime seen: 2021-03-31 14:46:40
| Comment: 438.800MHz -760 T088 R76
----------> | UR0UUO APRS  data
Warning: No APRS data found
----------> | UR0UUP APRS  data
Warning: No APRS data found
----------> | UR0UUQ APRS  data
| APRS Name: UR0UUQ
| APRS Lat: 50.45883
| APRS Lng: 30.35333
| Lasttime seen: 2021-03-31 15:06:16
| Comment: 439.275MHz -760 DMR CC1 R95
----------> | UR0UUR APRS  data
| APRS Name: UR0UUR
| APRS Lat: 50.55000
| APRS Lng: 30.19983
| Lasttime seen: 2020-04-19 10:31:26
| Comment: 438.900MHz -760 DMR CC1 R80
----------> | UR0UUS APRS  data
| APRS Name: UR0UUS
| APRS Lat: 50.469
| APRS Lng: 30.60317
| Lasttime seen: 2021-03-31 15:05:49
| Comment: 439.000MHz -760 DMR CC1
----------> | UR0UUT APRS  data
| APRS Name: UR0UUT
| APRS Lat: 50.15383
| APRS Lng: 30.74617
| Lasttime seen: 2021-03-31 15:03:04
| Comment: 438.975MHz -760 DMR CC1 R83
----------> | UR0UUU APRS  data
| APRS Name: UR0UUU
| APRS Lat: 50.51733
| APRS Lng: 30.237
| Lasttime seen: 2021-03-31 15:01:33
| Comment: R79 438.875(-7.600)MHz Irnen CTCSS 88.5
----------> | UR0UUV APRS  data
Warning: No APRS data found
----------> | UR0UUW APRS  data
Warning: No APRS data found
----------> | UR0UUX APRS  data
Warning: No APRS data found
----------> | UR0UUY APRS  data
Warning: No APRS data found
----------> | UR0UUZ APRS  data
Warning: No APRS data found

на 144 вообще пусто, можно даже не проверять
« Последнее редактирование: Март 31, 2021, 18:18:11 от UT3UDX »
 

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #9 : Март 31, 2021, 18:23:11 »
Что-то невероятно заманчивое, а главное, полезное!  :smilie:
Спасибо! Попробую разобраться.
 

Оффлайн UT3UDX

Re: Киевский Боливар
« Ответ #10 : Апрель 03, 2021, 20:40:04 »
ну что, получилось запустить скрипт? мне нравится ваш проект - я готов оказать всю разумную помощь - пожалуйста обращайтесь

Я бы мог конечно сделать так, чтобы формировался bookmarks.json - но возможно у вас другие планы - я открыт к общению и выслушаю предложения
 

Оффлайн UR1229SWL

Re: Киевский Боливар
« Ответ #11 : Апрель 04, 2021, 22:14:56 »
Я вам вчера ответил по приватке, читали?
 

Оффлайн UT3UDX

Re: Киевский Боливар
« Ответ #12 : Апрель 05, 2021, 19:31:34 »
да
 

Оффлайн UR8US

Re: Киевский Боливар
« Ответ #13 : Май 06, 2021, 14:09:53 »
Друзья, добрый день!

Для проекта SDR-приемников http://kiev.extmail.info продолжаем собирать средств на апгрейд приемника 2-метрового диапазона на высококачественный 14-битный приемник, который будет иметь лучшую чувствительность и не будет затыкаться от мощных сигналов.

Многие из нас с радостью пользуются этим киевским SDR-ом, после апгрейда мы все получим еще большее удовольствие. Подробное обсуждение проходит в телеграм-группе https://t.me/kiev_radio_station , но вот номер карточки, на который каждый может закинуть сотню-другую гривен для хорошего дела. Осталось из 3500 гривен собрать что-то около тысячи.

Карточка: Алексей 4149 4996 1018 9399 .

Спасибо!
 

Оффлайн UR8US

Re: Киевский Боливар
« Ответ #14 : Май 07, 2021, 19:34:15 »
Друзья, большое спасибо! Необходимая сумма собрана и приемник уже едет в Киев. Так держать! Еще много интересных проектов впереди!
 

 

SimplePortal 2.3.7 © 2008-2021, SimplePortal