Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure IoT Hub

84

Transcript of Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure IoT Hub

#GlobalAzureBandungand collect printed photos at Jepret booth

It’s 2nd Global Azure Bootcamp organised by

http://edu.dycode.co.id

@andri_yadi a at dycode dot com

Bandung, Apr 16, 2016 _

Real-WorldIoT Backend with

Azure IoT Hub

Andri Yadi@andri_yadi | a at dycode dot com

http://andriyadi.me | http://dycodex.com

CEO of

End-to-end mobile app developer company9 years, 50+ team, 100+ project portfolios

Proudly coder for 19 years

ASM, QBasic, Pascal, c, C++, Java, PHP, Bash, C#, Visual Basic, HTML, JavaScript, Python, Objective-C, Swift

.NET, Qt/QML, Java ME/EE/SE, Android SDK, iOS SDK, Node.js

ARM MBED, ESP8266, Arduino/Wiring

CEO of DycodeXIoT & disruptive technologies enabler for more enjoyable life.

DycodeX, by DyCode

8 years in a row

Committee IoT for Bandung

IoT?

IoT! IoT IoT

Source: http://animalwall.xyz/rainbow-lorikeets-having-chat-animals-birds-parrots-funny-australian-interesting-feathers-lorikeet-free-wallpapers/

What is it, really?

Internet of Things

“Network-connected devices with embedded processing power„

Internet of Things

*Microsoft’s definition of IoT

Connectivity Data AnalyticsThings

Internet of Things

Things

IoT Typical Scenario

Protocol(over internet)

Ingestion Analytics

Storage VisualizationDevice

Management

API

Cloud

Message Broker Mobile Apps

3rd party systems

Microcontroller

Radio Transceiver/Network Interface

Sensor/Actuator Circuitry

Energy Source

A Thing

Some IoT Technologies

let’s take a look… fast

MCU/MPU

System on Chip (SoC)

and many more…

Development Board - Arduino

https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems…and huge number of them here:

SainSmart UNO SainSmart Mega RoboduinoIndonesia-made

Bluino

and Chinese clones

Arduino Compatible Boards

Development Board - ARM

andmore…

Development Board - Intel

ESP8266

ESP-01

ESP-12

ESP-12E ESP-14 ESP-WROOM-02

ESP-07

ESP-13

Development Board - ESP8266

OlimexNodeMCU ESPino Thing Dev ESPresso

Digistump Oak Wemos D1 Mini Witty

andmore…

Development Board - Others

DigisparkAttiny85 dev board

TesselDev board

PropellerParallax Dev board

Espruino PicoJavaScript dev boardhttp://espruino.com

RabbitDev board

more and more …

Particle.ioPhoton, Electron

Communication & Networking

Communication

Source: http://postscapes.com/internet-of-things-technologies

LoRa

Cloud

3G/4G/WiFi/Ethernet Internet

Sensor nodes:15-20km range, 10 years of battery life, small form factor

Networking

UDP TCP

6LoWPAN WAN

Operating System

Operating System

and a lot more…

https://github.com/feilipu/Arduino_FreeRTOS_Library

runs on

Protocol

Protocol

CoAP

Programming

Programming language

Dev Platform

COSA Teensyand manymore…Sming

Dev Tool/Ide

Cloud

Cloud Platform

AzureIoT Hub

and a whole lot more…

Cloud Platform

AzureIoT Hub

and a whole lot more…

our focus today!

Azure offerings for IoT

Microsoft Cloud offer for IoT

Remotemonitoring Predictive

maintenanceAsset

management

Azure IoT SuiteAzure services (IoT and others)

Azure Services for IoT

Azure IoT Hub 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

Azure App Service Web and mobile apps for any platform on any device

Power BI Dashboards and data connectors to visualize any data

Logic Apps Powerful workflows to automate business processes And More…

Azure IoT Hub

Designed for IoT Connectivity, Security & Management for billions of devices

Service Assisted Communications Devices are not servers Use IoT Hub to enable secure bi-directional communications

Cloud Scale Messaging Device-to-cloud and Cloud-to-device Durable message inbox/outbox per device

Monitor Devices Delivery receipts, expired messages Device communication errors

Per-Device Authentication Individual device identities and credentials

Connection Multiplexing Single device-cloud connection for all communications (device-to-cloud, cloud-to-device)

Multi-Protocol Natively supports AMQPS, HTTPS, MQTT Extensible protocol support for custom protocol needs

Multi-Platform Device SDKs available for multiple platforms: RTOS, Linux, Windows, iOS, Android Service SDK supports multiple languages (Node, Java, C#)

Demo #1Creating Azure IoT Hub

Demo #2Telemetry

Raspberry Pi ESP8266

Radio Transceiver

Gateway

WiFi

Raspberry Pi 2 BatteryLong Range (radio)

Sensors (I2C)

Node

Radio Transceiver

Microcontroller(ESP8266) Battery

Internet

Architecture

Serial Output of program runs on ESP8266

Output of Gateway Service runs on Raspberry Pi

Payload

Demo #3Ingestion

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

MQTT(internet)

Node #1

Azure IoT Hub

Node #2

Node #n

Gateway

Radio Transceiver WiFi

Raspberry Pi 2 BatteryLong Range

(radio)

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Azure IoT Hub receives the data

Demo #4Analysis with Azure Stream Analytics Job

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

MQTT(internet)

Node

Azure IoT Hub

Node

Node

Gateway

Radio Transceiver WiFi

Raspberry Pi 2 BatteryLong Range

(radio)

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Event Hub Endpoint

Azure Stream Analytics

Stream Analytics Input from Azure IoT Hub

Stream Analytics Query to output to Power BI

Demo #5Visualization

Sensor

MQTT(internet)

Node

Azure IoT HubEvent Hub Endpoint

Azure Stream Analytics Power BI

Radio Transceiver

Microcontroller Battery

Sensor

Node

Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Sensor

Node

Radio Transceiver

Microcontroller Battery

Radio Transceiver

Gateway

WiFi

Raspberry Pi 2 BatteryLong Range (radio)

Visualisation on Power BI

Demo #6storage

Sensor

MQTT(internet)

Node

Azure IoT HubEvent Hub Endpoint

Azure Stream Analytics

Radio Transceiver

Microcontroller Battery

Sensor

Node

Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Sensor

Node

Radio Transceiver

Microcontroller Battery

Radio Transceiver

Gateway

WiFi

Raspberry Pi 2 BatteryLong Range (radio)

Power BI

Azure Storage

Add SA Output to Table Storage

Modify SA Query to output to Table Storage

Data are added to Table Storage

Azure IoT Hub SDK & Toolhttp://github.com/azure/azure-iot-sdks

Device Client SDK

Service Client SDK

Tools

iothub-explorer(X platform)

Device Explorer(Windows)

What Next?

Start with one of the Azure IoT Starter kits aka.ms/iotstarterkits

Start from a sampleSimple Hello World samples: Readme.md of the SDKs repoE2E samples : aka.ms/azureiotsamplesGet started on a specific platform: aka.ms/azureiotgetstartedguides

Start from scratch portal.azure.comARM templates github.com/azure/azure-iot-sdks

DIY

• Blog article: http://aka.ms/azureiotdevintro • Azure IoT dev center: http://aka.ms/azureiotdev • GitHub repo: http://github.com/azure/azure-iot-sdks • Watch Build 2016 videos on Channel 9

Call to Action

Join Communities

Challenge & Expo

Coming TOMORROW!

Join Our Classes…

+

Please keep checking our websitehttp://edu.dycode.co.id

Or these classes…

+ + [Obj-C]

+

Custom IoT end-to-end solutions for your startups/enterprises?

[email protected] | http://dycodex.com

Thanks!Andri YadiEmail — a at dycode dot com twitter — @andri_yadi www — andriyadi.me github — github.com/andriyadi