The runtime components for Zetta.
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. Zetta is protocol agnostic meaning that it can support almost all device protocols, and mediate them to HTTP. Zetta was built from the ground up to solve specific problems around generating consistent interfaces for devices, and allowing to stream real time state of devices.
This is the quintessential "Hello World!" program for Zetta. This program will generate your first Zetta UI for a particular server.
var zetta = require'zetta';zettaname'hello.world'listen1337;
Zetta has developers express devices as state machines using an elegant and expressive syntax. Zetta is a completely nodejs based framework that is cross platform, and easily deployable to multiple cloud services.
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.
Zetta also 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. These apps will run consistently whether or not your hub has internet connectivity.
Zetta can create persistent connections between servers to expose APIs in new and unqiue 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.
Retrieving the Zetta package is fairly straight forward.
git clone firstname.lastname@example.org:zettajs/zetta.git && cd zettanpm install
npm install zetta
The Zetta community is steadily growing. We have a few channels that you can talk to the Zetta team on.
You can also file an issue on our github issues page.
Visit our site at http://zettajs.github.io/ for documentation, and recipes for building systems with Zetta.