#GlobalAzureBandung
and 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-World
IoT 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 company

9 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 DycodeX
IoT & 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 Visualization
Device
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 Roboduino
Indonesia-made

Bluino
and Chinese clones
Arduino Compatible Boards
Development Board - ARM
and

more…
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
and

more…
Development Board - Others
Digispark

Attiny85 dev board
Tessel

Dev board
Propeller

Parallax Dev board
Espruino Pico

JavaScript dev board
http://espruino.com
Rabbit

Dev board
more and more …
Particle.io

Photon, 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 Teensy
and many

more…Sming
Dev Tool/Ide
Cloud
Cloud Platform
Azure

IoT Hub
and a whole lot more…
Cloud Platform
Azure

IoT Hub
and a whole lot more…
our focus today!
Azure offerings for IoT
Microsoft Cloud offer for IoT
Remote

monitoring Predictive

maintenance
Asset

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 #1

Creating Azure IoT Hub
Demo #2

Telemetry
Raspberry Pi ESP8266
Radio
Transceiver
Gateway
WiFi
Raspberry Pi 2 Battery
Long 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 #3

Ingestion
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 Battery
Long Range

(radio)
Sensor
Radio
Transceiver
Microcontroller

(ESP8266)
Energy

Source
Azure IoT Hub receives the data
Demo #4

Analysis 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 Battery
Long 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 #5

Visualization
Sensor
MQTT

(internet)
Node
Azure IoT Hub
Event 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 Battery
Long Range

(radio)
Visualisation on Power BI
Demo #6

storage
Sensor
MQTT

(internet)
Node
Azure IoT Hub
Event 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 Battery
Long 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 & Tool
http://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 sample

Simple Hello World samples: Readme.md of the SDKs repo

E2E samples : aka.ms/azureiotsamples

Get started on a specific platform: aka.ms/azureiotgetstartedguides
Start from scratch

portal.azure.com

ARM 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 website

http://edu.dycode.co.id
Or these classes…
+ + [Obj-C]
+
Custom IoT end-to-end solutions for your
startups/enterprises?
office@dycode.com | http://dycodex.com
Thanks!
Andri Yadi
Email — a at dycode dot com

twitter — @andri_yadi
www — andriyadi.me 

github — github.com/andriyadi

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