dart_wot 0.19.0 copy "dart_wot: ^0.19.0" to clipboard
dart_wot: ^0.19.0 copied to clipboard

A W3C Web of Things implementation written in Dart. Supports interacting with Things using CoAP(S) and HTTP(S).

example/example.dart

// Copyright 2022 The NAMIB Project Developers. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
// SPDX-License-Identifier: BSD-3-Clause

// ignore_for_file: avoid_print

import 'package:dart_wot/dart_wot.dart';

Future<void> main(List<String> args) async {
  final CoapClientFactory coapClientFactory = CoapClientFactory();
  final HttpClientFactory httpClientFactory = HttpClientFactory();
  final servient = Servient()
    ..addClientFactory(coapClientFactory)
    ..addClientFactory(httpClientFactory);
  final wot = await servient.start();

  const thingDescriptionJson = '''
  {
    "@context": "http://www.w3.org/ns/td",
    "title": "Test Thing",
    "base": "coap://coap.me",
    "security": ["nosec_sc"],
    "securityDefinitions": {
      "nosec_sc": {
        "scheme": "nosec"
      }
    },
    "properties": {
      "status": {
        "forms": [
          {
            "href": "/hello"
          }
        ]
      }
    }
  }
  ''';

  final thingDescription = ThingDescription(thingDescriptionJson);
  final consumedThing = await wot.consume(thingDescription);
  final status = await consumedThing.readProperty('status');
  final value = await status.value();
  print(value);

  final thingUri = Uri.parse(
    'https://raw.githubusercontent.com/w3c/wot-testing'
    '/b07fa6124bca7796e6ca752a3640fac264d3bcbc/events/2021.03.Online/TDs'
    '/Oracle/oracle-Festo_Shared.td.jsonld',
  );

  final thingDiscovery = wot.discover(ThingFilter(url: thingUri));

  await for (final thingDescription in thingDiscovery) {
    final consumedDiscoveredThing = await wot.consume(thingDescription);
    print(
      'The title of the fetched TD is '
      '${consumedDiscoveredThing.thingDescription.title}.',
    );
  }

  print('Done!');
}
2
likes
0
pub points
20%
popularity

Publisher

verified publisherthingweb.io

A W3C Web of Things implementation written in Dart. Supports interacting with Things using CoAP(S) and HTTP(S).

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

cbor, coap, collection, curie, http, http_auth, http_parser, json_schema3, meta, typed_data, uri, uuid

More

Packages that depend on dart_wot