General
- Does Zetta run on the device, the cloud server or both?
- Zetta software servers runs on the device if it has the capacity, or on a nearby ‘hub’ (like a Raspberry Pi, BeagleBone, Intel Edison) and in the cloud.
- Is it the same code in the cloud and on the device? Is it peer to peer?
- Yes. The Zetta servers are the same wherever they run.
- What if the device doesn’t have processing and memory capacity to run Zetta? Like an Arduino?
- A typical pattern is a hub and spoke model where the spokes are constrained devices and the hub has more horsepower. Zetta will run on the local ‘hub’ like a Raspberry PI near the Arduino spoke.
- Does the board require node.js?
- No only the ‘hub’ requires node.js.
- Does Zetta have C code?
- Zetta is pure JavaScript on node.js.
- How do spoke talk to the hub?
- There are Zetta drivers that mediate between protocols. So a Zetta ‘driver’ could talk serial between the hub and the device and mediate that serial protocol into a web api. The hub can speak anything. There are node modules published to NPM for many protocols. The NPM modules become the heart of the Zetta device drivers.
- How does Zetta on a hub, like a BeagleBone, talk to Zetta in the cloud, like Heroku?
- If the hub has an internet address then the will communicate via simple HTTP APIs and WebSockets. If the hub is behind an intermediary like a router then the z2z protocol is used. z2z uses standards like HTTP, WebSockets and SPDY to allow devices to communicate.