Zetta is an API-first platform for the Internet of Things (IoT).
Key Features :
- Open source – Zetta is an open source Node.js based platform for the internet of things. It’s a complete toolkit for generating HTTP APIs for devices.
- Real time – Zetta exposes websocket endpoints to stream real time events out of the Zetta system. This paradigm of merging Hypermedia with websocket streaming is also known as Reactive Hypermedia.
- Protocol agnostic – Zetta can support almost all device protocols, and mediate them to HTTP.
- Persistent connections – Zetta can create persistent connections between servers to expose APIs in new and unique ways. You can peer a Zetta server in your home with a server in the cloud, and allow for access to devices on the open internet.
- App creation – Zetta allows you to write stateless applications that live in the server itself. You can query for devices, and wire up interactions between them in these applications. The apps run consistently whether or not your hub has internet connectivity.
- Query and notification – Zetta has a robust query system that allows you to not only search for devices, but also subscribe to websockets to be notified when new devices come online that fulfill the query. The queries have a SQL-like syntax that makes it easy to wrangle devices in the API, and Zetta itself.
- Consistent interfaces – Built from the ground up, Zetta solves specific problems around generating consistent interfaces for devices.
Typical Zetta deployment :
- One Zetta server runs on a hardware hub. This hub is typically something like a BeagleBone Black, Intel Edison, or Raspberry Pi.
- The Zetta hub connects to devices. Zetta mediates from HTTP to the particular protocols used in a deployment.
- Another Zetta server runs in the Cloud. This server uses the exact same Node.js packages as Zetta running on the hub.
- The Zetta server on the hardware hub connets to the server in the Cloud.
- Zetta then exposes an API at the Cloud endpoint for developers to consume.
Quick Start : https://github.com/zettajs/zetta/wiki/Quick-Start
Documentation : https://github.com/zettajs/zetta/wiki