EZ-WifiBroadcast DIY HD видео своими руками

svpcom

Я не помню, как все запускается в стандартном WFB образе, но я обычно все сервисы запускаю через systemd.
/lib/systemd/system/osd.service :
-------
[Unit]
Description=FPV OSD
After=network-online.target

[Service]
ExecStart=/usr/bin/osd
Type=simple
Restart=always
RestartSec=1s
TimeoutStopSec=10s
KillMode=control-group

[Install]
WantedBy=multi-user.target
-----

/lib/systemd/system/fpv.service :
-----
[Unit]
Description=FPV video
After=network-online.target

[Service]
ExecStart=/usr/bin/fpv_video.sh
Type=simple
Restart=always
RestartSec=1s
TimeoutStopSec=10s
KillMode=control-group

[Install]
WantedBy=multi-user.target
-----

systemctl daemon-reload
systemctl enable osd
systemctl enable fpv
systemctl start fpv
systemctl start osd

В настройках по умолчанию видео ожидается на порту UDP 5600, mavlink (для osd) на порту: udp 14550

QuadroSky:

Подскажите пожалуйста, как эту сборку внедрить в образ wfb?

Есть. Там принципиальная проблема в том, что home position не рассылается broadcast’ом. Его можно получить только по запросу и только после взлета.
Соответственно на одностороннем канале связи (как WFB ) это не получится. Как вариант его можно сохранять в файл и читать оттуда при старте OSD.

khomyakk:

Как временной мерой можно предложить вбивать значение Дома в конфиг и считывать оттуда. Это ведь должно проще реализовываться?
Василий, а в твоей версии такого “бага” нет?
Может ещё использовать исходящую телеметрию и формировать запрос? Правда тогда нужно одинаковой мощности и чувствительности стики на наземной и воздушной части.

khomyakk

Может доведёшь свой проект до образа ?
Стрёмно летать с домом всё время сзади.
Сейчас уже многие используют двунаправленную телеметрию, похерив управление с аппы через канал связи, вроде всё работает. Я правда ещё не пробовал.

svpcom

Если их не разносить по частотам или не делать подобие TDMA, то не получится - они будут коллизии производить. Ведь вся суть WFB как раз в выключении механизмов борьбы с коллизиями.

khomyakk:

Может ещё использовать исходящую телеметрию и формировать запрос? Правда тогда нужно одинаковой мощности и чувствительности стики на наземной и воздушной части.

Это не так просто. Поясню: у меня, например, на борту как минимум 2 компьютера - NEO2 и Pi Zero для камеры.
На земле и того больше - 2 NEO2 (3 wifi (6 антенн) + SiK-radio (телеметрия 433MHz) + ADS-B приемник) + Pi Zero в FPV-шлеме (все это соединено Ethernet’ом).
Плюс я использую PX4 в качестве автопилота. Маловероятно, что кто-то захочет собрать такой-же setup как я. Соответвенно делать готовый образ для каждой из систем (их 5) смысла не имеет, так как все изменения относительно стандартного образа это и есть их интерграция между собой. Проще написать HOWTO как это все между собой связывать, чем делать образа, которые всеравно придется править после установки.

khomyakk:

Может доведёшь свой проект до образа ?
Стрёмно летать с домом всё время сзади.
Сейчас уже многие используют двунаправленную телеметрию, похерив управление с аппы через канал связи, вроде всё работает. Я правда ещё не пробовал.

lelik
khomyakk:

Я ему предлагал обновлять точку дома по армингу, вроде писал, что исправил. Естественно и стрелка домой уплывает. А в пакетах Мавлинка точка дома не присутствует?

Есть в мавлинке сообщение LOCAL_POSITION_NED, в котором передаются прямоугольные координаты ЛА относительно дома в North-East-Down. При наших (да и твоих 😃) расстояниях геодезией можно пренебречь и работать в них. Киньте мне кто-нибудь сырые мавлинковские логи, я покопаюсь, у меня свои будут нескоро.

khomyakk

Скажи откуда их вытащить и я запишу в следующем полёте.
Логи от Ez-Wifibroadcast подойдут?

lelik
khomyakk:

Скажи откуда их вытащить и я запишу в следующем полёте.

С нижней малины /wbc_tmp/telemetrydowntmp.raw. Только учти, файл перезаписывается при каждом включении низа. Слетал, выключил, переписал.

khomyakk

Попробую вчерашний полет( от последнего подключения второго дисплея).
Видео тоже также там хранится?

lelik
khomyakk:

Видео тоже также там хранится?

Про видео не скажу, оно мне без надобности.

khomyakk

Как раз и надо 😃
Чтобы не таскать писалку в поле для жаждущих слить кусочек видео с ЮСБ камеры. Если конечно у тебя приемная часть на Малине.

lelik
khomyakk:

Как раз и надо 😃

Читайте доки, они - рулез. Там есть про то, куда писать видео.

khomyakk

Да знаю я, что на флешку, просто ты писал, что видео не записал, потому что не взял с собой комп в поле.
Наверное не то? Глянул - повторяются строки и нет никаких данных.
Подключил Малину через эвернет к сети и через Путти скопировал файл.
Что сделал не так?

telemetrydowntmp.rar

lelik
khomyakk:

Наверное не то? Глянул - повторяются строки и нет никаких данных.

Это у тебя косяк какой-то с двунаправленной телеметрией, небось от французов научился!

khomyakk

Да нет, ещё ни разу не пробовал включать.
Порядок действий правильный при копировании файла?
Если вставить флешку после полёта - там тоже копируется телеметрия. Подойдёт?
Попробую оба варианта.

lelik
khomyakk:

Порядок действий правильный при копировании файла?

Вроде все правильно, только вместо данных у тебя сообщение о какой-то ошибке. Завтра у себя на стенде посмотрю.

РД00
lelik:

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

По моему, можно малой кровью : пока Disarmed, ничего не делаем. Когда сменяется на Armed, запоминаем текущие координаты как Home Position и пишем их в файл. На старте WBC читаем значения из файла, обновляем только в момент перехода Disarmed->Armed.

khomyakk

Вот и я думал в том же направлении. Ведь ждёт же ОСД команды от ЖПС, когда будет привязка по 3д фикс и только потом появляются координаты.
Вчера поставил патч, чтобы ОСД отображало общий пройденный путь. Что то там ребята не доработали и даже пока нет привязки от ЖПС отображаются какие то цифры. Но сразу после 3д фикса появляются нормальные координаты и точка Дома.

lelik
РД00:

По моему, можно малой кровью

Возни больше, чем с LPI

khomyakk

Без проблем. Но завтра. Сегодня попробую на земле.

РД00
lelik:

Возни больше

Этот LOCAL_POSITION_NED в APM’ах есть, а вот в каком-нибудь iNav/CleanFlight его запросто может и не быть.

UPD: Первое, что находится гуглом по этому слову - как мужик пытается найти его в Pixhawk. По документам есть, на деле - нет : discuss.ardupilot.org/t/…/26109

lelik
РД00:

Этот LOCAL_POSITION_NED в APM’ах есть, а вот в каком-нибудь iNav/CleanFlight его запросто может и не быть.

Пикс его шлет, я делал трекер на данных из этого сообщения, все прекрасно работало.