> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/devices-and-communications/communication-protocols.md).

# Communication Protocols

AugeLab Studio supports several communication protocols to enable seamless integration and data exchange with various systems and devices.

Each communication block resides under the **Blocks➡️ Input/Output ➡️ Communication** section.

Below are the details on how to use each protocol:

<details>

<summary>REST API</summary>

REST is a web service protocol that uses HTTP requests to GET, POST data.

#### Usage <a href="#usage" id="usage"></a>

* **GET Request Block**: Use this block to retrieve data from a server. Configure the URL and other necessary parameters.
* **POST Request Block**: Use this block to send data to a server. Configure the URL, headers, and payload as needed.

</details>

<details>

<summary>OPC</summary>

OPC (OLE for Process Control) is a series of standards and specifications for industrial telecommunication. It is used for communication between devices and control applications in industrial environments.

#### Usage <a href="#usage" id="usage"></a>

* **OPC Client Block**: Use this block to connect to an OPC server. Configure the server address and other necessary parameters.
* **OPC Read/Write Blocks**: Use these blocks to read data from or write data to the OPC server.

Ensure the OPC server is correctly configured and accessible from AugeLab Studio.

</details>

<details>

<summary>S7 Siemens</summary>

#### Description <a href="#description" id="description"></a>

S7 is a communication protocol used by Siemens PLCs (Programmable Logic Controllers). It is used for controlling and monitoring industrial processes.

#### Usage <a href="#usage" id="usage"></a>

* **S7 Client Block**: Use this block to connect to an S7 PLC. Configure the IP address and rack/slot information.
* **S7 Read/Write Blocks**: Use these blocks to read data from or write data to the PLC.

Make sure the PLC is configured correctly and the network settings are appropriate for communication.

</details>

<details>

<summary>MQTT</summary>

MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks.

#### Usage <a href="#usage" id="usage"></a>

* **MQTT Subscribe Block**: Use this block to subscribe to a specific topic.
* **MQTT Publish Block**: Use this block to publish messages to a topic.

Ensure the MQTT broker is running and accessible, and the topics are correctly configured.

</details>

<details>

<summary>Modbus</summary>

#### Usage <a href="#usage" id="usage"></a>

* **Modbus Client Block**: Use this block to connect to a Modbus server. Configure the server address and communication settings (e.g., COM port, baud rate).
* **Modbus Read/Write Blocks**: Use these blocks to read from or write to Modbus registers.

Ensure the Modbus server is correctly configured and accessible from AugeLab Studio.

</details>

<details>

<summary>Email</summary>

You can also send e-mail and attachments to multiple people via e-mail block.

* **Send Email** block: Use this block to send e-mail with attachments to multiple people.

</details>
