diff --git a/doc/enhanced_setup.dot b/doc/enhanced_setup.dot new file mode 100644 index 0000000..4162b72 --- /dev/null +++ b/doc/enhanced_setup.dot @@ -0,0 +1,150 @@ +digraph wifibroadcast { + size = "a4"; + compound=true; + splines=ortho; + + subgraph cluster_uav { + label = "UAV"; + + camera; + + subgraph cluster_pizero { + label = "PI Zero"; + color = "blue"; + + raspivid[shape=box]; + gstreamer[shape=box]; + + raspivid -> gstreamer[label="pipe", style=dotted]; + } + + camera -> raspivid[label="CSI bus", style=dotted]; + + pixhawk; + sik_radio1 [label="3DR radio",]; + + subgraph cluster_companion { + label = "NanoPI NEO2"; + color = "green"; + + wifibroadcast_tx_1[shape=box]; + wifibroadcast_tx_2[shape=box]; + mavproxy1[label="mavlink router", shape=box]; + } + wifi_tx; + ant_tx; + + wifi_tx -> ant_tx; + + gstreamer -> wifibroadcast_tx_1[label="USB", ltail=cluster_pizero, lhead=cluster_companion]; + pixhawk -> mavproxy1[label="UART"]; + gstreamer -> wifibroadcast_tx_1[label="UDP 5060", style=dotted]; + mavproxy1 -> wifibroadcast_tx_2[label="UDP 14550", style=dotted]; + mavproxy1 -> sik_radio1[label="UART"]; + wifibroadcast_tx_1 -> wifi_tx [label="radio_port 1", style=dotted]; + wifibroadcast_tx_2 -> wifi_tx [label="radio_port 2", style=dotted]; + wifibroadcast_tx_2 -> wifi_tx [label="USB", ltail=cluster_companion]; + } + + subgraph cluster_GS { + label = "Ground station"; + + ant_1_1; + ant_1_2; + ant_2_1; + ant_2_2; + ant_3_1; + ant_3_2; + + wifi_rx1; + wifi_rx2; + wifi_rx3; + + ant_1_1 -> wifi_rx1; + ant_1_2 -> wifi_rx1; + + ant_2_1 -> wifi_rx2; + ant_2_2 -> wifi_rx2; + + ant_3_1 -> wifi_rx3; + ant_3_2 -> wifi_rx3; + + subgraph cluster_rx1{ + label = "Host RX1"; + color="red"; + eth_rx1[label="eth0"]; + wifibroadcast_rx_1_1[shape=box]; + wifibroadcast_rx_1_2[shape=box]; + } + subgraph cluster_rx2{ + label = "Host RX2"; + color="red"; + eth_rx2[label="eth0"]; + wifibroadcast_rx_2_1[shape=box]; + wifibroadcast_rx_2_2[shape=box]; + } + subgraph cluster_rx3{ + label = "Host RX3"; + color="red"; + eth_rx3[label="eth0"]; + wifibroadcast_rx_3_1[shape=box]; + wifibroadcast_rx_3_2[shape=box]; + } + sik_radio2[label="3DR radio"]; + subgraph cluster_rx4{ + label = "Host RX4"; + color="red"; + eth_rx4[label="eth0"]; + mavproxy2[label="mavlink router", shape=box]; + } + wifi_rx1 -> wifibroadcast_rx_1_1[label="radio port 1",style=dotted]; + wifi_rx1 -> wifibroadcast_rx_1_2[label="radio port 2",style=dotted]; + wifi_rx2 -> wifibroadcast_rx_2_1[label="radio port 1",style=dotted]; + wifi_rx2 -> wifibroadcast_rx_2_2[label="radio port 2",style=dotted]; + wifi_rx3 -> wifibroadcast_rx_3_1[label="radio port 1",style=dotted]; + wifi_rx3 -> wifibroadcast_rx_3_2[label="radio port 2",style=dotted]; + sik_radio2 -> mavproxy2; + subgraph cluster_laptop { + label = "Linux laptop"; + color="green"; + eth_linux[label="eth0"]; + wifibroadcast_agg1[shape=box]; + wifibroadcast_agg2[shape=box]; + qgroundcontrol[shape=box]; + } + wifibroadcast_rx_1_1 -> wifibroadcast_agg1[label="UDP 5601", style=dotted]; + wifibroadcast_rx_1_2 -> wifibroadcast_agg2[label="UDP 14551", style=dotted]; + wifibroadcast_rx_2_1 -> wifibroadcast_agg1[label="UDP 5601", style=dotted]; + wifibroadcast_rx_2_2 -> wifibroadcast_agg2[label="UDP 14551",style=dotted]; + wifibroadcast_rx_3_1 -> wifibroadcast_agg1[label="UDP 5601" style=dotted]; + wifibroadcast_rx_3_2 -> wifibroadcast_agg2[label="UDP 14551",style=dotted]; + + ethernet_switch[label="switch"]; + eth_rx1 -> ethernet_switch[dir=both]; + eth_rx2 -> ethernet_switch[dir=both]; + eth_rx3 -> ethernet_switch[dir=both]; + eth_rx4 -> ethernet_switch[dir=both]; + eth_linux -> ethernet_switch[dir=both]; + + subgraph cluster_video_goggles{ + label = "FPV goggles" + style=dotted; + subgraph cluster_fpv_pi_zero{ + label = "PI Zero"; + color="blue"; + style=solid; + wifibroadcast_osd[shape=box]; + gstreamer_fpv[shape=box]; + + } + video_display[label="Display"]; + } + wifibroadcast_agg1 -> gstreamer_fpv[label="UDP 5600", style=dotted]; + wifibroadcast_agg2 -> wifibroadcast_osd[label="UDP 14550", style=dotted]; + wifibroadcast_agg2 -> wifibroadcast_osd[label="USB", ltail=cluster_laptop, lhead=cluster_fpv_pi_zero]; + mavproxy2 -> qgroundcontrol[style=dotted]; + wifibroadcast_osd -> video_display[label="HDMI or AV",ltail=cluster_fpv_pi_zero]; + + + } +} diff --git a/doc/enhanced_setup.svg b/doc/enhanced_setup.svg new file mode 100644 index 0000000..cfa521e --- /dev/null +++ b/doc/enhanced_setup.svg @@ -0,0 +1,483 @@ + + + + + + +wifibroadcast + +cluster_uav + +UAV + +cluster_pizero + +PI Zero + +cluster_companion + +NanoPI NEO2 + +cluster_GS + +Ground station + +cluster_rx1 + +Host RX1 + +cluster_rx2 + +Host RX2 + +cluster_rx3 + +Host RX3 + +cluster_rx4 + +Host RX4 + +cluster_laptop + +Linux laptop + +cluster_video_goggles + +FPV goggles + +cluster_fpv_pi_zero + +PI Zero + + +camera + +camera + + +raspivid + +raspivid + + +camera->raspivid + + +CSI bus + + +gstreamer + +gstreamer + + +raspivid->gstreamer + + +pipe + + +wifibroadcast_tx_1 + +wifibroadcast_tx_1 + + +gstreamer->wifibroadcast_tx_1 + + +USB + + +gstreamer->wifibroadcast_tx_1 + + +UDP 5060 + + +pixhawk + +pixhawk + + +mavproxy1 + +mavlink router + + +pixhawk->mavproxy1 + + +UART + + +sik_radio1 + +3DR radio + + +wifi_tx + +wifi_tx + + +wifibroadcast_tx_1->wifi_tx + + +radio_port 1 + + +wifibroadcast_tx_2 + +wifibroadcast_tx_2 + + +wifibroadcast_tx_2->wifi_tx + + +radio_port 2 + + +wifibroadcast_tx_2->wifi_tx + + +USB + + +mavproxy1->sik_radio1 + + +UART + + +mavproxy1->wifibroadcast_tx_2 + + +UDP 14550 + + +ant_tx + +ant_tx + + +wifi_tx->ant_tx + + + + +ant_1_1 + +ant_1_1 + + +wifi_rx1 + +wifi_rx1 + + +ant_1_1->wifi_rx1 + + + + +ant_1_2 + +ant_1_2 + + +ant_1_2->wifi_rx1 + + + + +ant_2_1 + +ant_2_1 + + +wifi_rx2 + +wifi_rx2 + + +ant_2_1->wifi_rx2 + + + + +ant_2_2 + +ant_2_2 + + +ant_2_2->wifi_rx2 + + + + +ant_3_1 + +ant_3_1 + + +wifi_rx3 + +wifi_rx3 + + +ant_3_1->wifi_rx3 + + + + +ant_3_2 + +ant_3_2 + + +ant_3_2->wifi_rx3 + + + + +wifibroadcast_rx_1_1 + +wifibroadcast_rx_1_1 + + +wifi_rx1->wifibroadcast_rx_1_1 + + +radio port 1 + + +wifibroadcast_rx_1_2 + +wifibroadcast_rx_1_2 + + +wifi_rx1->wifibroadcast_rx_1_2 + + +radio port 2 + + +wifibroadcast_rx_2_1 + +wifibroadcast_rx_2_1 + + +wifi_rx2->wifibroadcast_rx_2_1 + + +radio port 1 + + +wifibroadcast_rx_2_2 + +wifibroadcast_rx_2_2 + + +wifi_rx2->wifibroadcast_rx_2_2 + + +radio port 2 + + +wifibroadcast_rx_3_1 + +wifibroadcast_rx_3_1 + + +wifi_rx3->wifibroadcast_rx_3_1 + + +radio port 1 + + +wifibroadcast_rx_3_2 + +wifibroadcast_rx_3_2 + + +wifi_rx3->wifibroadcast_rx_3_2 + + +radio port 2 + + +eth_rx1 + +eth0 + + +ethernet_switch + +switch + + +eth_rx1->ethernet_switch + + + + + +wifibroadcast_agg1 + +wifibroadcast_agg1 + + +wifibroadcast_rx_1_1->wifibroadcast_agg1 + + +UDP 5601 + + +wifibroadcast_agg2 + +wifibroadcast_agg2 + + +wifibroadcast_rx_1_2->wifibroadcast_agg2 + + +UDP 14551 + + +eth_rx2 + +eth0 + + +eth_rx2->ethernet_switch + + + + + +wifibroadcast_rx_2_1->wifibroadcast_agg1 + + +UDP 5601 + + +wifibroadcast_rx_2_2->wifibroadcast_agg2 + + +UDP 14551 + + +eth_rx3 + +eth0 + + +eth_rx3->ethernet_switch + + + + + +wifibroadcast_rx_3_1->wifibroadcast_agg1 + + +UDP 5601 + + +wifibroadcast_rx_3_2->wifibroadcast_agg2 + + +UDP 14551 + + +sik_radio2 + +3DR radio + + +mavproxy2 + +mavlink router + + +sik_radio2->mavproxy2 + + + + +eth_rx4 + +eth0 + + +eth_rx4->ethernet_switch + + + + + +qgroundcontrol + +qgroundcontrol + + +mavproxy2->qgroundcontrol + + + + +eth_linux + +eth0 + + +eth_linux->ethernet_switch + + + + + +gstreamer_fpv + +gstreamer_fpv + + +wifibroadcast_agg1->gstreamer_fpv + + +UDP 5600 + + +wifibroadcast_osd + +wifibroadcast_osd + + +wifibroadcast_agg2->wifibroadcast_osd + + +UDP 14550 + + +wifibroadcast_agg2->wifibroadcast_osd + + +USB + + +video_display + +Display + + +wifibroadcast_osd->video_display + + +HDMI or AV + + +