8. IoT Hub Event Hub
device-to-cloud и cloud-to-device
Масштабируемость
Возможность получения файла с
устройства
MQTT, AMQP и HTTP
Информация о состоянии устройства
Только device-to-cloud
Обработка больших объемов данных
AMQP и HTTP
Event Grid
10. 1. Создание IoT hub
2. Генерация device twin
3. Прошивка платы Arduino SSL сертификатом
4. Конфигурирование Arduino IDE, установка SDK и
написание скетча
Сценарий отправки данных в IoT hub
для Arduino с Wi-Fi или 3G модулем
11. Генерация device twin. Как это делалось раньше
Device Explorer
Кроссплатформенная утилита
iothub-explorer
22. Cниппет для получения сообщений
BEGIN_NAMESPACE(IoTSample);
DECLARE_MODEL(LightSensorDataModel,
WITH_ACTION(DuckAction, int, light)
);
END_NAMESPACE(IoTSample);
EXECUTE_COMMAND_RESULT DuckAction(LightSensorDataModel* device, int light) {
(void)printf("Duck action on.rn");
digitalWrite(2, light);
return EXECUTE_COMMAND_SUCCESS; }
23. {
"Name" : "DuckAction", "Parameters" : {"light":1}
}
Вот такой вот JSON можно отправить
Напоминаю что было в модели:
WITH_ACTION(DuckAction, int, light)
Обратите внимание на:
unsigned int minimumPollingTime = 9;
27. > Спасибо за внимание!
> Алексей Соммер
> asommer@yandex.ru
> skype: alexejsommer
Editor's Notes
Многие хоть раз да видели этот слайд. Его довольно часто добавляют в презентации =)
Несмотря на то, что Интернет Вещей близок к пику хайпа, имеется множество реальных примеров использования Azure IoT.
Если верить кривой, то плато продуктивности будет достигнуто через 5-10 лет
IoT Hub (Центр Интернет вещей) - Подключение, мониторинг и управление миллионами ресурсов IoT
PowerBI - Преобразование данных в информативные графические представления
Stream Analytics – своеобразный «процессинговый центр». Потоковая обработка данных в режиме реального времени с миллионов устройств IoT (использует язык подобный SQL)
Пример такого решения я вам продемонстрирую. Это довольно недорогое решение и может использоваться и не на корпоративном уровне.
Функциональная схема сервисов преднастроенного решения удаленного мониторинга
Это та схема, которая получается в результате развертывания IoT Suite решения.
Сервисов Azure довольно много и настроить их вручную (связать между собой) заняло бы гораздо больше времени, чем 10 минут (примерно столько разворачивается предварительно настроенное решение)
История про сотрудничество
Это схема реального проекта – это то, что получилось после настройки шаблона под свои нужды.
В сотрудничестве Dublin City University, Intel, Microsoft и ассоциация гэльского футбола
Замеры уровня шума, мониторинг ветра, оповещение о возможном наводнении, использование цифровых камер с последующим анализом в облаке перемещений толпы
Два главных сервиса, с которых все начинается и которые отвечают за коммуникацию с устройствами это IoT Hub и Event Hub
Вместе или вместо - могут использоваться вместе в одном проекте
Основные различия
Миллионы устройств в IoT Hub против 5000 в Event Hub, но миллионы событий в секунду в Event Hub
SDK для IoT Hub - библиотеки/NuGet пакеты для Event Hub (и там и там поддерживается .NET, C, Java)
Это основный различия. Кроме того IoT Hub поддерживает больше протоколов, может использовать роуты,
имеет большое количество SDK в придачу к API, может получать информацию о состоянии устройства с помощью device twin
Оба сервиса хранят сообщения до 7-ми дней
https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs
Event Grid – новый сервер направленный в первую очередь на serverless applications
Митреум под большим цирком
Что интересно так это то, что стоимость затрат на Azure довольно невысокая.
Экономия достигается за счет использования IoT hub на одно устройство и отправки данных текстовым файлом
Лайфхак немного устарел. Раньше IoT hub был бесплатен для одного девайса, а сейчас для 500 девайсов
Как правило используется Arduino из линейки IoT. WiFi Shield 101 или MKR1000 с уже установленным Wi-Fi модулем
Да, этапов много. Но эта плата которую приходится платить за безопасность и за экономию ресурсов устройства (их не так уж и много).
Arduino SDK - https://github.com/Azure/azure-iot-arduino
Кликнув на созданное устройство в Device Explorer-е можно открыть сведения об устройстве. Из них необходимо взять строку подключения – первичный ключ
Два примера. Для esp8266 based boards и samd (Atmel SAMD Based boards)
Немного о безопасности – это скриншот портала Azure с Firewall-ом, который включен по умолчанию и ограничивает доступ к базе SQL Server-а.
Для того, чтобы получить доступ, необходимо добавить IP в список разрешенных.
Этот слайд остался с прошлой презентации. Сейчас если вы подключаетесь из Visual Studio и при этом ваш адрес не внесен в список разрешенных, то появится окошко с запросом.