JavaScript for IoTivity Sakari Poussa, Intel @spoussa
Topics
Vision JavaScript for Everything Cloud HTML5 REST Apps Web API REST Server Server JavaScript GW Engine(s) Applica'on ¡developer ¡can ¡use ¡ only ¡web ¡technologies ¡to ¡create ¡ CoAP, MQTT, 6LowPAN, BLE end-‑to-‑end ¡solu'ons. ¡ Resources Connectivity ¡ Not ¡the ¡only ¡op'on ¡but ¡focus ¡of ¡ Smart Devices Storage this ¡talk. ¡
Diamond ¡ Pla,num ¡ Gold ¡
• Specifications • Open Source implementation • Data models • QA • Certification • API bindings • Marketing No ¡JavaScript ¡
• JavaScript API for OIC • Web IDL specification • Single API – Multiple Implementations • All open source • Travis, sample code, demos • IoTivity 1.0
API Highlights Client ¡ Server ¡ Promise findResources(); Promise<resource> register(data); Events: Events: resourcefound retrieverequest updaterequest Resource ¡ observerequest Promise retrieve(); Promise update(data); Promise observe(); Events: update
Discovery OIC ¡Client ¡ OIC ¡Server ¡ Request: ¡DISCOVER ¡ Response: ¡URI, ¡Type, ¡ID ¡
Retrieve, Update OIC ¡Client ¡ OIC ¡Server ¡ Request: ¡RETRIEVE ¡ Response: ¡DATA ¡ Request: ¡UPDATE ¡ Response: ¡OK ¡
Cloud OIC and Cloud REST API CoAP over TCP XMPP
Remote Access with REST APIs Cloud OIC ¡Device ¡Network ¡ API ¡ ¡ (local) ¡ REST ¡ HTTP(S) ¡and ¡JSON ¡ SERVER ¡
Sensor ¡ ¡ API ¡Server ¡ Cloud/Mobile ¡ (OIC ¡server) ¡ (REST) ¡ HTTP ¡ GET ¡/oic/res ¡ Request: ¡DISCOVER ¡ Discovery ¡ HTTP ¡200 ¡OK ¡ Response: ¡URI, ¡Type, ¡ID ¡ {"href":"/a/light,"rt":"core.light","if":"oc.mi.def"} ¡ {"href":"/a/light,"rt":"core.light","if":"oc.mi.def"} ¡ HTTP ¡ GET ¡/a/light ¡ Request: ¡RETRIEVE ¡(/a/light) ¡ Read ¡ HTTP ¡200 ¡OK ¡ Response: ¡DATA ¡ {"href":"/a/light","proper'es":{”on":false}} ¡ {"href":"/a/light","proper'es”:{”on":false}} ¡ HTTP ¡ PUT ¡/a/light ¡ Request ¡UPDATE ¡(/a/light) ¡ {"href":"/a/light","proper'es":{”on":true}} ¡ {"href":"/a/light","proper'es":{”on":true}} ¡ Update ¡ HTTP ¡200 ¡OK ¡ Response: ¡OK ¡ ¡
REST API SERVER • All JavaScript • Node.js, Express, and iotivity-node • Open source https://github.com/01org/iot-rest-api-server • RAML API documentation Cloud • Features REST ¡API ¡ ¡ SERVER ¡ • OIC discovery (/oic/res and /oic/d) • OIC RETRIEVE and UPDATE • Observing
Next Steps Security – Sandbox Small devices – V8 is big JS Engine API ?
Demo Visit Intel Booth for Demo Iotivity-node in Action No Native Application Code JavaScript, HTML, WebGL and CSS
Questions ?
Recommend
More recommend