iot alternatives and similar packages
Based on the "IoT (Internet of Things)" category.
Alternatively, view iot alternatives based on common mentions on social networks and blogs.
-
flogo
Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps. -
connectordb
An aggregator for personal metrics, and an extensible analysis engine -
devices
Suite of libraries for IoT devices (written in Go), experimental for x/exp/io -
huego
An extensive Philips Hue client library for Go with an emphasis on simplicity
Updating dependencies is time-consuming.
Do you think we are missing an alternative of iot or a related project?
Popular Comparisons
README
IoT
A simple framework for implementing a Google IoT device.
This package makes use of the context package to handle request cancelation, timeouts, and deadlines.
Copyright 2018, Andrew C. Young <[email protected]>
License: [MIT]
Here is an example showing how to use this library:
package main
import (
"context"
"log"
"github.com/vaelen/iot"
// Your client must include the paho package
// to use the default Eclipse Paho MQTT client.
_ "github.com/vaelen/iot/paho"
)
func main() {
ctx := context.Background()
id := &iot.ID{
DeviceID: "deviceName",
Registry: "my-registry",
Location: "asia-east1",
ProjectID: "my-project",
}
credentials, err := iot.LoadRSACredentials("rsa_cert.pem", "rsa_private.pem")
if err != nil {
panic("Couldn't load credentials")
}
options := iot.DefaultOptions(id, credentials)
options.DebugLogger = log.Println
options.InfoLogger = log.Println
options.ErrorLogger = log.Println
options.ConfigHandler = func(thing iot.Thing, config []byte) {
// Do something here to process the updated config and create an updated state string
state := []byte("ok")
thing.PublishState(ctx, state)
}
thing := iot.New(options)
err = thing.Connect(ctx, "ssl://mqtt.googleapis.com:443")
if err != nil {
panic("Couldn't connect to server")
}
defer thing.Disconnect(ctx)
// This publishes to /events
thing.PublishEvent(ctx, []byte("Top level telemetry event"))
// This publishes to /events/a
thing.PublishEvent(ctx, []byte("Sub folder telemetry event"), "a")
// This publishes to /events/a/b
thing.PublishEvent(ctx, []byte("Sub folder telemetry event"), "a", "b")
}
Thanks to Infostellar for supporting my development of this project.
*Note that all licence references and agreements mentioned in the iot README section above
are relevant to that project's source code only.