EasyToTrack - DIY универсальная наземка, повортка, телеметрия
Очень интересный проект! Константин, расскажите пожалуйста, чем обусловлен выбор кварца на 20Мгц и можно ли переделать sender и GS на 16Мгц?
Выбор кварца как в sender так и наземке обусловлен использованием в качестве основы проекта asm кода ответственного за обработку прерываний кадровой развертки. Автором этой части кода является msv. А так как основное для меня - полная совместимость с EasyToFly автопилотом, то частота на которой работают мк и обрабатывают код критичный для временных интервалов остаются такими - же 20МГц.
Как итог, переделать можно. Но я не буду, так как будет потеряна совместимость с EasyToFly.
Так как реализовано на данный момент - нет. Мавлинк в чистом виде по видеоканалу не передается. Но можно попробовать сделать типа видео-модем и тогда гнать любые данные вроде как без проблем.
Ну нет так нет. Тогда пойдем другим путем, я так понимаю что esp-ха у вас тупо пробрасывает, то, что прилетает из UART любому подключенному к ней клиенту если он постучится в правильный порт, а подробнее можно, порт, протокол, формат данных, нужно постоянно дергать этот порт или там что то вроде WebSocket один канал открыл и оттуда постоянно прилетают данные?
Попробую забрать это на малинку а там сохранить в лог и паралельно превратить их в Мавлинк для раздачи OSD-шкам.
Все верно, просто пробрасываю UART. ESP-link разрешает множественные подключения. Открываем сокет с портом 23 или 2323. Слушаем и забираем данные.
Вид пакета такой:
[SYN_BYTE] [LENGTH] [TYPE_BYTE] [TO_HOST_DATA] [CRC] [\r\n]
где
SYN_BYTE = 0x55
LENGTH = длина payload (sizeof(TYPE_BYTE) + sizeof(TO_HOST_DATA))
TYPE_BYTE = 0x00 для этого типа пакета
typedef struct
{
s_int Track_azimuth; //Азимут для поворотки
s_int Track_elevation; //Элевация для поворотки
u_long GPS_lat; //Latitude
u_long GPS_lon; //Longitude
u_long Home_lat; //Home Latitude
u_long Home_lon; //Home Longitude
u_int GPS_course; //Курс по GPS
s_int Altitude; //Высота по GPS
u_int GPS_speed; //Скорость по GPS
u_char APmode; //Режим полетного контроллера
u_char CTRL_RSSI; //RSSI канала управления
s_int RollAngle; //угол Roll
s_int PitchAngle; //угол Pitch
u_int BattVoltage; //Напряжение батареи
u_int BattCurrent; //Ток батареи
u_int BattCapacity; //Израсходованная емкость батареи
u_int AV_RSSI; //RSSI видео приемника
u_char AVErrors; //Ошибки декодирования данных из видео
u_char Reserved[2];
u_char GS_Version; //Версия наземки
u_char InputMode; //Тип Sender
u_char AP_Version; //Версия Sender
}TO_HOST_DATA; // 46 bytes
CRC рассчитывается просто при помощи логической операции XOR. Просто XORим все байты после SYN_BYTE.
Так как сначала все делалось под самолеты, то курс, высота и скорость берутся по GPS. В планах добавить в конфиг Sender источник этих данных
Константин, не планируете поддержку Bluetooth в EasyToFlyMonitor (хочется повторить на имеющемся в наличие модуле HC05)?
А вообще, плата наземки без wi-fi есть в Sprint Layout. Но двухсторонняя. Но ЛУТом легко делается. А Sender только мелкий - под заводское изготовление.
А можно туда же выложить?
Константин, не планируете поддержку Bluetooth в EasyToFlyMonitor (хочется повторить на имеющемся в наличие модуле HC05)?
Если будет время на выходных - добавлю
А можно туда же выложить?
В папке GS_msv_orig на гуглодрайве схема в Splan и плата в Sprint Layout
А существует возможность и желание обьеденится и заказать партию с изготовлением из китайщины?
Если будет время на выходных - добавлю
В EasyToFlyMonitor v1.2 появилась поддержка соединения по Bluetooth.
Тестировал с модулями HC05. Вроде должно работать и с другими аналогичными
Костя, а как EasyToTrack подключить к iNav контроллеру?. Там же не мавлинк.
В конфигураторе выбрать MSP режим.
На днях проверял эту связку - работает отлично.
И подключать паралленльно ОСД на тотже самый порт?
ТО ШО НАДО!!! Я давно его хотел 😃!
Прикольно выглядит.
На подходе графическое ОСД (95% графики msv) со всеми функциями sender и в том же размере (примерно как minim osd стандартный).
И это все на ATmega 328 ?
Чудес не бывает. ATmega1284. $3 на али.
Уже можно заказывать для повторения или прошивка будет не доступна? ATmega1284P-AU - она?
На подходе графическое ОСД (95% графики msv) со всеми функциями sender и в том же размере (примерно как minim osd стандартный).
А как minimosd его можно будет подключить к АПМ например? т.е. мавлинк оно понимает?
Уже можно заказывать для повторения или прошивка будет не доступна? ATmega1284P-AU - она?
Atmega правильная
Прошивка конечно же будет в открытом доступе после успешного полевого испытания. На данный момент жду чтоб приехали печатки.
Вот схема осд (pdf). Если не видно номиналов на сайте хостинга картинок, то вверху есть выбор разрешения отображения
Из экзотики там только кварц на 20МГц размером 5.0мм х 3.2мм. Я их беру у этого продавца. Хотя можно найти и дешевле. Ну и крупные танталы (100мкФ 16В) размером C6032. Все остальное обычное и стандартное 0603.
А как minimosd его можно будет подключить к АПМ например? т.е. мавлинк оно понимает?
Это осд мультипротокольное и понимает MAVLINK, LTM, MSP (также голый UBLOX и NMEA). Поэтому его можно подключить к:
- PX4
- APM
- iNAV
- CLEANFLIGHT
- MULTIWII
Кроме этого, как я уже писал, оно совместимо с наземкой msv. То есть шлет телеметрию через аналоговый канал видео и, таким образом, весь лог и поведение ЛА можно наблюдать на андроид устройстве.