Explorer/RaspberryPi/Wifibroadcast/Integration
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Wifibroadcast channels:
- channel 1: downlink camera live video
- channel 2: downlink autopilot telemetry
- channel 3: uplink autopilot telemetry
- channel 4: uplink UDP tunnel
- channel 5: downlink UDP tunnel
#Airpi /home/pi/wifibroadcast-svpcom/wfb_tx -K /home/pi/wifibroadcast-svpcom/drone.key -p 1 -u 5600 wlan1 /home/pi/wifibroadcast-svpcom/wfb_tx -K /home/pi/wifibroadcast-svpcom/drone.key -p 2 -u 4242 -k 1 -n 2 wlan1 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 3 -u 4243 -c 127.0.0.1 -k 1 -n 2 wlan1 /home/pi/wifibroadcast-svpcom/wfb_tx -K /home/pi/wifibroadcast-svpcom/drone.key -p 5 -u 14900 -k 1 -n 2 wlan1 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 4 -u 14901 -c 127.0.0.1 -k 1 -n 2 wlan1
#Groundpi #Update GCS_IP with yours export GCS_IP=192.168.1.46 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 1 -c 127.0.0.1 -u 5600 wlan1 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 2 -u 4242 -c $GCS_IP wlan1 /home/pi/wifibroadcast-svpcom/wfb_tx -K /home/pi/wifibroadcast-svpcom/drone.key -p 3 -u 4243 wlan1 /home/pi/wifibroadcast-svpcom/wfb_tx -K /home/pi/wifibroadcast-svpcom/drone.key -p 4 -u 14800 -k 1 -n 2 wlan1 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 5 -u 14801 -c 127.0.0.1 -k 1 -n 2 wlan1
Camera stream:
#Airpi: input camera, outputs: /tmp/camera1 (shmsrc), port 5600 (wfb_tx) rm /tmp/camera*; \ /usr/bin/raspivid -t 0 -w 640 -h 480 -fps 30/1 -b 3000000 -g 5 -cd H264 -n -fl -ih -pf high -if both -ex sports -mm average -awb horizon -a ENAC -ae 22 -o - \ | gst-launch-1.0 fdsrc \ ! h264parse \ ! video/x-h264,stream-format=byte-stream,alignment=au \ ! tee name=streams \ ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \ ! rtph264pay name=pay0 pt=96 config-interval=1 \ ! udpsink host=127.0.0.1 port=5600 streams. \ ! shmsink socket-path=/tmp/camera1 wait-for-connection=false sync=false
#GroundPi: input: 5600, outputs: port 5610 (rtst server), fpv_video (displays HDMI) gst-launch-1.0 udpsrc port=5600 \ ! tee name=streams \ ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \ ! udpsink host=127.0.0.1 port=5610 streams. \ ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \ ! application/x-rtp, encoding-name=H264,payload=96 \ ! rtph264depay ! video/x-h264,stream-format=byte-stream \ ! fdsink \ | /home/pi/wifibroadcast_osd/fpv_video/fpv_video & /home/pi/gst-rtsp-server-1.14.4/examples/.libs/test-launch \ "\"udpsrc port=5610 do-timestamp=true ! application/x-rtp, encoding-name=H264,payload=96 ! rtph264depay ! video/x-h264,stream-format=byte-stream,alignment=au ! rtph264pay name=pay0 pt=96 config-interval=1\"" "\" "
Telemetry stream:
#Airpi: send to autopilot from port 4243, get from autopilot to port 4242 locally socat -u udp-listen:4243,reuseaddr,fork /dev/ttyAMA0,raw,echo=0,b115200 & socat -u /dev/ttyAMA0,raw,echo=0,b115200 udp-sendto:127.0.0.1:4242 &
#GroundPi: inputs on port 4242, outputs on 4243 #default pprlink ports
Tunnel stream: (ex: ssh 10.0.1.1)
#Airpi: socat TUN:10.0.1.2/24,tun-name=airpituntx,iff-no-pi,tun-type=tun,su=pi,iff-up udp-sendto:127.0.0.1:14900 socat udp-listen:14901 TUN:10.0.1.2/24,tun-name=airpitunrx,iff-no-pi,tun-type=tun,su=pi,iff-up sleep 1 ifconfig airpituntx mtu 1400 up &
#GroundPi: socat -u TUN:10.0.1.1/24,tun-name=groundpituntx,iff-no-pi,tun-type=tun,iff-up udp-sendto:127.0.0.1:14800 socat -u udp-listen:14801 TUN:10.0.1.1/24,tun-name=groundpitunrx,iff-no-pi,tun-type=tun,iff-up sleep 1 ifconfig groundpituntx mtu 1400 up &