diff --git a/images/MC_shell_link.png b/images/MC_shell_link.png new file mode 100644 index 0000000..e7d467d Binary files /dev/null and b/images/MC_shell_link.png differ diff --git a/images/QGC_mavlink.png b/images/QGC_mavlink.png new file mode 100644 index 0000000..92ab3c2 Binary files /dev/null and b/images/QGC_mavlink.png differ diff --git a/images/QGC_mission.png b/images/QGC_mission.png new file mode 100644 index 0000000..a0fd57c Binary files /dev/null and b/images/QGC_mission.png differ diff --git a/images/QGC_params.png b/images/QGC_params.png new file mode 100644 index 0000000..3d0d5c5 Binary files /dev/null and b/images/QGC_params.png differ diff --git a/images/QGC_telem.png b/images/QGC_telem.png new file mode 100644 index 0000000..6b9cc19 Binary files /dev/null and b/images/QGC_telem.png differ diff --git a/images/wfb-cli_video_only.png b/images/wfb-cli_video_only.png new file mode 100644 index 0000000..965fbeb Binary files /dev/null and b/images/wfb-cli_video_only.png differ diff --git a/images/wfb-cli_video_telem.png b/images/wfb-cli_video_telem.png new file mode 100644 index 0000000..7095d73 Binary files /dev/null and b/images/wfb-cli_video_telem.png differ diff --git a/ru/fpv.md b/ru/fpv.md index d06ca97..47351fa 100644 --- a/ru/fpv.md +++ b/ru/fpv.md @@ -130,7 +130,7 @@ sudo iwconfig wlan0 channel 14 sudo ip link set wlan0 up ``` * Убедитесь, что на камере и десктопе на WiFi адаптерах установлена одинаковая частота через команду `iwconfig`, при необходимости смените частоту через редактирование конфига `/etc/wfb.conf` на камере (параметр `channel`) или командой `sudo iwconfig <имя_адаптера> channel <номер>` на десктопе. -* Скомпилируйте из исходного кода [WFB-ng](https://github.com/svpcom/wifibroadcast), __обязательно используйте бранч stable__, скопируйте ключ `gs.key` с IP-камеры и запустите прием `sudo ./wfb_rx -p 0 -u 5600 -K -i 7669206 gs.key wlan0` +* Скомпилируйте из исходного кода [WFB-ng](https://github.com/svpcom/wifibroadcast), __обязательно используйте бранч stable__, скопируйте ключ `./etс/gs.key` с IP-камеры на десктоп и запустите прием `sudo ./wfb_rx -p 0 -u 5600 -K -i 7669206 gs.key wlan0` * Проверьте, что в консоли вывод ``` 32168228 PKT 0:0:0:0:0:0 @@ -153,6 +153,45 @@ sudo ip link set wlan0 up ``` * Запустите Gstreamer `gst-launch-1.0 -vvv udpsrc port=5600 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! queue ! avdec_h264 ! autovideosink sync=false -e` и проверьте качество изображения +### Развитие наземной станции, телеметрия + +Предполагается, что на машине под Linux установлен wfb-ng по инструкции с [quick-start-using-ubuntu](https://github.com/svpcom/wfb-ng#quick-start-using-ubuntu-ground-station). В последующих примерах используется Хubuntu 18.04 LTS и wfb-ng 22.09. + +* Запустите wfb-ng, запустите консоль wfb-cli: +``` +sudo systemctl restart wifibroadcast@gs +wfb-cli gs +``` +* Убедитесь, что идут пакеты видео. Здесь же можно видеть значения RSSI антенн WiFi адаптера: + +![wfb-cli-video](../images/wfb-cli_video_only.png) + +Если значение recv остается нулем, а значение lost растет - скорее всего, не совпадают ключи камеры и наземной станции. Убедитесь, что /etc/gs.key скопирован на наземную станцию. Если никаких пакетов нет - убедитесь, что `channel=xx` в /etc/wfb.conf на камере и `wifi_channel=xx` в /etc/wifibroadcast.cfg на земле имеют одинаковые значения. Для диапазона 5.8 ГГц адаптера RTL8812AU рекомендуется использовать каналы 60 и выше. + +* Настройте полетный контроллер под ArduPilot на выдачу телеметрии в формате mavlink1 на скорости 115200 на, например, порту Serial1. В случае односторонней телеметрии (только вниз) убедитесь, что ПК выдает требуемый телеметрический поток по умолчанию, без соединения с наземной станцией. Это выполняется через установку параметров SR1_xxx, см. [mavlink SR_ parameters](https://ardupilot.org/dev/docs/mavlink-requesting-data.html). +* Соедините Serial1 ПК c UART камеры, rx на tx, tx на rx. В случае современных ПК на STM32F4/7 уровни напряжения совпадают (3.3В), в случае 5В APM потребуется преобразование уровней. Тонкость - загрузчик U-Boot камеры на загрузке останавливается, получив на вход UART любые байты. ПК должен начать выдавать телеметрию c задержкой на несколько секунд, через установку параметра TELEM_DELAY. На столе проще предусмотреть разрыв в линии от ПК к камере. +* На камере в файле /etc/wfb.conf установите параметр `telemetry=true` , в файле /etc/telemetry.conf - параметр `one_way=true` для односторонней или `one_way=false` для двустронней телеметрии соответственно. Простейший способ правки файлов на камере - Shell Link в Midnight Commander: +* +![mc_shell_link](../images/MC_shell_link.png) + +* Перезапустите камеру и сервис wfb-ng. В wfb-cli должен появиться второй поток данных - телеметрия: + +![wfb-cli-video-telem](../images/wfb-cli_video_telem.png) + +* Установите QGroundControl. Здесь используется версия 4.0.11 из-за некорректной работы последних версий с видео в 18.04 LTS. Новые Comm Links создавать не нужно. QGC должен увидеть соединение с ПК и отображать входной поток телеметрии: + +![QGC-map](../images/QGC_telem.png) + +![QGC-mavlink](../images/QGC_mavlink.png) + +В случае двусторонней телеметрии QGC должен загрузить параметры, позволять их менять, позволять переключать полетные режимы, загружать и выгружать миссии: + +![QGC-params](../images/QGC_params.png) + +![QGC-mission](../images/QGC_mission.png) + +Видно, что QGS также уже отображает видео. Задержка в 4.0.11 довольно значительна из-за чисто программной обработки потока, разумно пробовать современные версии под Ubuntu 20.04 и новее. + ### Траблшутинг * Через команду `sudo tcpdump -i wlan0` на десктопе без запуска WFG-ng вы можете проверить, что передатчик действительно отправляет пакеты в эфир: