Специальные цены   новые товары
+ Ответить в теме
Показано с 1 по 13 из 13

MavLink протокол получить данные

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Хочу вытащить значение напряжения на аккумуляторе. Сохранил обмен что шлет мой APM 2.6. И не могу понять почему Message ID ...

  1. #1

    Регистрация
    04.01.2016
    Адрес
    Самара
    Возраст
    32
    Сообщений
    231
    Записей в дневнике
    1

    MavLink протокол получить данные

    Хочу вытащить значение напряжения на аккумуляторе. Сохранил обмен что шлет мой APM 2.6. И не могу понять почему Message ID у многих посылок одинаковый 16 ?

    FE 19 7D 01 01 16 00 00 00 00 32 01 03 01 42 41 54 54 5F 4D 4F 4E 49 54 4F 52 00 00 00 00 02 F9 82 þ.}.......2...BATT_MONITOR.....ù‚

    FE 19 7E 01 01 16 00 00 80 BF 32 01 04 01 42 41 54 54 5F 56 4F 4C 54 5F 50 49 4E 00 00 00 02 CD 16 þ.~.....€¿2...BATT_VOLT_PIN....Í

    FE 19 7F 01 01 16 00 00 80 BF 32 01 05 01 42 41 54 54 5F 43 55 52 52 5F 50 49 4E 00 00 00 02 64 6D þ......€¿2...BATT_CURR_PIN....

    Я думал достаточно отловить начало посылки 0xFE, посмотреть какой параметр тут содержится (Message ID) и вытащить его. Как тогда разбирать эти посылки? Или надо парсить по ключевым словам (BATT_MONITOR и т.д.)?

  2.  
  3. #2

    Регистрация
    04.01.2016
    Адрес
    Самара
    Возраст
    32
    Сообщений
    231
    Записей в дневнике
    1
    Вот, например, ещё одна посылка:

    FE 1A FA 01 01 1B 36 B6 AA 2C 00 00 00 00 DA FF D7 FE 40 FC 00 00 FF FF 00 00 14 00 FC FF 57 00 71 DA

    Описания в самой строке уже нет. Какой параметр тут передается?

    FE - заголовок
    1A - длина (26 байт)
    FA - порядковый номер посылки
    01 - System ID
    01 - Component ID
    1B - Message ID
    ...
    ... 26 байт данных ...
    ...
    71 DA - контрольная сумма

    Я не смог найти описания Message ID и как потом разобрать данные.

  4. #3

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    33
    Сообщений
    1,097
    Записей в дневнике
    2
    Дмитрий, рекомендую разобрать вот этот проект, там есть все, что нужно для разбора mavlink. Думал тоже задать вопрос по этой теме, но судя по количеству ответов тут, похоже без толку ((

  5. #4

    Регистрация
    22.03.2015
    Адрес
    Пермь
    Возраст
    50
    Сообщений
    115
    если поможет, то смотреть здесь https://pixhawk.ethz.ch/mavlink/

    конкретно Ваш пакет:

    RAW_IMU ( #27 )

    The RAW IMU readings for the usual 9DOF sensor setup. This message should always contain the true raw values without any scaling to allow data capture and system debugging.
    Field Name Type Description
    time_usec uint64_t Timestamp (microseconds since UNIX epoch or microseconds since system boot)
    xacc int16_t X acceleration (raw)
    yacc int16_t Y acceleration (raw)
    zacc int16_t Z acceleration (raw)
    xgyro int16_t Angular speed around X axis (raw)
    ygyro int16_t Angular speed around Y axis (raw)
    zgyro int16_t Angular speed around Z axis (raw)
    xmag int16_t X Magnetic field (raw)
    ymag int16_t Y Magnetic field (raw)
    zmag int16_t Z Magnetic field (raw)

  6.  
  7. #5

    Регистрация
    14.06.2016
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1
    Если еще актуально....
    Посылки что вы отлавливали с message id 0x16 (PARAM_VALUE) - идут только в начале, при загрузке (около 300) и содержат настройки контроллера, одна переменная в одной посыле.

    А напряжение содержится в message id 0x01 (SYS_STATUS)

    У меня только .tlog с APM2.5 без подключенного "напряжеметра" имелся под рукой, поэтому там ~1 вольт и ~1 ампер выдает. Вот так выглядит:

    FE 1F 88 01 01 01 - заголовок
    2F FC 20 00
    2F 9C 20 00
    2F FC 20 00
    CC 02
    15 04 <- напряжение 1045 mV (байты задом наперед)
    A0 03 <- ток 928 mA
    00
    ....

  8. #6

    Регистрация
    25.01.2005
    Адрес
    Москва
    Возраст
    40
    Сообщений
    2,029
    Ребят, не поделитесь полным скетчем для загрузки в нано-ардуину?
    Проблема у меня простая - новые прошивки АПМ не поддерживают вывод на пины А6 и A7 сигналов арминга и статуса GPS. А очень надо. Есть идея подключиться к телеметрийному выходу АПМ вместе с осд и прочитать пакеты автопилота, вытащить два статуса и мигать двумя светодиодами. Я понимаю, что получается жесткий зверинец, ноиначе я не знаю, как решить задачу.

  9. #7

    Регистрация
    22.03.2015
    Адрес
    Пермь
    Возраст
    50
    Сообщений
    115
    а вы уверены, что в мавлинке есть информация об арминге? в каком сообщении?

  10.  
  11. #8

    Регистрация
    25.01.2005
    Адрес
    Москва
    Возраст
    40
    Сообщений
    2,029
    Конечно есть. Раз автопилот отдает информацию в МП, а также на осд, то конечно она есть.
    Систем стейт, по-моему. Там все есть.
    Я поэтому и попросил поделиться кодом, чтобы не ходить по одним и тем же граблям.

  12. #9

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    33
    Сообщений
    1,097
    Записей в дневнике
    2
    Цитата Сообщение от Glinco Посмотреть сообщение
    поделиться кодом
    Дмитрий, вот тут рабочий пример. У меня, однако, он так и не завелся, может ардуинка с неверным кварцем или еще что...
    https://github.com/ptsneves/FrSkyTelemetry

  13. #10

    Регистрация
    25.01.2005
    Адрес
    Москва
    Возраст
    40
    Сообщений
    2,029
    Благодарю, буду разбираться. По делу, нужно обвернуть имеющиеся функции в класс со всеми пропертями и сделать совсем доступным для неопытных юзеров.
    Я не прогал семь лет уже, сменил область деятельности.

  14. #11

    Регистрация
    20.02.2015
    Адрес
    Москва
    Возраст
    33
    Сообщений
    1,097
    Записей в дневнике
    2
    Цитата Сообщение от Glinco Посмотреть сообщение
    сделать совсем доступным для неопытных юзеров
    Надо, но всем влом. Я вообще мало опытен в программирование железа (больше веб-разработка), и я вечно спотыкаюсь. В итоге у меня не получилось даже завести этот пример, даже части его. Я уже не помню всего, но там такая мистика была, что даже не смешно уже было. Я плюнул и забил на переписывание на arduino nano, пользуюсь на своем квадрике Teensy, где все заводится и работает.

  15. #12

    Регистрация
    22.03.2015
    Адрес
    Пермь
    Возраст
    50
    Сообщений
    115
    Хорошо, попробую вам помочь, напишу индикатор арминга и статуса GPS из мавлинка. Еще что нибудь добавить?

  16. #13

    Регистрация
    25.01.2005
    Адрес
    Москва
    Возраст
    40
    Сообщений
    2,029
    Ооо, благодарю! Нет, это все что мне нужно! Остальное работает. Спасибо!!!

+ Ответить в теме

Похожие темы

  1. Tracker TK102 - общие вопросы, обсуждение, советы по настройкам.
    от Ильвир в разделе Полеты по камере, телеметрия
    Ответов: 820
    Последнее сообщение: 01.10.2017, 12:23
  2. XK K120 - продолжение V977 с двухбаночным аккумулятором и протоколом S-FHSS
    от Babay в разделе Микровертолеты. Легче 400 грамм
    Ответов: 419
    Последнее сообщение: 29.08.2017, 22:36
  3. Пара вопросов по MinimOSD/Mavlink OSD.
    от Saradon в разделе Полеты по камере, телеметрия
    Ответов: 37
    Последнее сообщение: 10.12.2016, 23:24
  4. JC-60 EVO
    от Oleg-vgd в разделе Бензиновые двигатели
    Ответов: 428
    Последнее сообщение: 23.02.2016, 20:06
  5. Протоколы соревнований в Смоленске 2015
    от nbs в разделе Соревнования, встречи
    Ответов: 33
    Последнее сообщение: 10.06.2015, 10:59

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения