Presentation is loading. Please wait.

Presentation is loading. Please wait.

https://www.facebook.com/devHubNS https://twitter.com/devHubNS

Similar presentations


Presentation on theme: "https://www.facebook.com/devHubNS https://twitter.com/devHubNS"— Presentation transcript:

1 https://www.facebook.com/devHubNS https://twitter.com/devHubNS
// _ _ _ _ _ _ _____ // | | | | | | | | | \ | |/ ____| // __| | _____ _| |__| |_ _| |__ | \| | (___ // / _` |/ _ \ \ / / __ | | | | '_ \| . ` |\___ \ // | (_| | __/\ V /| | | | |_| | |_) | |\ |____) | // \__,_|\___| \_/ |_| |_|\__,_|_.__/|_| \_|_____/ // ======================================================

2 IoT – Cloud platforms Zoran Rončević Udruženje „Mejker“, Novi Sad

3 IoT project infrastructure

4 Microsoft AZURE Amazon AWS IoT IBM Bluemix Samsung Artik Cloud
Google Cloud ThingSpeak Microsoft AZURE Amazon AWS IoT IBM Bluemix Samsung Artik Cloud

5 Amazon AWS IoT

6 Samsung Artik IoT IBM Watson IoT

7 Microsoft Azure IoT Business Process ERP/CRM Event Hub Storage Blobs
DocumentDB Web App Stream Analytics Logic Apps Azure Active Directory IoT Hub Web Jobs

8 Microsoft services Azure IoT Hub Azure Stream Analytics Azure Storage
Connect, secure, communicate, monitor and manage billions of devices Azure Stream Analytics Real time stream processing for billions of IoT devices Azure Storage Blob, SQL, DocumentDB, Data Lake. Storage to meet every need at the scale of IoT Power BI Dashboards and data connectors to visualize any data Azure App Service Web and mobile apps for any platform on any device

9 Another brick in the wall

10 Texas Instruments Arduino Raspberry Beaglebone Particle Intel

11 Select platform Hardware Operating system Connectivity
Microcontrollers (MCU, SoC) Microcomputers (MPU) Hybrid devices (MPU + MCU) Operating system RTOS Linux Windows 10 IoT core / Windows 10 full Android Connectivity WiFi Bluetooth, BLE Lora

12 Select boards

13 Connect to cloud

14 Dashboards

15 Dashboard functionality
Device management Access management Data logging Creating rules and actions Visual presentation data

16 Samsung Artik IoT

17 Amazon AWS IoT

18 IBM Watson IoT

19 Microsoft Azure IoT

20 Visual presentation data
Platform Internal External Microsoft Azure IoTHub Power BI Amazon AWS IoT - Samsung Artik IBM Bluemix Watson IoT

21 Rules, actions, alerts    Platform Wizard Coding/service
Microsoft Azure IoTHub Functions App ! Amazon AWS IoT Lambda Samsung Artik IBM Bluemix Watson IoT

22 Free plans (check providers!!)
Platform Free Microsoft Azure IoTHub 1 IoT Hub, 500 devices, 8000 messages/day Amazon AWS IoT 250,000 free messages per month, for 12 months. Samsung Artik Cloud 150,1500,10k,100k (messages) unlimited,10,5,1 (devices) Depends on plan (hobbyist) IBM Bluemix Watson IoT 20 devices / 100 MB data traffic

23 Do you speak ...

24 C#/C++ NodeJS Java Python

25 Last checkpoint Open Source Cross-Platform Support
GitHub, SDK Cross-Platform Support RTOS, Linux, Windows Multi-Protocol Support HTTP REST, MQTT, AMQP, COAP Easy To Get Started Samples, walkthroughs to get you started quickly

26 Arduino „language“

27 Linux gateways

28 HTTP REST void loop() { Serial.println("loop");
client.connect(server, port); delay(1000); if (!client.connected()) { Serial.println(" error "); } else { int t = dht.readTemperature(); int h = dht.readHumidity(); client.println("POST /v1.1/messages HTTP/1.1"); client.println("Host: api.artik.cloud"); client.println("Accept: */*"); client.println("Content-Type: application/json"); client.println("Connection: close"); client.println(AuthorizationData); // Automated POST data section client.print("Content-Length: "); client.println(loadBuffer(t,h)); // loads buf, returns length client.println(); client.println(buf); Serial.println("Data posted"); client.stop(); }

29 MQTT – IBM Bluemix var mqtt = require('mqtt'); var ORG = 'pqm2jq';
var TYPE = 'Type1'; var ID = 'meetup1'; var PROTOCOL = 'mqtt'; var BROKER = ORG + '.messaging.internetofthings.ibmcloud.com'; var PORT = 1883; var URL = PROTOCOL + '://' + BROKER + ':' + PORT; var CLIENTID = 'd:' + ORG + ':' + TYPE + ':' + ID; var AUTHMETHOD = 'use-token-auth'; var AUTHTOKEN = '<DEVICE TOKEN>'; var requireds = { clientId: CLIENTID, username: AUTHMETHOD, password: AUTHTOKEN }; var mqttConfig = { 'url': URL, 'requireds': requireds }; var client; data ='{"d":{"temp" : 32}}'; client = mqtt.connect(mqttConfig.url, mqttConfig.requireds); client.on('connect', function () { var TOPIC = 'iot-2/evt/status/fmt/json'; client.publish(TOPIC,data);//Payload is JSON });

30 NodeJS – Artik Cloud var ArtikCloud = require('artikcloud-js');
var defaultClient = ArtikCloud.ApiClient.instance; // Configure OAuth2 access token for authorization: artikcloud_oauth var artikcloud_oauth = defaultClient.authentications['artikcloud_oauth']; artikcloud_oauth.accessToken = "<DEVICE TOKEM>" var api = new ArtikCloud.MessagesApi() var data = new ArtikCloud.MessageAction(); data.data = {"temp" : 32}; data.sdid = "<DEVICE ID>"; var callback = function(error, success, response) { if (error) { console.log(response.res.text); } else { console.log(success); } }; api.sendMessageAction(data, callback);

31 NodeJS – Amazon AWS IoT var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({ "host": "a2qafgaoqmsxfi.iot.eu-west-1.amazonaws.com", "port": 8883, "clientId": "myPCasAThing", "thingName": "myPCasAThing", "caCert": "root-CA.crt", "clientCert": "e85ef9132a-certificate.pem.crt", // change this "privateKey": "e85ef9132a-private.pem.key" // change this }); data = {"temp" : 32}; device.on('connect', function() { device.publish('rms', data);//Payload

32 NodeJS – Microsoft Azure IoT
var jsonDevice = { "DeviceId": "myFirstDevice", "DeviceKey" : "<DEVICE KEY>"}; var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString; var Message = require('azure-iot-device').Message; var cString = 'HostName=MakerNS.azuredevices.net;DeviceId='+jsonDevice.DeviceId+';SharedAccessKey='+jsonDevice.DeviceKey; var client = clientFromConnectionString(cString); function sendCallback(op) { // handling result } var connectCallback = function (err) { if (err) { console.log('Could not connect: ' + err); } else { var data = JSON.stringify({ temp: 32 }); var message = new Message(data); client.sendEvent(message, sendCallback('send')); }; client.open(connectCallback);

33 Hvala na pažnji ! Pitanja ?


Download ppt "https://www.facebook.com/devHubNS https://twitter.com/devHubNS"

Similar presentations


Ads by Google