Бесплатный APRS-шлюз и погодный информатор HFP Weather.

При первом запуске программы ей присваевается случайный ID в диапазоне 65000...65099. При желании его можно изменить (но только в пределах этого диапазона) в окне настроек "ID и координаты". В этом же окне задаются координаты станции (для использования в эфирном и APRS-маяках).

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

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

Можно оставить API-ключ по умолчанию, но лучше зарегистрироваться на странице https://home.openweathermap.org/users/sign_in и получить свой ключ. Имейте в виду, что ключ становится активным через несколько часов после регистрации.

Проверить доступность сервера и правильность ID можно при помощи кнопки "Test". Если все работает штатно, ниже будет выведен ответ сервера в виде JSON-строки.

Команда запроса погоды состоит из префикса "=x" или "=X", координат (широта и долгота в градусах в виде десятичной дроби) и до двух дополнительных параметров.

Информатор игнорирует запросы погоды от демо версий HFpager (ID > 64999), но обрабатывает до трёх таких запросов после каждого своего перезапуска.

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

Запрос на доступ к микрофону ("Записывать аудио") нужно принять, без него программа, разумеется, работать не будет.

Общее хранилище программа не использует.

Обзор команд запроса погоды

Команда запроса погоды состоит из префикса "=x" или "=x", координат (широта и долгота в градусах в виде десятичной дроби) и до двух дополнительных параметров.

Информатор выдаёт ответв кратком виде. Если сообщение принято программой КВ пейджер без ошибок, пейджер переводит его в человекочитаемый вид и помещает в отдельную папку.

HFP weather screenshot HFpager screenshot

Запрос текущей погоды и предупреждений

Запрос текущей погоды и предупреждений не содержит дополнительных параметров.

Например:
=X55.01,82.94

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

Пример ответа:

101 (037) > 4000 , CRC OK , Error Rate=0.9% : 
$WX0:
LT:55.0100LN:82.9400
DT:1702z2054SR:0144SS:1140
T:-13.0FL:-20.7P:1021H:66DP:-17.5
UVI:0.0CL:0VIS:10000
WS:6.0WD:250
AL:4
WI:0,800,01n,clear sky
---End---

Значения выдаваемых параметров:

LT: Широта в градусах
LN: Долгота в градусах
DT: Дата и время (UTC) в виде ДДММzЧЧмм (день, месяц, часы, минуты)
SR: Время восхода солнца (UTC) в виде ЧЧММ
SS: Время захода солнца (UTC) в виде ЧЧММ
T: Температура в градусах Цельсия
FL: "Ощущаемая температура" в градусах Цельсия
P: Атмосферное давление на уровне моря в гектопаскалях
H: Влажность воздуха в процентах
DP: Точка росы в градусах цельсия
UVI: Ультрафиолетовый индекс (UV index)
CL: Облачность в процентах
VIS: Средняя видимось в метрах
WS: Скорость ветра в метрах в секунду
WG: Порывы ветра (если есть) в метрах в секунду
WD: Направление ветра (метеорологический азимут - ОТКУДА дует ветер) в градусах
AL: Количество предупреждений, которые будут переданы в следующих сообщениях
RN: Уровень дождя за последний час в миллиметрах
RS: Уровень снега за последний час в миллиметрах
WI: Строка с описанием погоды (таких строк может быть несколько)

Сообщение заканчивается строкой "---End---" , чтобы можно было убедиться, что сообщение не обрезано (целиком уместилось в 252 знака).

Пример сообщения с предупреждением:

101 (040) > 4000 , CRC OK , Error Rate=1.3% : 
$ALERT3/4:
LT:55.0100LN:82.9400
Start: 17.02.2021 08:00 UTC
End: 19.02.2021 06:00 UTC
Sender: 
Event: Прочие опасности
Text: на дорогах местами гололедица
---End---

$ALERT3/4 означает "третье сообщение из четырёх"

Запрос посуточного прогноза на неделю

Запрос содержит третьим параметром "1", четвертый параметр - номер дня 0...7 либо 99 - выдать прогноз за все восемь дней.

Пример запроса:

=x55.01,82.94,1,2

Прогноз на каждый день выдаётся в отдельном сообщении.

Пример ответа:

101 (072) > 4000 , CRC OK , Error Rate=0.0% : 
$WX1/2:
LT:55.0100LN:82.9400UT:1614837600
DT:0403z0600TN:-14.8TX:-3.2P:1019H:95DP:-9.1CL:100PP:0.67
WS:8.7WD:192SN:1.28
WI:0,600,13d,light snow
---End---

$WX1/2: означает "прогноз за день номер 2"

Параметры, не описанные выше:

UT: время в unix-формате
TN: минимальная суточная температура, в градусах цельсия
TX: максимальная суточная температура, в градусах цельсия
PP: вероятность выпадения осадков (0 ... 1.0)
DT: здесь, видимо, отмечает время начала суточного интервала (в документации не указано явно)
SR: здесь, видимо, означает прогнозируемый уровень дождя за сутки
SN: здесь, видимо, означает прогнозируемый уровень снега за сутки

Запрос почасового прогноза на двое суток

Запрос содержит третьим параметром "2", четвертый параметр - начальный номер часа 0...47

Пример запроса:
=x55.01,82.94,2,5

Пример ответа:

101 (073) > 4000 , CRC OK , Error Rate=0.0% : 
$WX2/5:
LT:55.0100LN:82.9400UT:1614873600
D0416t-5.3h95p0.26w7.9d192n804
D0417t-6.2h95p0.26w7.4d191n804
D0418t-7.3h95p0.22w6.9d187n804
D0419t-7.5h95p0.00w7.2d186n804
D0420t-6.6h95p0.00w7.2d188n804
D0421t-6.0h97p0.52s0.18w8.7d194i600
---11---

$WX2/5: означает "почасовой прогноз, начиная с часа номер 5"

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

Возможные параметры:

D - день месяца и час суток в формате ДДЧЧ (UTC)
t - температура в градусах цельсия
h - влажность воздуха в процентах
p - вероятность выпадения осадков (0 ... 1.0)
r - уровень дождя за час в миллиметрах
s - уровень снега за час в миллиметрах
w - скорость ветра в метрах в секунду
g - порывы ветра (если есть) в метрах в секунду
d - направление ветра (метеорологический азимут - ОТКУДА дует ветер) в градусах
i - код погоды (дневной), как описано в https://openweathermap.org/weather-conditions
n - код погоды (ночной)

Одна строка может включать несколько кодов погоды

Если ответ содержит последний час (N 47) двухсуточного прогноза, он заканчивается строкой "---End--"

Иначе ответ заканчивает строкой вида "---nn---" , где nn - номер следующего за последним выданным часа.

Постоянные ссылки: