Например TDA7294

Форум РадиоКот • Просмотр темы - протокол MAVlink ( библиотека )
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс апр 28, 2024 11:09:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: протокол MAVlink ( библиотека )
СообщениеДобавлено: Вс июл 12, 2015 12:49:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2300
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Кто ни будь работал с протоколом MAVlink? ( http://www.qgroundcontrol.org/mavlink/start )
Нужна библиотека для работы с этим протоколом.
Естественно пригодная для работы с AVR ( очень желательно без АРДУИНОзависимости )
В тырнэте ни слова на Русском про этот протокол.

Могу дать кусочек кода принятого по протоколу MAVlink через гипертериминал
Вложение:
артем_гпс_антеннатрекер.txt [31.48 KiB]
Скачиваний: 415

Как видно, код MAVlink бинарный и не расшифровывается таблицей ASCII.
Зато комментарии читаются...

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Вс июл 12, 2015 20:23:42 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 1
Я никогда этим протоколом не занимался, но глянул ради любопытства - первая часть текстовой строки = бинарные данные в HEX-коде, вторая часть - те же данные, но в ASCII. Если символом ASCII код выражен быть не может, то вместо его точка. Посмотрел по ссылкам - протокол задокументирован нормально. Если есть вопросы к наполнению содержанием конкретных параметров - это, видимо, адресоваться к конкретной аппаратуре ЛА .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Вс июл 12, 2015 22:08:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2300
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Цитата:
первая часть текстовой строки = бинарные данные в HEX-коде, вторая часть - те же данные, но в ASCII.
ТОЧНО!!!
блин, онлайн ресурс меня подвел - http://www.asciitohex.com/
он не умеет читать посылку в которой содержаться нечитаемые данные!!!!
надо бы другой ресурс присмотреть....

Мне щас скинули еще один кусочек кода. На этот раз код не дешифруется ASCII
Вложение:
для сани(1).txt [119.34 KiB]
Скачиваний: 290

У меня самого нет возможности считать этот код.
( Товарищ в другом городе проживает )

Цитата:
Если есть вопросы к наполнению содержанием конкретных параметров - это, видимо, адресоваться к конкретной аппаратуре ЛА .
Не совсем так.
MAVlink - это универсальный протокол обмена данными для передачи телеметрии.
В частности большинство модельных полетных контроллеров ( автопилотов ) работает с этим протоколом.
Раньше использовали ASCII, но он очень "тяжелый" и по этому от него отказались.
Сейчас полетный контроллер опрашивает все возможные датчики и вставляет значения в протокол мавлинк.
Конкретных ЛА тут нет. Протокол универсален.

Дело в том, что мне поставили задачу выдернуть GPS данные из этого протокола и данные с БАРО датчика ( датчик высоты )
и дальше с ними поработать.
Нужно сделать самонаводящуюся антенну - проект открытый.

А у меня нет ни полетного контроллера, ни знаний протокола МАВЛИНК.
Даже подобных проектов в тырнете нет.

вот способ шифрования мавлинк
Изображение
Попробую расшифровать один из пакетов ( которы мне скинули в первый раз )

Код:
FE 19 D3 01 01 16 00 00 00 00 10 01 B6 00 43 4F 4D 50 41 53 53 5F 4C 45 41 52 4E 00 00 00 02 43 12 // ю.У.........¶.COMPASS_LEARN....C.
                                                           
Всего 33 байта

43 4F 4D 50 41 53 53 5F 4C 45 41 52 4E = COMPASS_LEARN

*****************************************************************************************************************************************************************

где

0) - FE - начало пакета

1) - 19 - указывает длину следующей полезной нагрузки ( десятич 25 ) все верно! 25 байт!!!

2) - d3 - Каждый компонент подсчитывает его последовательность отправки. Позволяет обнаруживать потерю пакетов. ( десятич 211 )

3) - 01 - идентификатор передающей системе. Позволяет дифференцировать различные MAVS в той-же сети.

4) - 01 - ID предоставляемого компонента. Позволяет дифференцировать различные компоненты системы, такие как IMU или автопилот

5) - 16 - идентификатор сообщения. ID определяет что означает сообщение и как его правильно декодировать. ( десятич 22 )

6) - 00 00 00 00 10 01 B6 00 43 4F 4D 50 41 53 53 5F 4C 45 41 52 4E 00 00 00 02    - сообщение ( 25 байт )

7и8) - 43 12 - контрольная сумма


теперь нужно расшифровать сообщение 00 00 00 00 10 01 B6 00 43 4F 4D 50 41 53 53 5F 4C 45 41 52 4E 00 00 00 02


00 00 00 00 10 01 B6 00 - ? ( 8 байт )

43 4F 4D 50 41 53 53 5F 4C 45 41 52 4E - это мы знаем - COMPASS_LEARN ( 13 байт )

00 00 00 02 - ? ( 4 байта )

тут остается посмотреть действительные значения с этого компаса и понять как они кодируются
Аналогично можно расковырять GPS координаты.

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
В сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Пн июл 13, 2015 10:02:06 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 1
Я никогда ни с кем не спорю, тем боле по вопросу, которым я плотно не занимался. Приведенный "скелет" протокола я видел. Так в нем поле Data ( Byte Index 6... ) зависит от Byte Index 5 ( тип сообщения ). Я не утверждал, что данные зависят от конкретного типа ЛА, я предполагал, что они зависят от конкретного устройства на ЛА, опрашиваемого в данном сеансе. Иначе если бы протокол стандартизовал не только формат посылки, но и ее содержание, конструкция сообщения была бы жесткой : байты X...X+n - курсовой угол, байты Y...Y+n - тангаж и т.п. Но это всего лишь предположения, подкрепленные опытом работы с Modbus . Там тоже от меня заказчик требовал: если в букваре есть опрос катушек - опрашивай катушки, хотя никаких катушек в проектируемом устройстве и в помине нет, а про всякие отсечки, температуры, тау и пр. -- ни-ни ! :?
А с новым фрагментом - возможно, это не прямо принятое с ЛА, а пропущенное через какую-нибудь прогу, которая произвела нужные, как ей казалось, перекодировки. Или же ASCII в этом сообщении нет, все бинарное.
Ну, успехов Вам! Пусть число взлетов совпадает с числом посадок!


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Пн июл 13, 2015 10:11:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2300
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Цитата:
Я не утверждал, что данные зависят от конкретного типа ЛА, я предполагал, что они зависят от конкретного устройства на ЛА
Ох, точно. Прошу прощения...
Тогда все правильно...

Цитата:
Или же ASCII в этом сообщении нет, все бинарное.
Да, точно - заказчик подтвердил, что все бинарное.
А ASCII сообщения выдает автопилот на старте.

Цитата:
Ну, успехов Вам! Пусть число взлетов совпадает с числом посадок!
Спасибо!

Что касается GPS кодирования

GPS-модуль U-Blox ( блоха )
выдает данные по протоколу UBX ( да, да именно по такому протоколу )
далее эти данные вствляются в протокол MAVlink

GLOBAL_POSITION_INT ( #33 ) ( https://pixhawk.ethz.ch/mavlink/ )
Код:
time_boot_ms    (uint32_t)   Timestamp (milliseconds since system boot) //Отметка (миллисекунд с момента загрузки системы)

lat   (int32_t)   Latitude, expressed as * 1E7 // Широта, выражается в * 1E7

lon   (int32_t)   Longitude, expressed as * 1E7 // Долгота, выражается в * 1E7

alt   (int32_t)   Altitude in meters, expressed as * 1000 (millimeters), AMSL (not WGS84 - note that virtually all GPS modules provide the AMSL as well) // Высота над уровнем моря в метрах, выраженное в * 1000 (мм), над уровнем моря (не WGS-84 - обратите внимание, что практически все модули GPS обеспечивают над уровнем моря, а)

relative_alt   (int32_t)   Altitude above ground in meters, expressed as * 1000 (millimeters) // Высота над землей в метрах, выраженное в * 1000 (мм)

vx   (int16_t)   Ground X Speed (Latitude), expressed as m/s * 100 // Наземная X Скорость (широта), выраженная в м / с * 100

vy   (int16_t)   Ground Y Speed (Longitude), expressed as m/s * 100 //  Наземная Y Скорость (Долгота), выраженная в м / с * 100

vz   (int16_t)   Ground Z Speed (Altitude), expressed as m/s * 100

hdg   (uint16_t)   Compass heading in degrees * 100, 0.0..359.99 degrees. If unknown, set to: UINT16_MAX


_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Пт июл 17, 2015 23:02:34 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2300
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Не могу понять как определять ID ( идентификатор ) GPS модуля.
В мануале написано GLOBAL_POSITION_INT ( #33 )
мне подсказали, что запись вида #33 - является шестнадцатеричной.
Но в куске кода я не нашел ни одной посылки с таким идентификатором.
Отсюда следует:
1) #33 не является шестнадцатеричным идентификатором GPS
2) В том куске кода не было ни одной посылки, содержащей сообщения с координатами.
:(
Вот о чем я и говорю, остается гадать - так как самому код не считать...

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Пн июн 06, 2016 10:24:30 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Пытаюсь разобраться с протоколом. Сохранил обмен что шлет мой полетный контроллер APM 2.6. Хочу вытащить значение напряжения на аккумуляторе. И не могу понять почему Message ID у многих посылок одинаковый 16 ? (5-й байт)

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 и т.д.)?

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Вт июн 07, 2016 10:32:50 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Вот, например, ещё одна посылка:

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 и как потом разобрать данные. Может у кого есть описание?

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: протокол MAVlink ( библиотека )
СообщениеДобавлено: Пн июн 20, 2016 22:00:21 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Нашел: https://pixhawk.ethz.ch/mavlink/#SYS_STATUS

Напряжение содержится в Message ID 0х01. 15-й и 16-й байт. Байты поменять местами и получится напряжение в мВ.

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: veso74 и гости: 32


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y