device

package module
v3.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2023 License: Apache-2.0 Imports: 0 Imported by: 1

README

Go Device Service SDK

Build Status Code Coverage Go Report Card GitHub Latest Dev Tag) GitHub Latest Stable Tag) GitHub License GitHub go.mod Go version GitHub Pull Requests GitHub Contributors GitHub Committers GitHub Commit Activity

Overview

This repository is a set of Go packages that can be used to build Go-based device services for use within the EdgeX framework.

Usage

Developers can make their own device service by implementing the ProtocolDriver interface for their desired IoT protocol, and the main function to start the Device Service. To implement the main function, the startup package can be optionally leveraged, or developers can write customized bootstrap code by themselves.

Please see the provided simple device service as an example, included in this repository.

Command Line Options

The following command line options are available

  -cd=<path>
  --configDir=<path>
        Specify an alternate configuration directory.
  -p=<profile>
  --profile=<profile>
        Specify a profile other than default.
  -cf=<file>
  --configFile=<file>
        Indicates name of the local configuration file.
  -i=<instace>
  --instance=<instance>
        Provides a service name suffix which allows unique instance to be created.
        If the option is provided, service name will be replaced with "<name>_<instance>"
  -o
  --overwrite
        Overwrite configuration in the Registry with local values.
  -r
  --registry
        Indicates the service should use the registry.
  -cp
  --configProvider
        Indicates to use Configuration Provider service at specified URL.
        URL Format: {type}.{protocol}://{host}:{port} ex: consul.http://localhost:8500

Float value encoding

In EdgeX v1, float values had two kinds of encoding, Base64, and scientific notation (eNotation).

After v2, EdgeX only uses scientific notation (eNotation) to present float values.

Community

License

Apache-2.0

Versioning

Please refer to the EdgeX Foundry versioning policy for information on how EdgeX services are released and how EdgeX services are compatible with one another. Specifically, device services (and the associated SDK), application services (and the associated app functions SDK), and client tools (like the EdgeX CLI and UI) can have independent minor releases, but these services must be compatible with the latest major release of EdgeX.

Long Term Support

Please refer to the EdgeX Foundry LTS policy for information on support of EdgeX releases. The EdgeX community does not offer support on any non-LTS release outside of the latest release.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Version string = "to be replaced by makefile"

Global version for device-sdk-go

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
example
cmd/device-simple
This package provides a simple example of a device service.
This package provides a simple example of a device service.
driver
Package driver provides a simple example implementation of ProtocolDriver interface.
Package driver provides a simple example implementation of ProtocolDriver interface.
internal
provision
-*- Mode: Go; indent-tabs-mode: t -*-
-*- Mode: Go; indent-tabs-mode: t -*-
pkg
interfaces
Package interfaces defines interfaces and structs used to build an EdgeX Foundry Device Service.
Package interfaces defines interfaces and structs used to build an EdgeX Foundry Device Service.
service
Package service provides a basic EdgeX Foundry device service implementation meant to be embedded in an application, similar in approach to the builtin net/http package.
Package service provides a basic EdgeX Foundry device service implementation meant to be embedded in an application, similar in approach to the builtin net/http package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL