diff --git a/docs/static/tutorial6/configure-icon.png b/docs/static/tutorial6/configure-icon.png new file mode 100644 index 00000000..52a9e2e8 Binary files /dev/null and b/docs/static/tutorial6/configure-icon.png differ diff --git a/docs/static/tutorial6/create-nodes.png b/docs/static/tutorial6/create-nodes.png new file mode 100644 index 00000000..38257e24 Binary files /dev/null and b/docs/static/tutorial6/create-nodes.png differ diff --git a/docs/static/tutorial6/hidden-nodes.png b/docs/static/tutorial6/hidden-nodes.png new file mode 100644 index 00000000..604829dd Binary files /dev/null and b/docs/static/tutorial6/hidden-nodes.png differ diff --git a/docs/static/tutorial6/linked-nodes.png b/docs/static/tutorial6/linked-nodes.png new file mode 100644 index 00000000..8e75007e Binary files /dev/null and b/docs/static/tutorial6/linked-nodes.png differ diff --git a/docs/static/tutorial6/only-node1-moving.png b/docs/static/tutorial6/only-node1-moving.png new file mode 100644 index 00000000..01ac2ebd Binary files /dev/null and b/docs/static/tutorial6/only-node1-moving.png differ diff --git a/docs/static/tutorial6/scenario-with-motion.png b/docs/static/tutorial6/scenario-with-motion.png new file mode 100644 index 00000000..e30e781c Binary files /dev/null and b/docs/static/tutorial6/scenario-with-motion.png differ diff --git a/docs/static/tutorial6/scenario-with-terrain.png b/docs/static/tutorial6/scenario-with-terrain.png new file mode 100644 index 00000000..db424e9b Binary files /dev/null and b/docs/static/tutorial6/scenario-with-terrain.png differ diff --git a/docs/static/tutorial6/select-wallpaper.png b/docs/static/tutorial6/select-wallpaper.png new file mode 100644 index 00000000..41d40f57 Binary files /dev/null and b/docs/static/tutorial6/select-wallpaper.png differ diff --git a/docs/static/tutorial6/wlan-links.png b/docs/static/tutorial6/wlan-links.png new file mode 100644 index 00000000..ab6c152d Binary files /dev/null and b/docs/static/tutorial6/wlan-links.png differ diff --git a/docs/tutorials/overview.md b/docs/tutorials/overview.md new file mode 100644 index 00000000..733157bd --- /dev/null +++ b/docs/tutorials/overview.md @@ -0,0 +1,29 @@ +# CORE Tutorials + +These tutorials will cover various use cases within CORE. These +tutorials will provide example python, gRPC, XML, and related files, as well +as an explanation for their usage and purpose. + +## Checklist + +These are the items you should become familiar with for running all the tutorials below. + +* [Install CORE](../install.md) +* [Tutorial Setup](setup.md) + +## Tutorials + +* [Tutorial 1 - Wired Network](tutorial1.md) + * Covers interactions when using a simple 2 node wired network +* [Tutorial 2 - Wireless Network](tutorial2.md) + * Covers interactions when using a simple 3 node wireless network +* [Tutorial 3 - Basic Mobility](tutorial3.md) + * Covers mobility interactions when using a simple 3 node wireless network +* [Tutorial 4 - Tests](tutorial4.md) + * Covers automating scenarios as tests to validate software +* [Tutorial 5 - Access Windows](tutorial5.md) + * Covers using the RJ45 node to connect a Windows OS +* [Tutorial 6 - Improve Visuals](tutorial6.md) + * Covers changing the look of a scenario within the CORE GUI +* [Tutorial 7 - EMANE](tutorial7.md) + * Covers using EMANE within CORE for higher fidelity RF networks diff --git a/docs/tutorials/tutorial6.md b/docs/tutorials/tutorial6.md new file mode 100644 index 00000000..6135d21e --- /dev/null +++ b/docs/tutorials/tutorial6.md @@ -0,0 +1,97 @@ +# Tutorial 6 - Improved Visuals + +## Overview + +This tutorial will cover changing the node icons, changing the background, and changing or hiding links. + +## Files + +Below is the list of files used for this tutorial. + +* drone.png - icon for a drone +* demo.py - a mobility script for a node +* terrain.png - a background +* completed-scenario.xml - the scenario after making all changes below + +## Running this Tutorial + +This section will cover running this sample tutorial that develops a scenario file. + +* Ensure that **/etc/core/core.conf** has **grpcaddress** set to **0.0.0.0** +* Make sure the **core-daemon** is running in a terminal + ```shell + sudop core-daemon + ``` +* In another terminal run the GUI + ```shell + core-gui + ``` + +### Changing Node Icons + +* Create three MDR nodes +
+ +
+* Double click on each node for configuration, click the icon and set it to use the **drone.png** image ++ +
+* Use **Session -> Options** and set **Control Network 0** to **172.16.0.0./24** + +### Linking Nodes to WLAN + +* Add a WLAN Node +* Link the three prior MDR nodes to the WLAN node ++ +
+* Click play to start the scenario +* Observe wireless links being created ++ +
+* Click stop to end the scenario +* Right click the WLAN node and select **Edit -> Hide** +* Now you can view the nodes in isolation ++ +
+ +### Changing Canvas Background + +* Click **Canvas -> Wallpaper** to set the background to terrain.png ++ +
+* Click play to start the scenario again +* You now have a scenario with drone icons, terrain background, links displayed and hidden WLAN node ++ +
+ +## Adding Mobility + +* Open and play the **completed-scenario.xml** +* Double click on **n1** and run the **demo.py** script + ```shell + # node id is first parameter, second is total nodes + /opt/core/venv/bin/python demo.py 1 3 + ``` +* Let it run to see the link break as the node 1 drone approches the right side ++ +
+* Repeat for other nodes, double click on **n2** and **n3** and run the demo.py script + ```shell + # n2 + /opt/core/venv/bin/python demo.py 2 3 + # n3 + /opt/core/venv/bin/python demo.py 3 3 + ``` +* You can turn off wireless links via **View -> Wireless Links** +* Observe nodes moving in parallel tracks, when the far right is reached, the node will move down + and then move to the left. When the far left is reached, the drone will move down and then move to the right. ++ +
diff --git a/mkdocs.yml b/mkdocs.yml index 4879e09e..b71a89bb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -39,9 +39,11 @@ nav: - Ubuntu: install_ubuntu.md - CentOS: install_centos.md - Tutorials: + - Overview: tutorials/overview.md - Setup: tutorials/setup.md - Tutorial 1: tutorials/tutorial1.md - Tutorial 4: tutorials/tutorial4.md + - Tutorial 6: tutorials/tutorial6.md - Tutorial 7: tutorials/tutorial7.md - Detailed Topics: - GUI: gui.md diff --git a/package/examples/tutorials/tutorial6/completed-scenario.xml b/package/examples/tutorials/tutorial6/completed-scenario.xml new file mode 100644 index 00000000..2b985727 --- /dev/null +++ b/package/examples/tutorials/tutorial6/completed-scenario.xml @@ -0,0 +1,114 @@ + +