Skip to content

DOCS-3498: Add Bluetooth provisioning docs for viam-agent #4372

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/dev/reference/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ date: "2024-09-18"
# updated: "" # When the content was last entirely checked
---

{{% changelog color="added" title="Bluetooth provisioning" date="2025-06-02" %}}
Added support for Bluetooth Low Energy (BLE) provisioning, allowing devices to be set up over Bluetooth connection.
For an example implementation, see the [Flutter Provisioning package](https://github.com/viamrobotics/viam_flutter_provisioning/).
{{% /changelog %}}

{{% changelog color="removed" title="Frame tab removed, use Add Frame button" date="2025-05-15" %}}

The frame tab no longer exists in the Viam app.
Expand Down
61 changes: 59 additions & 2 deletions docs/manage/fleet/provision/end-user-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,18 @@ If you have already created a machine, select it.
If you have not yet created a machine, click on **Add new smart machine** and give your machine a name.
{{% /tablestep %}}
{{% tablestep number=3 %}}
**Follow the instructions in the app**
**Turn on your machine and follow the app instructions**

Turn on the smart machine you are attempting to connect to.
Then leave the app and navigate to your mobile device's WiFi settings and connect to the WiFi hotspot your machine has created.
You may need to wait a short time for your machine to boot and create its WiFi hotspot.

Your machine's WiFi hotspot name will begin with `viam-setup-`.
Unless you have been given other instructions, the WiFi password for this hotspot network is `viamsetup`.

Once you are connected to your machine's WiFi hotspot return to the Viam mobile app.
Return to the Viam mobile app once connected

You may need to wait a short time for your machine to boot and start its provisioning services.
{{% /tablestep %}}
{{% tablestep number=4 %}}
**Provide the network information for the machine**
Expand All @@ -72,6 +75,7 @@ In the mobile app, you will be prompted to provide the network information for t

The machine will now disable the hotspot network and attempt to connect using the provided network information.
If the machine cannot establish a connection using the provided network information, the machine will create the hotspot again and prompt you to re-enter the network information until a connection is successfully established.

{{% /tablestep %}}
{{% tablestep number=5 %}}
**Wait for machine to complete setup**
Expand Down Expand Up @@ -135,6 +139,59 @@ Note that any features that require internet access will not function if the con
{{% /tablestep %}}
{{< /table >}}

## Set up your machine using a custom Flutter app

The [Flutter Provisioning package](https://github.com/viamrobotics/viam_flutter_provisioning/) shows an example for Bluetooth provisioning.

When developing your own application, if you support both Bluetooth and WiFi Hotspot provisioning, make the app choose the best available method.
We recommend using Bluetooth by default for a smoother setup experience.

### App Development Considerations

When developing mobile apps with Bluetooth provisioning, ensure your app requests appropriate Bluetooth permissions.

## Troubleshooting

### Bluetooth connection issues

If you're having trouble with Bluetooth provisioning:

1. Verify the device supports Bluetooth Low Energy (BLE)

1. **Check Bluetooth permissions**: Ensure the Viam mobile app has Bluetooth permissions enabled on your device.

1. **Verify Bluetooth is enabled**: Make sure Bluetooth is turned on in your mobile device settings.

1. **Check device compatibility**: Ensure your mobile device supports Bluetooth Low Energy (BLE).

1. **Restart Bluetooth**: Try turning Bluetooth off and on again on your mobile device.

If you can open a terminal on the machine:

1. Check if Bluetooth is available:

```sh {class="command-line" data-prompt="$"}
bluetoothctl list
```

1. Verify Bluetooth service status:

```sh {class="command-line" data-prompt="$"}
sudo systemctl status bluetooth
```

### WiFi connection issues

If your machine cannot connect to your WiFi network:

1. **Check network credentials**: Verify that the WiFi network name (SSID) and password are correct.

1. **Check network compatibility**: Ensure your WiFi network is compatible with your machine's WiFi adapter.

1. **Check signal strength**: Make sure your machine is within range of your WiFi router.

1. **Try a different network**: If possible, try connecting to a different WiFi network to isolate the issue.

## Next Steps

You can now use your machine.
Expand Down
Loading
Loading