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

Rezonator

Подскажите как увидеть stdout/stderr?

	fprintf(stderr, "Waiting for joystick ...");
	while (joy) {
	    joy_connected=access(JOY_DEV, F_OK);
	    fprintf(stderr, ".");
	    if (joy_connected == 0) {
		fprintf(stderr, "connected!\n");
		joy=0;
Rezonator

Не варик, надо на монитор либо по SSH

По идее должно на tty12 сыпаться

lelik
Rezonator:

Не варик, надо на монитор либо по SSH

Ну если по ssh зашел и ручками запустил - на консоли тебе stdout с stderr и будут. А если из .profile эта шняга запускается - ищи ee дефолтный tty. Или же поправь .profile, добавь к вызову >/tmp/шняга.log 2>&1

Rezonator

Должно быть вот так

function rctx_function {
    # Convert joystick config from DOS format to UNIX format
    ionice -c 3 nice dos2unix -n /boot/joyconfig.txt /tmp/rctx.h > /dev/null 2>&1
    echo
    echo Building RC ...
    cd /root/wifibroadcast_rc
    ionice -c 3 nice gcc -lrt -lpcap rctx.c -o /tmp/rctx `sdl-config --libs` `sdl-config --cflags` || {
	echo "ERROR: Could not build RC, check joyconfig.txt!"

joyconfig что-ли ему не нравится?

Кажись нашел

root@wbc(ro):/home/pi# cat /tmp/rctx.h
// Axis number to channel number mapping. Joystick axis 0-7 maps to R/C channel 1-8.
// Axis mapping is AETR1234

#define JSSWITCHES      16      /// 8 for 8 axis + 8 switches = 16 channels / 16 for 8 + 16 = 24 channels to send

#define ROLL_AXIS      3
#define PITCH_AXIS     4
#define YAW_AXIS       0
#define THROTTLE_AXIS  1
#define AUX1_AXIS      5
#define AUX2_AXIS      6
#define AUX3_AXIS      5
#define AUX4_AXIS      6
// Initial axis settings. Since we cannot determine the stick positions until the
// corresponding axis has been moved, we need to pre-fill initial stick postions.
//
// Set your throttle channel to zero throttle (usually 1000) to make sure motors don't spin unintended!
// Set the other channels to the desired middle stick position (usually 1500)

#define AXIS0_INITIAL 1500
#define AXIS1_INITIAL 1020
#define AXIS2_INITIAL 1500
#define AXIS3_INITIAL 1500
#define AXIS4_INITIAL 1000
#define AXIS5_INITIAL 1000
#define AXIS6_INITIAL 1000
#define AXIS7_INITIAL 1000

// 3 = 6ms (167Hz), 4 = 8ms (125Hz), 5 = 10ms (100Hz), 6 = 12ms (83Hz), 7 = 14ms (71Hz), 8 = 16ms (63Hz), 9 = 18ms (56Hz), 10 = 20ms (50Hz)
#define UPDATE_NTH_TIME 10
#define TRANSMISSIONS 2

😕
Походу мой косяк

Rezonator

Стыдно признать, но да.
Правда только 4 оси, осталось научить его понимать кнопки.

kostya-tin

Поднял сегодня нового талона с Open.HD на борту. на передаче установлена RP3B, так же добавил на нее микрофон. передающий стик - китайский мощный AR9271, не самый большой TxPowerAir=54. ну и HDMI-CSI конвертер со сплитом. так же временами со мной подлетал товарищ на коптере с ХД линком, у которого частота явно пересекала мою: у меня 2322, а у него 2312. помехи от него хорошо видны на 1:45 во время второго взлета. а так слетал почти на 7км. по звуку нужно что-то делать, т.к. он идет обрывками и с задержкой ну и буду поднимать мощность передатчика

siderat

Pi3b+ умеет ретранслировать видео с телеметрией на шлем? Или это возможно только с программой fpv-vr.

whoim

hdmi, wifi(hotspot), av-out. Исходите из этих трёх вариантов.

kostya-tin:

HDMI-CSI конвертер со сплитом

Ранкам сплит разве имеет хдми?

kostya-tin

Сплиты не только ранкам умеет делать. Hawkeye Firefly Split

РД00

Коллеги, а подобную IP-камеру с Ethernet никто в руках не держал ? Как альтернативу USB. Как я понимаю, она должна отдавать H264 по RTP, что подхватывается GStreamer’ом, а дальше все понятно.

Что там за задержка, и что за картинка ?

UPD: м-да, судя по Youtube - секунды 4 запросто.

siderat
whoim:

hdmi, wifi(hotspot), av-out. Исходите из этих трёх вариантов.

hdmi av-out это ж проводные подключения.

Ra3vie

Подскажите, как вывести на монитор данные второго свистка?

Fisher15
siderat:

av-out это ж проводные подключения.

Цепляете на av-out видеопередатчик на 5.8 и ретранслируете на шлем на минимальной мощности. Качество картинки падает незначительно.

schs
РД00:

Коллеги, а подобную IP-камеру с Ethernet никто в руках не держал ? Как альтернативу USB. Как я понимаю, она должна отдавать H264 по RTP

По ссылке 3 разных камеры, причём без описания каждой из них.
Разные IP камеры в использовании. При битрейте по максимому(8-10Мбит) картинка очень даже неплохая.
Даже на бюджетной камере с 2MP картинка хороша.
К примеру одна из моих публичных камер -
webcamera.apatity.ru/cam1/
FPS и битрейт ограничен, ибо канал слабый, но даже в таком виде мне нравиться.

РД00:

UPD: м-да, судя по Youtube - секунды 4 запросто.

Камере негде буферизировать 4 секунды, нет у неё столько памяти. Обычно буферизирует CMS, через которую смотрят.
Чистый RTP имеет небольшую задержку.

РД00
schs:

одна из моих публичных камер - webcamera.apatity.ru/cam1/

Для темноты отличная картинка.

А не пробовали смотреть без CMS, чем-нибудь вроде

gst-launch-1.0 rtspsrc location=rtsp://192.168.2.8:554/media/video1 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! gtksink

(естественно, URI будет отличаться) на предмет задержки ?

Rezonator
lelik:

Если кому удасться завести стабильную двустороннюю телеметрию - расскажите, я не понял как это делается в WFBC.

ХЗ как, но работает.

lelik:

Цитировать wiki не надо - я не понял как в принципе может работать то, что там описано.

Наверное как-то так mavlink.io/en/guide/routing.html

schs
РД00:

А не пробовали смотреть без CMS, чем-нибудь вроде

Через gstreamer нет, в VLC пробовал, отключая буферизацию. Но не замерял. Будет время, попробую.