Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Info

For our understanding & brainstorming - RDKM Internal

Github Documentation

...

  • Device control 
  • Management with Formal API's
    • Standard IoT technology support
      • Zigbee
      • Matter
      • standard device interaction model for devices of the same class
      • device pairing and configuration
      • device communication health monitoring
      • OTA firmware upgrade management for devices
  • The library provides device facilities for

    • discovery
    • pairing (including secure credentialling)
    • configuration
    • firmware management
    • control
    • eventing
  • Included protocols and transports:

    • Matter
    • Zigbee
    • Thread
    • Wi-Fi

What is not there in Barton

  • Local automations
  • Alarms
  • Security
  • Cloud connectivity
  • Standard TR-181 Datamodels
  • Standard HAL as per RDK-B specification

Block diagram

  • draw.io Diagram
    bordertrue
    diagramNamebartoarc
    simpleViewerfalse
    width
    linksauto
    tbstyletop
    lboxtrue
    diagramWidth10811578
    height961983
    revision618

What is actually Barton Device service do

  • Device Service is responsible for the management and interactions with all devices
  • Devices can connect with various protocols and technologies including Zigbee, Matter, and OpenHome.
  • Devices belong to a Device Class which defines the type of device. Some examples of Device Classes are Camera, Light, Door Lock, and Sensor (and many others).
  • Each Device Class supports one or more endpoints
  • Devices are exposed to clients as a set of resources that can be read, written
  • Device Service can function without any hardware dependencies

What is not there in Barton

  • Local automations
  • Alarms
  • Security
  • Cloud connectivity
  • Standard TR-181 Datamodels
  • Standard HAL as per RDK-B specification

Supported OS runtime

  • Linux

...

  • The Barton Reference App provides a CLI for interactively interfacing with Barton Device Service.
    • Interacting with Barton from your Code

      • Setup and Initialization
        • Include device-service-client.h
        • Create initialization parameters with b_device_service_initialize_params_container_new
        • Configure storage location with b_device_service_initialize_params_container_set_storage_dir
        • For Matter support, provide additional configuration:
          • b_device_service_initialize_params_container_set_matter_storage_dir
          • b_device_service_initialize_params_container_set_matter_attestation_trust_store_dir
          • b_device_service_initialize_params_container_set_network_credentials_provider
      • Client Creation and Startup
        • Create the client instance with b_device_service_client_new
        • Initialize the connection with b_device_service_client_start
      • Event Registration
        • Connect to system events using g_signal_connect
        • Common signals include:
          • Discovery events (DISCOVERY_STARTED, DISCOVERY_STOPPED)
          • Device lifecycle events (DEVICE_DISCOVERED, DEVICE_ADDED)
          • Endpoint events (ENDPOINT_ADDED)
          • Status events (DEVICE_DISCOVERY_COMPLETED, DEVICE_DISCOVERY_FAILED)
      • Device Interaction
        • Commission new devices with b_device_service_client_commission_device
        • Control devices by writing to resources with b_device_service_client_write_resource
        • Read device state with b_device_service_client_get_resource_by_uri
        • Execute device functions with b_device_service_client_execute_resource



IoT Technology & standards Introduction

  • TBD

References

  • TBD