> For the complete documentation index, see [llms.txt](https://swarm-in-blocks.gitbook.io/swarm-in-blocks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swarm-in-blocks.gitbook.io/swarm-in-blocks/usability/web-api/swarm-station.md).

# Swarm Station

Considering the amount of processes and data we want to access about a single drone or several, a <mark style="color:orange;">command center</mark> was created that brings several useful features for handling swarms and specific data of drones and their location in space.

<figure><img src="/files/hOHLUC2lXfJlfJ7vZMbF" alt=""><figcaption><p>Swarm Station</p></figcaption></figure>

In addition to avoiding the need to **open different terminals** to carry out actions that will be carried out recurrently, the swarm station is completely connected with block programming, facilitating the action of launching a swarm.

## Main information

For a quick and easy visualization, the main data of the drones were placed in a tab on the right of the screen, where it is possible to visualize the position of each of the drones in addition to other information such as:

* <mark style="color:purple;">Battery</mark>
* <mark style="color:purple;">Connected - checks whether the drone is connected or not</mark>
* <mark style="color:purple;">CPU data</mark>
* <mark style="color:purple;">Telemetry</mark>

In addition to the informative function, this part also contains the land all button, whose function is to land all drones if this decision is confirmed. This is to bring greater security to extreme cases.

<figure><img src="/files/hgZ4yWKzNR5I82DKNuV3" alt=""><figcaption></figcaption></figure>

## Addicional feactures

The extra features are located on the left bar of the Swarm Station, they are:

### Drone's proccess ⚙️

*In this part, the user has access to the hardware **information of each clove**r brought from the raspberry pi of the clover in an easy and comparative way, facilitating the identification of problems. The information brought from each clover is:*

* *<mark style="color:purple;">IP address</mark>*
* *<mark style="color:purple;">CPU usage</mark>*
* *<mark style="color:purple;">Memory usage</mark>*
* *<mark style="color:purple;">Temperature</mark>*&#x20;

<figure><img src="/files/6RWwdOnTAYCcvFBb2gPn" alt=""><figcaption></figcaption></figure>

*Each card corresponds to a drone and to find out more **specific information**, just click on the desired drone card and a screen will appear with more data on the drone and your <mark style="color:orange;">raspberry processes</mark>.*

### Topic List 📋

*To avoid the need for another terminal to be opened, a feature was created that shows a **list of topics currently active**, through these topics it is possible to analyze the calls and procedures that are being carried out.*

<figure><img src="/files/ecE95aTBWGULRbWRqKsM" alt=""><figcaption><p>Topic list</p></figcaption></figure>

### Terminal Web 🖥️

*This functionality brings a true <mark style="color:purple;">terminal within the web</mark> with the ease of being able to manipulate information directly from the web and avoid the need to divide screens, one to control the drone and another to send commands to it.*

<figure><img src="/files/7Fc7LyHaQPW8BgKFdkJr" alt=""><figcaption><p>Web terminal</p></figcaption></figure>

*In addition, it is possible to create **more than one terminal simultaneously**, this creation of several terminals happens in an intuitive and facilitated way so that several processes can be run at the same time.*

<figure><img src="/files/baCQeZPo2cWEc0WSChBq" alt=""><figcaption><p>Multiple terminals</p></figcaption></figure>

### Safe area 🔐

*An additional resource is the safe area that allows **defining an area of ​​defined format** according to the user's interest in which the drones must operate, this area is shown in the visualization of the drones because some markings represent its limit.*

*If a drone passes through this area, it is forcibly <mark style="color:purple;">landed immediately</mark>, ensuring even more safety and robustness to the project.*

<figure><img src="/files/DrdC92QPYn4lpIiZ2AaH" alt=""><figcaption><p>Safe area</p></figcaption></figure>

### How it is Done?&#x20;

Swarm Station can be accessed from our [Homepage](/swarm-in-blocks/usability/web-api/homepage.md), which is a locally served web application. Our <mark style="color:orange;">front-end</mark> is based completely on HTML and CSS to ensure good speed and integration with rosJS (not involving any framework or anything like that). For the <mark style="color:orange;">backend</mark>, we use javascript through the ROS wrapper, **rosJS**, to carry out the data transmission logic, in addition to a few structures from Clover itself that are in other languages.

### Conclusion&#x20;

With this, we conclude that the Swarm Station is an extremely powerful tool for manipulating swarms and even individual clovers. With it, we guarantee that the user has in his hands, in an extremely responsive way, a complete platform with the real functionalities that a swarm can request. For the lay user with little experience in programming and ROS, this platform is a watershed in <mark style="color:purple;">**democratizing the usability of a swarm of drones**</mark>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://swarm-in-blocks.gitbook.io/swarm-in-blocks/usability/web-api/swarm-station.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
