Skip to content

A framework and protocol for building your own smart home devices and applications.

License

Notifications You must be signed in to change notification settings

TrevorFarrelly/u-iot

Repository files navigation

u-iot

u-iot

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.

Installation

Golang

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

Python

TBD

Reference

GoDoc-style documentation can be found at TrevorFarrelly.github.io/u-iot/.

Using Raspberry Pi GPIO

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

Progress

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.

About

A framework and protocol for building your own smart home devices and applications.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published