The Go gopher was designed by Renee French. The design is licensed under the Creative Commons 3.0 Attributions license. Read this article for more details.
A framework and protocol for building your own smart home devices and applications. Intended to provide complete freedom in device functionality, u-iot supportS applications on host operating systems, as well as embedded devices with user-defined functions and parameters on Raspberry Pi.
u-iot is written in Go, with more languages coming in the future.
If you are using modules:
import uiot github.com/TrevorFarrelly/u-iot
then build when you are ready.
Or, if you are using dep:
import uiot github.com/TrevorFarrelly/u-iot
$ dep ensure
TBD
GoDoc-style documentation can be found at TrevorFarrelly.github.io/u-iot/.
A Golang wrapper of WiringPi can be found here.
I have also forked this repo and hacked in PWM support, see here.
More info on Pi installation can be found in examples
u-iot's Golang library is usable and firmly within the realm of a "minimum viable product." That said, there is lots of functionality I plan on implementing in the future. See the checklist below for progress on these features.
Golang | Feature | Breaking? | Completion | Python | Feature | Breaking? | Completion | |
---|---|---|---|---|---|---|---|---|
Device Creation | No | ☑ | Device Creation | No | ☐ | |||
Basic Device Tags | No | ☑ | Basic Device Tags | No | ☐ | |||
Multicasting | No | ☑ | Multicasting | No | ☐ | |||
RPC server | No | ☑ | RPC Server | No | ☐ | |||
Bootstrapping | No | ☑ | Bootstrapping | No | ☐ | |||
v0.1 | Function Calls | No | ☑ | Function Calls | No | ☐ | ||
Return Values | No | ☐ | Return Values | No | ☐ | |||
More arg types | Yes | ☐ | More arg types | Yes | ☐ | |||
User Device Tags | Maybe | ☐ | User Device Tags | Maybe | ☐ | |||
Security | Maybe | ☐ | Security | Maybe | ☐ |
Anyone is welcome to work on these features. Please check out CONTRIBUTING.md if you are interested.