Skip to content
Oleksandr Lobunets edited this page Aug 19, 2014 · 15 revisions

Welcome to the Patchwork Toolkit wiki!

Patchwork Toolkit - a Lightweight Platform for the Network of Things (written in Golang)

Internet of Things (IoT)

Patchwork is a toolkit written in Go programming language for connecting various devices into a network of things or, in a more broad case - Internet of Things (IoT). The main goal of creating this toolkit is having a lightweight set of components that can help to quickly integrate different devices (i.e. Arduinos, RaspberryPI’s, Plugwise, etc) into a smart environment and expose specific devices’ capabilities as RESTful/SOAP/CoAP/MQTT/etc services.

The key features of the toolkit include:

  • Lightweight (no RAM-consuming sliced pie of Java and OSGi, only bare necessities)
  • Cross-platform (can be deployed on OSX/Linux/Windows, tested on RaspberryPI and BeagleBone Black boards)
  • Language-agnostic (device agents can be written in any programming language, APIs can be consumed by app written in any programming language)
  • Easy deployable (no JARs, no Eggs or Wheels for the core components, just a single native binary with statically linked dependencies)
  • Easy extendable (integrate new devices without modification of the core components, drop in solution)
  • Interchangeable (not happy with current existing Device Gateway or Catalog? replace it with another implementation without breaking the infrastructure)
  • No re-inventing the wheel (we re-use as many existing technologies and components as possible)