An API-First Internet of Things Platform

Device Time-Series Data over WebSockets

var zetta = require(zetta); var ConnectedCarApp = require(./apps/connected_car); var HomeAutomationApp = require(./apps/home_automation); var WearablesApp = require(./apps/wearables); var MarsRoverSwarmApp = require(./apps/mars_rover_swarm); zetta() (cloud) e(ConnectedCarApp) .use(HomeAutomationApp) .use(WearablesApp) .use(MarsRoverSwarmApp) .listen(PORT);

Zettas architecture is optimized for data-intensive, real-time applications. Zetta allows you to observe and react to device and system behavior in code and using visualization tools so that you gain actionable insights and take insightful actions. You can also stream data into machine analytics platforms like Splunk.

GET /servers/321/devices/123 Host: Accept: application/vnd.siren+json class: [ device ], properties: id: 123, type: arm, name: Robot Arm, state: standby , actions: [ name: move-claw, method: POST, …

This work is licensed under aCreative Commons Attribution 4.0 International LicensebyApigee.

IoT developers work on projects with multiple devices across multiple locations running multiple apps made by multiple companies. Yet they must create harmonious experiences that benefit people.

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() ); ); );

Device States and Transitions over WebSockets

Zetta servers run in the cloud, on PCs and on single-board computers. With Zetta you can link Raspberry Pis, BeagleBones and PCs together with cloud platforms like Heroku to create geo-distributed networks.

Zetta allows you to assemble smartphone apps, device apps and cloud apps together into large, complex adaptive systems of systems that operate at scale in the physical world of home automation, smart transportation, wearable computing and wherever your imagination leads.

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.

server .observe([sound, arm, huelight], function(sound, arm, huelight) var gocrazy = new GoCrazy(arm, huelight); sound.streams.level.on(data, function(msg) gocrazy.notify() ); );

Zetta is an open source platform built onNode.jsfor creating Internet of Things servers that run across geo-distributed computers and the cloud. Zetta combinesREST APIs,WebSocketsandreactive programming perfect for assembling many devices into data-intensive, real-time applications.

An API-First Internet of Things Platform

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. Zettasreactive hypermediadesign marriesreactive programmingwithSiren hypermedia APIsso that you can assemble distributed systems of devices that communicate and react via APIs.

Leave a Reply