Building IoT Solutions with Nitrogen


The Presentation inside:

Slide 0

Building IoT Solutions with Nitrogen Doug Seven, Director Microsoft DX-TED, Partner Catalyst Team @DSeven @ThingLabsIo


Slide 1


Slide 2


Slide 3


Slide 4


Slide 5

Field Gateways Protocol Adapters OSS Project Cloud Gateway Event Hub -> IoT Hub Hot Path Analytics Azure Stream Analytics, Azure Storm Cold / Batch Analytics & Visualizations Azure HDInsight, AzureML, Power BI, Azure Data Factory Hot Path Business Logic PaaS V2 & Actor Framework Enterprise Process Connections BizTalk Services, Notification Hubs Devices Linux, Android, iOS, RTOS, Windows Device Connectivity Analytics & Operationalized Insights Business Connectivity IoT Device <-> Cloud Patterns


Slide 6

Field Gateways Protocol Adapters OSS Project Cloud Gateway Event Hub -> IoT Hub Hot Path Analytics Azure Stream Analytics, Azure Storm Cold / Batch Analytics & Visualizations Azure HDInsight, AzureML, Power BI, Azure Data Factory Hot Path Business Logic PaaS V2 & Actor Framework Enterprise Process Connections BizTalk Services, Notification Hubs Devices Linux, Android, iOS, RTOS, Windows Device Connectivity Analytics & Operationalized Insights Business Connectivity IoT Device <-> Cloud Patterns


Slide 7

Nitrogen Nitrogen is an open-source, JavaScript backend for the Internet of Things. Nitrogen provides Device Management Security and permissions Data Ingest Command & Control Nitrogen includes a JavaScript client library for device and web applications. http://www.Nitrogen.io


Slide 8

Pub-Sub Messaging Model Bad User Motorized Blinds Rogue Light Light Sensor Nitrogen Service Lighting App Light Light Switch Mobile App


Slide 9

Nitrogen Messaging var message = new nitrogen.Message({ type: '_lightState', body: { on: false } }); var message = new nitrogen.Message({ type: '_lightLevel', body: { ambientLight: 51 } });


Slide 10

Nitrogen Message { "ts":"2015-05-20T05:52:16.323Z", "body": { "temperature":30 }, "type":"temperature“ }


Slide 11

Demo Sending Telemetry to Nitrogen


Slide 12

Command & Control Nitrogen enables sending messages or subscribing to message streams Any device with permission can send a message to a specific device Any device with permission can subscribe to the message stream of a device


Slide 13

Nitrogen CommandManager The CommandManager enables interrogation and execution of commands for a device. CommandManager should be sub-classed for the specific implementation. Sub-classes must override five (5) functions: isRelevant() isCommand() obsoletes() executeQueue() start()


Slide 14

Implementing CommandManager isRelevant Should I care about the message? isCommand Do I need to execute the message? obsoletes Do I care any more? (e.g. have I already processed this) executeQueue Do whatever needs to be done based on the message start Get things going


Slide 15

Permissions Permissions enable control over which Principals can interact (or not) with other Principals Permission Types admin view send subscribe Permissions enable explicit authorization control n2 permission add --action subscribe --authorized true --issueTo <PRINCIPAL ID> --principalFor <PRINCIPAL ID>


Slide 16

Nitrogen Message { "ts":"2015-05-20T15:03:48.299Z", "body":{ "command":{ "on":false }}, "from":"555ca24bf9b56a0100321aae", "type":"_lightState", "index_until":"2015-05-27T15:03:48.683Z", "expires":"2500-01-01T00:00:00.000Z", "tags":["command:555ca24bf9b56a0100321aae"], "response_to":["555ca2539746460100146efc"], "ver":0.2, "updated_at":"2015-05-20T15:03:48.683Z", "created_at":"2015-05-20T15:03:48.683Z", "id":"555ca254edc0b30100124cee“ }


Slide 17

Demo Implementing Command Manager to Control a Device


Slide 18


Slide 19


Slide 20

Car Client type: engine ts: 05/03/2014 08:00:24 rpms: 23.23 fuel: 2.2 type: location ts: 05/03/2014 08:00:23 latitude: -33.92253 longitude: 18.4239 type: location ts: 05/03/2014 08:00:26 latitude: 38.2 longitude: 2.2 type: location ts: 05/03/2014 08:00:25 latitude: 38.2 longitude: 2.2 Nitrogen Frontdoor MQTT uC (128KB, 80MHz) 3G


Slide 21

Telemetry Ingestion MQTT AMQP Authentication and Authorization Ingestion Service REST Device Registry Data Pipeline Cars Browsers, Mobile Servers Nitrogen Services Azure Clients Machine Learning


Slide 22

Next Steps Tutorials/labs at http://ThingLabs.io http://Nitrogen.io [email protected] @DSeven @ThingLabsIo


×

HTML:





Ссылка: