iotdb-transport-express
v3.0.5
Published
IOTDB Transporter for Express
Downloads
18
Readme
iotdb-transport-express
IOTDB Transporter for Express
About
This module will let you create web pages with your transporters. There's two different (but complimentary) transporters in this package, one for just serving pages and another for longpolling so you can get updates
There are code samples in GitHub.
Use
Express Transporter
Use as follows. First, create an app
const express = require('express');
const body_parser = require("body-parser");
const unirest = require('unirest');
const app = express();
app.use(body_parser.json());
app.listen(3000, () => {});
Then get another transporter as a "source". Typically this will be IOTDB. In this particular example, we will connect to a WeMoSocket on the network.
const iotdb = require("iotdb");
iotdb.use("homestar-wemo");
const things = iotdb.connect("WeMoSocket");
const iotdb_transport = require("iotdb-transport-iotdb");
const iotdb_transporter = iotdb_transport.make({}, things);
Then we create a Express Transporter.
const express_transport = require("iotdb-transport-express");
const express_transporter = express_transport.make({
prefix: "/things",
}, iotdb_transporter, app)
That's it - we are operational. If you go to http://localhost:3000/things you will see an API to your things.
Express Longpoll Transporter
The setup is much the same as above, except you'll need to have cookie support
const cookie_parser = require("cookie-parser");
app.use(cookie_parser());
Then add this code:
const longpoll_transporter = express_transport.longpoll.make({
prefix: "/things",
}, iotdb_transporter, app)
That's it - we are operational. If you go to http://localhost:3000/things/.longpoll it will longpoll until things change (or a timeout happens).
The Longpoll Transporter will batch multiple updates together, will support multiple clients and probably everything else you want.