DSLink SDK for Dart Build Status Coverage Status Slack

DSLink SDK for Dart

Getting Started

Prerequisites

Install

pub global activate -sgit https://github.com/IOT-DSA/broker-dart.git # Globally install the DSA Broker

Start a Broker

dsbroker # If you have the pub global executable path setup.
pub global run dsbroker:broker # If you do not have the pub global executable path setup.

You can edit the server configuration using broker.json. For more information about broker configuration, see this page.

Create a Link

For documentation, see this page. For more examples, see this page.

import "package:dslink/dslink.dart";

LinkProvider link;

main(List<String> args) async {
  // Process the arguments and initializes the default nodes.
  link = new LinkProvider(args, "Simple-", defaultNodes: {
    "Message": {
      r"$type": "string", // The type of the node is a string.
      r"$writable": "write", // This node's value can be set by a responder link.
      "?value": "Hello World" // The default message value.
    }
  });

  // Connect to the broker.
  link.connect();

  // Save the message when it changes.
  link.onValueChange("/Message").listen((_) => link.save());
}

Start a Link

dart path/to/link.dart # Start a link that connects to a broker at http://127.0.0.1:8080/conn
dart path/to/link.dart --broker http://my.broker:8080/conn # Start a link that connects to the specified broker.

Links

Libraries

Entry Point for the DSLink SDK for the Dart VM

dslink.broker_discovery
dslink.browser

Main DSLink API for Browsers

dslink.browser_client

Base API for DSA in the Browser

dslink.client

Provides the base APIs for the DSLink SDK on the Dart VM.

dslink.common

Shared APIs between all DSA Components.

dslink.historian
dslink.io

DSLink SDK IO Utilities

dslink.nodes

Helper Nodes for Responders

dslink.query

DSA Query Implementation

dslink.requester

DSA Requester API

dslink.responder

DSA Responder API

dslink.server

DSA Broker Server

dslink.socket_client

Placeholder for future socket client support.

dslink.socket_server

Placeholder for future socket server support.

dslink.utils

Common Utilities for DSA Components

dslink.worker

API for distributing work across multiple independent isolates.