-
Notifications
You must be signed in to change notification settings - Fork 114
Home
An API-First Platform for the Internet of Things
-
Learn about Zetta
-
Start coding now!
-
Learn from Zetta videos
- NEW! Videos and webcasts
-
Connect to the Zetta community!
Zetta is an open source platform built on Node.js for creating Internet of Things servers that run across geo-distributed computers and the cloud. Zetta combines REST APIs, WebSockets and reactive programming – perfect for assembling many devices into data-intensive, real-time applications.
var zetta = require('zetta');
zetta()
.name('beaglebone')
.link('http://cloud.herokuapp.com')
.listen(3000);
Zetta turns any device into an API. Zetta servers communicate with microcontrollers like Arduino and Spark Core giving every device a REST API both locally and in the cloud. Zetta's reactive hypermedia design marries reactive programming with Siren hypermedia APIs so that you can assemble distributed systems of devices that communicate and react via APIs.
GET /servers/321/devices/123
Host: cloud.herokuapp.com
Accept: application/vnd.siren+json
{
"class": [
"device"
],
"properties": {
"id": "123",
"type": "arm",
"name": "Robot Arm",
"state": "standby"
},
"actions": [{
"name": "move-claw",
"method": "POST",
...
Building Internet of Things systems is complex. Zetta provides helpful abstractions for increased developer productivity while also giving direct access to underlying protocols and conventions allowing you to focus on the big picture without losing track of the details so that you joyfully transform sensors, actuators and controllers into big, creative applications.
module.exports = function(server) {
var alarmQuery = server
.from('office')
.where({type: 'alarm'});
var motionDetectorQuery = server
.from('warehouse')
.where({type: 'motionDetector'});
server.observe([alarmQuery, motionDetectorQuery],
function(alarm, motionDetector) {
motionDetector.on('motion', function() {
alarm.call('activate', function() {});
});
});
}
Need help? Visit the Zetta Discuss List !
Need help? Visit the Zetta Discuss List ! |
---|
About Zetta
Videos and webcasts
- NEW! Building with Zetta
Tutorials
- NEW! Zetta tutorial series
- Quick start
- Configure a simple device
- Build a mock LED device
- Use the browser client
- Deploy a Zetta server to Heroku
Understanding Zetta
Writing Zetta drivers
- Finding Zetta device drivers
- Create a device driver from starter code
- More coming soon...
Using streams
Reference