Explorer/RaspberryPi/Wifibroadcast/Integration
Jump to navigation
Jump to search
Wifibroadcast streams:
- 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 wlan1 /home/pi/wifibroadcast-svpcom/wfb_rx -K /home/pi/wifibroadcast-svpcom/drone.key -p 3 -u 4243 -c 127.0.0.1 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 /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: locally UDP port 5600 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 \ ! shmsink socket-path=/tmp/camera1 wait-for-connection=false sync=false & gst-launch-1.0 shmsrc socket-path=/tmp/camera1 do-timestamp=true \ ! video/x-h264,stream-format=byte-stream,alignment=au \ ! rtph264pay name=pay0 pt=96 config-interval=1 \ ! udpsink host=127.0.0.1 port=5600 &
#GroundPi: locally UDP port 5600, to fpv_video displays to HDMI, and rtst server rm /tmp/camera*; \ gst-launch-1.0 udpsrc port=5600 \ ! application/x-rtp, encoding-name=H264,payload=96 \ ! rtph264depay \ ! video/x-h264,stream-format=byte-stream \ ! shmsink socket-path=/tmp/camera1 wait-for-connection=false sync=false & gst-launch-1.0 shmsrc socket-path=/tmp/camera1 do-timestamp=true \ ! video/x-h264,stream-format=byte-stream,alignment=au \ ! fdsink \ | /home/pi/wifibroadcast_osd/fpv_video/fpv_video & /home/pi/gst-rtsp-server-1.14.4/examples/.libs/test-launch \ "shmsrc socket-path=/tmp/camera1 do-timestamp=true ! 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
#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