• Stars
    star
    88
  • Rank 375,465 (Top 8 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Owner: Device WG

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.

More Repositories

1

edgex-go

EdgeX Golang Services Monorepo | Owner: Core/Support WG
Go
1,320
star
2

edgex-ui-go

Owner: Core/Support WG
TypeScript
96
star
3

developer-scripts

Shell
94
star
4

edgex-compose

EdgeX Foundry Docker Compose release compose files and tools for building EdgeX compose files
Makefile
80
star
5

device-modbus-go

Owner: Device WG
Go
77
star
6

edgex-examples

Go
51
star
7

app-functions-sdk-go

Owner: Applications WG
Go
42
star
8

device-sdk-c

Owner: Device WG
C
42
star
9

edgex-docs

HTML
42
star
10

device-mqtt-go

Owner: Device WG
Go
41
star
11

go-mod-messaging

Owner: Core/Support WG
Go
33
star
12

device-camera-go

Owner: Device WG
Go
32
star
13

device-onvif-camera

Owner: Device WG
Go
29
star
14

go-mod-core-contracts

Owner: Core/Support WG
Go
27
star
15

device-virtual-go

Owner: Device WG
Go
23
star
16

edgex-global-pipelines

Owner: DevOps WG
Groovy
21
star
17

edgex-cli

Go
19
star
18

support-rulesengine

Owner: Core/Support WG
Java
19
star
19

app-service-configurable

Owner: Applications WG
Makefile
18
star
20

device-rest-go

Owner: Device WG
Go
17
star
21

go-mod-bootstrap

go-mod-bootstrap
Go
16
star
22

device-mqtt

Java
13
star
23

core-data

Java
12
star
24

device-bacnet-c

Owner: Device WG
C
12
star
25

device-usb-camera

Owner: Device WG
Go
12
star
26

device-rfid-llrp-go

repository for new RFID device service being created/contributed by Intel | Owner: Device Service WG Chair, github ID: iain-anderson
Go
11
star
27

edgex-taf

RobotFramework
11
star
28

go-mod-secrets

Owner: Security WG
Go
10
star
29

security-api-gateway

Owner: Security WG
Go
10
star
30

device-random

Owner: Device WG
Go
10
star
31

ci-management

Control repo for Jenkins job and build minion definitions | Owner: DevOps WG
Shell
9
star
32

app-rfid-llrp-inventory

Go
9
star
33

device-snmp-go

Owner: Device WG
Go
9
star
34

go-mod-registry

Owner: Core/Support WG
Go
8
star
35

device-gpio

device-gpio
Go
8
star
36

device-modbus

Java
8
star
37

go-mod-configuration

Go module providing abstract configuration provider with Consul implementation | Owner: Core Working Group
Go
7
star
38

device-sdk

Java
7
star
39

device-bacnet

Java
6
star
40

git-semver

Owner: DevOps WG
Python
6
star
41

sample-service

Owner: DevOps WG
Go
6
star
42

device-virtual

Java
6
star
43

core-config-seed

Java
5
star
44

cd-management

Owner: DevOps WG
5
star
45

device-grove-c

Owner: Device WG
C
5
star
46

export-go

Go
5
star
47

jenkins_pipeline_presentation

4
star
48

device-bluetooth

Java
4
star
49

blackbox-testing

Integration test suite | Owner: QA-Testing WG
Shell
4
star
50

device-sdk-tools

Java
4
star
51

core-clients-go

Go
4
star
52

docker-edgex-volume

Dockerfile
3
star
53

core-data-go

Go
3
star
54

core-metadata-go

Go
3
star
55

security-secret-store

Owner: Security WG
Go
3
star
56

docker-edgex-mongo

Owner: Core/Support WG
Go
3
star
57

edgex-taf-common

Owner: QA-Testing WG
Python
3
star
58

core-command

Java
3
star
59

core-command-go

Go
3
star
60

core-config-seed-go

Go
3
star
61

support-scheduler

Java
3
star
62

edgex-helm

Owner: Core WG
Mustache
3
star
63

device-coap-c

EdgeX device service for CoAP-based REST protocol
C
3
star
64

core-domain

Java
3
star
65

core-domain-go

Go
3
star
66

export-distro

Java
2
star
67

edgex-dev-badge

Python
2
star
68

demo-grove-pi

2
star
69

device-uart

device-uart
Go
2
star
70

device-snmp

Java
1
star
71

docker-edgex-consul

Owner: Core/Support WG
Go
1
star
72

support-notifications

Java
1
star
73

core-metadata

Java
1
star
74

core-command-client

Java
1
star
75

community

1
star
76

core-config-watcher

Java
1
star
77

support-logging-client-go

Go
1
star
78

docker-export-distro

1
star
79

edgex-ui-clojure

Owner: Core/Support WG
Clojure
1
star
80

edgex-taf-pipelines

to implement Jenkins pipeline for edgex-taf | Owner: QA WG
1
star
81

consul-client-go

Go
1
star