viam_sdk 0.0.31 copy "viam_sdk: ^0.0.31" to clipboard
viam_sdk: ^0.0.31 copied to clipboard

Viam Robotics Flutter SDK. Connect to your Viam robots using WebRTC or gRPC, and control your robots remotely.

Viam Flutter SDK #

build status license

Viam is a software platform for robots and smart machines. The Viam Flutter SDK allows you to build custom mobile applications to interact with your machines, from controlling individual hardware components to monitoring many machines.

Website: viam.com Documentation: docs.viam.com

(In)stability Notice #

Warning This is a beta release of the Viam Flutter SDK. No guarantees are made to the stability of the API. All changes will be enumerated in the release notes.

Getting started #

Make sure your project meets the minimum requirements:

  • Minimum iOS target: 13.0
  • Minimum Android SDK: 23
  • Kotlin version: 1.8.20

Installation #

flutter pub add viam_sdk

Upgrading #

flutter pub upgrade viam_sdk

Note that breaking changes may occur in patch version changes because the Viam Flutter SDK is still in beta. We recommend locking your project to a specific version by adding a specific version number (for example viam_sdk: 0.0.12) to your pubspec.yaml file.

Update Info.plist #

If you are building for Apple platforms, you may have to update your app's Info.plist. NSLocalNetworkUsageDescription is needed to establish stable WebRTC connections, and NSBonjourServices is required to connect to local devices via mDNS.

<key>NSLocalNetworkUsageDescription</key>
<string>Viam requires access to your devices local network to connect to your devices.</string>
<key>NSBonjourServices</key>
<array>
    <string>_rpc._tcp</string>
</array>

Usage #

You can use the Viam SDK to connect to an existing machine (to create a machine, see Build a simple smart machine or if you don't have your own hardware, Try Viam).

import 'package:viam_sdk/viam_sdk.dart';

// Connect to an existing machine (robot)
// *NOTE* Get '<API KEY ID>' and '<API KEY>' from
// your machine's "CONNECT" tab on app.viam.com
final options = RobotClientOptions.withAPIKey('<API KEY ID>', '<API KEY>');
final robot = await RobotClient.atAddress('<LOCATION>', options);

// Print the available resources
print(robot.resourceNames);

// Access a component
final movementSensor = MovementSensor.fromRobot(robot, 'my_sensor');
print(await movementSensor.readings())

Example apps #

View sample apps in the /example directory. This tutorial walks through a version of one of these examples.

GitHub #

You can view the code for the Viam Flutter SDK on GitHub.

License #

Copyright 2021-2024 Viam Inc.

Apache 2.0 - See LICENSE file

2
likes
150
points
1.07k
downloads

Publisher

verified publisherviam.com

Weekly Downloads

Viam Robotics Flutter SDK. Connect to your Viam robots using WebRTC or gRPC, and control your robots remotely.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

async, bonsoir, bson, collection, fixnum, flutter, flutter_joystick, flutter_webrtc, grpc, image, logger, protobuf

More

Packages that depend on viam_sdk