Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Building IoT Solutions with Nitrogen

1 005 vues

Publié le

In this presentation I cover how to build solutions for the Internet of Things using the open source Nitrogen framework and Node.js client. Demos are at https://github.com/ThingLabsIo/IoTLabs (labs 4 and 6).

Publié dans : Internet
  • Login to see the comments

Building IoT Solutions with Nitrogen

  1. 1. Doug Seven, Director Microsoft DX-TED, Partner Catalyst Team @DSeven @ThingLabsIo
  2. 2. FieldGateways ProtocolAdapters OSSProject CloudGateway EventHub->IoTHub 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 EnterpriseProcessConnections BizTalkServices,NotificationHubs Devices Linux,Android,iOS,RTOS,Windows Device Connectivity Analytics & Operationalized Insights Business Connectivity
  3. 3. FieldGateways ProtocolAdapters OSSProject CloudGateway EventHub->IoTHub 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 EnterpriseProcessConnections BizTalkServices,NotificationHubs Devices Linux,Android,iOS,RTOS,Windows Device Connectivity Analytics & Operationalized Insights Business Connectivity
  4. 4. 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
  5. 5. Bad User Motorized Blinds Rogue Light Light Sensor Nitrogen Service Lighting App Light LightSwitch Mobile App
  6. 6. var message = new nitrogen.Message({ type: '_lightState', body: { on: false } }); var message = new nitrogen.Message({ type: '_lightLevel', body: { ambientLight: 51 } });
  7. 7. { "ts":"2015-05-20T05:52:16.323Z", "body": { "temperature":30 }, "type":"temperature“ }
  8. 8. Sending Telemetry to Nitrogen
  9. 9.  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
  10. 10.  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()
  11. 11.  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
  12. 12.  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>
  13. 13. { "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“ }
  14. 14. Implementing Command Manager to Control a Device
  15. 15. 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 NitrogenFrontdoor MQTT uC(128KB,80MHz) 3G
  16. 16. MQTT AMQP Authentication and Authorization Ingestion Service REST Device Registry Data Pipeline Cars Browsers, MobileServers NitrogenServicesAzureClients Machine Learning
  17. 17. Tutorials/labs at http://ThingLabs.io http://Nitrogen.io dseven@Microsoft.com @DSeven @ThingLabsIo

×