> For the complete documentation index, see [llms.txt](https://docs.cybus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybus.io/2-4-2/discover/connect-your-first-machine.md).

# Connect Your First Machine

See Connectware in action: you install a service from a sample service commissioning file, Connectware connects to a public OPC UA demo server that simulates a machine, and the incoming data appears in the Data Explorer. At the end, you have completed the full Connectware workflow once: from YAML configuration to live data on an MQTT topic.

You do not need any machine or hardware. The sample service connects to a publicly available OPC UA test server that publishes simulated data.

## Prerequisites

* A running Connectware installation. See [Installing Connectware](/2-4-2/deployment/installing-connectware.md).
* A user account that is allowed to install services. The [default admin user](/2-4-2/access/user-management/users/default-admin-user.md) is sufficient.
* Outbound Internet access from Connectware to the demo server `opcua.demo-this.com` on port `51210`.

## Step 1 — Download the Sample Service Commissioning File

Download the sample service commissioning file:

{% file src="/files/Xjpd5KLwMA7qzc14gziU" %}

The file defines the resources that make up the data pipeline:

* A `Cybus::Connection` to the demo OPC UA server.
* A `Cybus::Endpoint` that subscribes to a node publishing simulated values.
* A `Cybus::Mapping` that publishes those values to the MQTT topic `example/opcua/dataexample`.

For a walkthrough of each section in a service commissioning file, see [How Connectware Works](/2-4-2/discover/how-connectware-works.md).

## Step 2 — Log in to the Admin UI

1. Open your browser and enter the address of your Connectware instance (**https\://\<HOST-IP>**).
2. Enter your username and password and click **Sign in**.

## Step 3 — Install the Service

1. On the navigation panel, click **Services**.
2. Click **Upload Service**.
3. Click **Choose File** and select the `connect-your-first-machine.yaml` file.
4. Click **Install** to confirm the parameters and start the installation. You can keep the default parameter values.

The service is now installed but not yet enabled.

## Step 4 — Enable the Service

1. In the **Service Overview** list, click your service to open the **Service Details** view.
2. Click **Enable**.
3. In the **Authorization Required** dialog, click **Allow** to confirm the configuration changes.

Connectware now creates the connection, endpoint, and mapping, and data starts to flow.

## Step 5 — Watch the Data Arrive

Data flows through Connectware as MQTT messages organized into topics. The [Data Explorer](/2-4-2/monitoring/data-explorer.md) lets you monitor them live.

1. On the navigation panel, click **Data**.
2. In the **Available Topics** tree, select the `example/opcua/dataexample` topic.

The Data Explorer shows the simulated values arriving from the demo server every few seconds.

## Result

You installed, enabled, and verified a complete Connectware service. Every resource — the connection, the endpoint, and the mapping — was created from a single service commissioning file, and the machine data is available to any MQTT consumer through the Unified Namespace.

To remove the sample service, open its **Service Details** view, click **Disable**, and then delete the service. All resources are cleanly removed.

## Next Steps

* Connect a real device with the other [Machine Connectivity](/2-4-2/guides/machine-connectivity.md) guides or browse the [connectors](/2-4-2/connectors/shop-floor-connectors.md) for your protocols.
* Build your own service using the [service commissioning file reference](/2-4-2/data-flows/service-commissioning-files.md).
* Route and transform your data with the [Rule Engine](/2-4-2/data-flows/rule-engine.md).


---

# 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://docs.cybus.io/2-4-2/discover/connect-your-first-machine.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.
