Описание стандартного формата данных Basestation, ставшим стандартом де-факто и выдаваемых и понимаемых всеми программами для ADS-B.
http://woodair.net/SBS/Article/Barebones42_Socket_Data.htm
Посмотрев данные с порта 30003, которые выдает приемник SBS, используя для этого приложение Telnet, вы увидите нечто подобное:
STA,,5,179,400AE7,10103,2008/11/28,14:58:51.153,2008/11/28,14:58:51.153,RM MSG,4,5,211,4CA2D6,10057,2008/11/28,14:53:49.986,2008/11/28,14:58:51.153,,,408.3,146.4,,,64,,,,, MSG,8,5,211,4CA2D6,10057,2008/11/28,14:53:50.391,2008/11/28,14:58:51.153,,,,,,,,,,,,0 MSG,4,5,211,4CA2D6,10057,2008/11/28,14:53:50.391,2008/11/28,14:58:51.153,,,408.3,146.4,,,64,,,,, MSG,3,5,211,4CA2D6,10057,2008/11/28,14:53:50.594,2008/11/28,14:58:51.153,,37000,,,51.45735,-1.02826,,,0,0,0,0 MSG,8,5,812,ABBEE3,10095,2008/11/28,14:53:50.594,2008/11/28,14:58:51.153,,,,,,,,,,,,0 MSG,3,5,276,4010E9,10088,2008/11/28,14:53:49.986,2008/11/28,14:58:51.153,,28000,,,53.02551,-2.91389,,,0,0,0,0 MSG,4,5,276,4010E9,10088,2008/11/28,14:53:50.188,2008/11/28,14:58:51.153,,,459.4,20.2,,,64,,,,, MSG,8,5,276,4010E9,10088,2008/11/28,14:53:50.594,2008/11/28,14:58:51.153,,,,,,,,,,,,0 MSG,3,5,276,4010E9,10088,2008/11/28,14:53:50.594,2008/11/28,14:58:51.153,,28000,,,53.02677,-2.91310,,,0,0,0,0 MSG,4,5,769,4CA2CB,10061,2008/11/28,14:53:50.188,2008/11/28,14:58:51.153,,,367.7,138.6,,,-2432,,,,, MSG,8,5,769,4CA2CB,10061,2008/11/28,14:53:50.391,2008/11/28,14:58:51.153,,,,,,,,,,,,0
Декодирование таких данных не представляет сложной задачи.
Существует 6 типов сообщений - MSG, SEL, ID, AIR, STA, CLK. Основная информация от самолета содержится в MSG строке.
Остальные являются управляющими и сообщают о действиях пользователя.
ID | Тип | Описание |
---|---|---|
SEL | SELECTION CHANGE MESSAGE | Пользователь выбирает самолет в Basestation |
ID | NEW ID MESSAGE | Появляется отслеживаемый самолет или он меняет свой позывной |
AIR | NEW AIRCRAFT MESSAGE | Появляется самолет, не отслеживаемый в настоящее время. |
STA | STATUS CHANGE MESSAGE | Самолет меняет свой статус, согласно временнЫм настройкам в Basestation ( STA message uses the callsign field to record status flags based on user time-out values. Values are PL (Position Lost), SL (Signal Lost), RM (Remove), AD (Delete) and OK (used to reset time-outs if aircraft returns into cover).) |
CLK | CLICK MESSAGE | Когда двойной клик по самолету. |
MSG | TRANSMISSION MESSAGE |
Данные от самолета. Есть 8 типов такого сообщения. |
Сообщения MSG от самолета бывают одним из восьми типов:
ID | TYPE | Описание | |
---|---|---|---|
MSG,1 | ES Identification and Category | DF17 BDS 0,8 | |
MSG,2 | ES Surface Position Message | DF17 BDS 0,6 | Генерируется при касании носовой стойки шасси самолета земли. |
MSG,3 | ES Airborne Position Message | DF17 BDS 0,5 | |
MSG,4 | ES Airborne Velocity Message | DF17 BDS 0,9 | |
MSG,5 | Surveillance Alt Message | DF4, DF20 |
Генерируется от запроса наземного радара. Бзе CRC контроля. MSG,5 выдается только если до этого самолет выдавал MSG,1, 2, 3, 4 или 8. |
MSG,6 | Surveillance ID Message | DF5, DF21 |
Генерируется от запроса наземного радара. Без CRC контроля. MSG,6 выдается только если до этого самолет выдавал MSG,1, 2, 3, 4 или 8. |
MSG,7 | Air To Air Message | DF16 | Генерируется от TCAS. |
MSG,8 | All Call Reply | DF11 | Широковещательный самогенерируемый, но также выдается и по запросу от наземного радара. |
Эти поля одинаковы для всех сообщений (Поле 2 задействовано только в сообщении MSG).
Поле 1 | Тип сообщения | (MSG, STA, ID, AIR, SEL или CLK) |
Поле 2 | Тип данных | Подтип сообщения MSG. Не используется в других типах. |
Поле 3 | ID сессии | Номер записи в базе данных |
Поле 4 | ID самолета | Номер самолета в базе данных |
Поле 5 | HEX номер | HEX идентификатор самолета |
Поле 6 | ID рейса | Идентификатор рейса в базе данных |
Поле 7 | Дата генерации сообщения | |
Поле 8 | Время генерации сообщения | |
Поле 9 | Дата логгирования сообщения | |
Поле 10 | Время логгирования сообщения |
Поля ниже несут информацию о самолете.
Поле 11 | Callsign | 8-ми-значный идентификатор полета - может быть номер рейса или номер регистрации, либо пустой. |
Поле 12 | Altitude | Mode C высота. Высота относительно 1013.2mb (Flight Level). Не высота AMSL.. |
Поле 13 | GroundSpeed | Скорость относительно земли (не приборная скорость). |
Поле 14 | Track | Курс самолета (не угол). Высчитывается из скорости E/W и скорости N/S |
Поле 15 | Latitude | Широта. North и East положительна. South и West отрицательна. |
Поле 16 | Longitude | Долгота. North и East положительна. South и West отрицательна. |
Поле 17 | VerticalRate | Вертикальная скорость с разрешением в 64 фута. |
Поле 18 | Squawk | Присвоенный Mode A код сквока. |
Поле 19 | Alert (Squawk change) | Флаг, индицирующий смену сквока. |
Поле 20 | Emergency | Флаг, индицирующий что код emergency был послан. |
Поле 21 | SPI (Ident) | Флаг, индицирующий задействование transponder Ident. |
Поле 22 | IsOnGround | Флаг, индицирующий режим "На земле" |
Примечание:
Данные имеют значение -1 для True, и 0 для False. Neither means it is not used.
Поле 11 (Callsign) это поле из 8 символов (6 bit ASCII subset). В BaseStation NULL отображается как '@' код ASCII.
В кабине хоть и отображаются пробелы на индикаторе транспондера, однако посылается NULL.
Например, если пилоты ввели 8 пробелов, то в BaseStation будет отображаться как @@@@@@@@.
Поле 12 (Altitude) - высота, может быть 25 футов или 100 футов разрешением.
Mode-C - 100 футов, но сегодня много самолетов выдают в разрешении 25 футов, чтобы иметь возможность летать в пространстве Европы IFR (RVSM).
BaseStation отображает только барометрическую высоту, но данные идут как HAE (height above ellipsoid), которые идут как разница между высотой GPS и барометрической высотой.
Каждый тип сообщений имеет свой набор полей. В таблице ниже зеленым отображаются поля, передаваемые в этом типе сообщения
и серым обозначен NULL (пропуск - пример 0,,1). MSG сообщения содержат до 22 полей,
а другие типы сообщений до 10 полей.
Примечание:
1. STA сообщение использует поле callsign для записи флага статуса, основанного на временнЫх установках пользователя в программе.
Значения могут быть такими PL (Position Lost), SL (Signal Lost), RM (Remove), AD (Delete) и OK (сброс тайм-аута если самолет опять появился в зоне приема).
2. CLK сообщение возвращает значение -1 в Поле 4 и 6. Поле 5 равно null.
Из таблицы выше вы видите, что MSG,1 сообщение несет данные только в первых 11 полях, остальные 11 пустые. В этом случае вы увидите много запятых друг за другом. В других типах сообщений запятые подряд и обозначают пустое место.