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.