IoT Solution
Design based
on Azure and AWS
Vatalev Mikhail
Software Developer
2
Agenda 1. Show one IoT-project and two cloud
implementation on Azure and AWS
2. Overview and compare and of used cloud
services
3. Show problems of current version
4. Talk about improvements
5. Q & A
3
WHY?
4
Why? ❏ Explore opportunities of IoT cloud
platforms
❏ Get practical experience for future projects
❏ Azure & AWS at now most popular & rich
IoT-cloud platforms
5
120+ IoT
Cloud
Platforms
6
Prehistory
77
8
Setting goals
9
Check list ❏ Prepare STM32 Nucleo with MEMS and
send telemetry to cloud
❏ Preprocess and store data in cloud
❏ Show data from cloud on web dashboard
and mobile app
❏ Also fetch meteo data from
OpenWeatherMap and show on UI’s
10
STM32F401RE
Core is ARM® 32-bit Cortex® -M4
CPU with FPU, ART Accelerator™,
frequency up to 84 MHz, memory
protection unit
up to 512 Kbytes of Flash memory
up to 96 Kbytes of SRAM
Power consumption on run
146 μA/MHz
11
X-NUCLEO-IDW01M1
low power IEEE 802.11 b/g/n
transceiver
Support of TLS/SSL
Compatible with STM32 Nucleo
boards
12
X-NUCLEO-IKSO1A1
LSM6DS0: MEMS 3D accelerometer (±2/±4/±8 g) +
3D gyroscope (±245/±500/±2000 dps)
LIS3MDL: MEMS 3D magnetometer (±4/ ±8/ ±12/
16 gauss)
LPS25HB*: MEMS pressure sensor, 260-1260 hPa
absolute digital output barometer
HTS221: capacitive digital relative humidity and
temperature
Compatible with STM32 Nucleo boards
13
14
Decomposition and
implementation
15
TCU
IoT
Endpoint
Stream
processing
Storage
Notify API History API
Mobile App
Web
dashboard
Backend
Open
Weather
Map API
Scheduler
16
TCU + IoT
Endpoint
Azure IoT Hub AWS IoT
STM32
Nucleo
IoT Hub
Stream
processing
17
TCU + IoT
Endpoint
Azure IoT Hub AWS IoT
Supported
protocols
MQTT (over
Websockets), HTTP,
AMQP
MQTT (over
Websockets), HTTP,
AMQP
Device SDK
Embedded C, Python,
Node.js, Java, .NET
Arduino Yún SDK,
Embedded C, Java,
JavaScript, Python
Auth
(Security)
Connection strings,
X.509 certificates
IAM, Amazon
Cognito identities,
X.509 certificates
Free Plan
8K free messages per
day, 0.5Кb message
meter size
250K free messages
per month
18
Stream
Preprocessing
Azure Stream Analytics Amazon Kinesis
IoT Hub
Stream
processing
Storage
19
SQL != SQL
Streaming Query
Language
Structured Query
Language
Stream
Preprocessing:
Azure
20
21
Storage
Azure DocumentDB Amazon DynamoDB
Storage
Stream
processing
Backend
22
Storage
Azure DocumentDB Amazon DynamoDB
Supported
protocols
Native support for
MongoDB wire protocol
RESTful HTTP API
RESTful HTTP API
Languages
.Net, Java, JavaScript,
Python
.Net, ColdFusion,
Erlang, Groovy, Java,
JavaScript, Perl, PHP,
Python, Ruby
Scripts
Triggers, Stored
Procedures
Triggers
Size According Plan
Unlimited
(Pay-as-use)
23
Backend
Azure Functions AWS Lambdas
Web
dashboard
History API
Mobile App
Backend
Scheduler
Open
Weather
Map API
Function: Azure
24
25
Backend:
Triggers
MS Azure AWS
HTTP
Built-in Azure Functions
(CORS)
Amazon API Gateway
Schedule
Built-in Azure Functions
(crontab supported)
Amazon Cloud Watch
26
Backend:
Real-time updates
Azure IoT Hub AWS IoTApp Service Amazon Cognito
Web
dashboard
Notify API Mobile App
27
Result: Azure
28
Result: AWS
29Web UI: Amazon
30Web UI: Azure
31
Mobile App
31
32
Issues
33
❏ Handle device telemetry streams
❏ Back-end and UI not allow multiple
sensors
❏ Azure: Web App for real-time updates is
bottleneck
Issues
34
Improvements
35
❏ Сloud-to-device communications
❏ Add GPS sensor
❏ Azure: from Functions to Fabric
Improvements
36
BOTH ARE GOOD
Look around
37
Key factors ❏ Partnership
❏ Pricing
❏ Developer tools integration
❏ Something else (Azure Service
Fabric)
38
References 1. YouTube - Nucleo IoT Hackathon 2016
2. Postscapes - IoT Cloud Platform Landscape
3. STM32F401RE - Development Nucleo Platform
4. X-NUCLEO-IKS01A1 - Accelerometer, Gyroscope, Humidity,
Magnetometer, Pressure, Temperature Sensors
5. X-NUCLEO-IDW01M1 - WiFi RF Nucleo Platform Evaluation
Expansion Board
6. GitHub - AWS Nucleo Demo Sources
7. Demo - AWS Web-dashboard
8. GitHub - Azure Nucleo Demo Sources
9. Demo - Azure Web-dashboard
39
Thanks! Any Questions ?
We can contact via
Skype: live:mvataleu
Mail: mvataleu@klika-tech.com

IoT Solution Design based on Azure and AWS