Intel Edison & Microsoft Azure Meetup

Post on 08-Aug-2015

96 views 2 download

transcript

Intel Edison & Microsoft Azure

Alex Belotserkovskiy {Microsoft Russia | DX | Tech Evangelist Cloud, IoT & HPC}

Специальные редакции IoT для устройств

20 лет опыта с Windows Embedded

Одна платформа для всех устройств

Как для корпоративного использования, так и для энтузиастов

С учетом текущих реалий

Редакция IoT - бесплатно

Microsoft IoTКлиентская и облачная перспективы

Для решений, требущих вычислительные ресурсы

Легко разворачивать и управлять

Оплата по факту использования

Масштабирование

Безопасность

Поддержка Windows, Mbed, Linux, iOS, Android, RTOS

Azure IoT

Microsoft Azure IoT Services

Устройства Сбор Хранение Аналитика Вывод

Event Hubs SQL Database

Machine Learning App Service

Service Bus Table/Blob Storage

Stream Analytics Power BI

External Data Sources DocumentDB HDInsight Notification

Hubs

Внешние источники Data Factory Mobile

Services

Logic Apps

{ }

Event Hub – это pub/sub service

Много устройств: > миллиона источников (HTTP/AMQP/(MQTT)

Объем данных: (1 MB ingress, 2 MB egress) = партиция

Пропускная способность: throughput units

Модель коммуникаций: Pub-sub

Безопасность: SAS, токены

Долговечность: событие живет до 30 дней

Латентность: 50ms, <10ms

Azure Service BusQueues

Topics

Event hubs

/azure-sdk-for-python/

/azure-sdk-for-php/

/azure-sdk-for-node/

/azure-sdk-for-java/

/azure-sdk-for-ruby/

HTTP(S)

https://github.com/

windowsAzure/

AMQP 1.0

AMQP 1.0

Embedded

Proton-C AMQP 1.0

Event Hub

Источники событий

Сервисы в облаке

Хранение и анализ

Своя обработка

Пользовательские интерфейсы

Пайплайн на другие сервисы

Event Hub

Stream Analytics (to SQL)SELECT System.TimeStamp as UTCDateTime, device_id as Device_Id, COUNT (*) as CountFROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTimeINTO [alertCounts]WHERE ( CAST(reading AS float) > 115.0 )GROUP BY device_id, SlidingWindow(second, 15)HAVING COUNT(*) > 1

SELECT device_id as Device_Id, reading as Reading, EventProcessedUtcTime as UTCDateTimeFROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTimeINTO [stream2sql]

Например, сообщение в очередь Service Bus на Python с Galileo

message = Message(base64.b64encode('Hello World'))sbs = ServiceBusService(service_namespace,shared_access_key_name=key_name,shared_access_key_value=key_value)sbs.send_queue_message(queue_name,message)

from azure.servicebus import ServiceBusService, Message, Queuefrom azure.storage import QueueServiceimport base64 service_namespace = '<YOURSERVICENAME>'key_name = 'MyIoTDevices'key_value = '<YOURKEY>' queue_name = 'mytestqueue'

Например, сообщение в Event Hub на Python с Edison

https://github.com/rudx/content/blob/master/IoT/python_event_hub.py

Demo Event Hub и Stream Analytics

Event HubStream Analytics

SQL Blob

Website

Excel

БрокерСбор ОтображениИсточники Анализ Хранилище

Event Hub

Хранилище

Анализ

потокаШлюз в облаке

(WebAPI)

Локальный

шлюз

Приложения

Legacy IOT (разные протоколы)

Устройства

Имеющие IP устройства (Windows/Linux)

RTOS

Search and query

Data analytics (Excel)

Web/thick client dashboards

Event Hub

Azure DBs

Azure Blob

Stream Analytics

Microsoft IoT – пример решения