SlideShare a Scribd company logo
1 of 18
Download to read offline
IoT Conf UA 2016
Стек протоколов для IoT.
Применение SNMP в IoT проектах
Александр Коваленко
kovalenko.md@gmail.com
Тезисы
• Открытые стандарты в мире IoT.
• Обзор стеков протоколов для IoT
• (MQTT, CoAP, SNMP).
• Применение SNMP в IoT проектах.
• Описание свойств IoT-устройства на примере термостата
• Демонстрация работы термостата.
Уровневые модели и место IoT протоколов в стеке
Проблема стандартизации. Новый вендор – новый протокол.
Производители IoT решений используют проприетарные
протоколы, что приводит к следующим проблемам:
• Нет унифицированного стека протоколов
• Проблемы безопасности
• Нет M2M взаимодействия (machine-to-machine)
• Сложность интеграции в единую экосистему
Решение – использование открытых
протоколов и стандартизация
Обзор стеков протоколов для IoT
http://embedded-computing.com/articles/internet-things-requirements-protocols/
MQTT (Message Queue Telemetry Transport)
Облегченный протокол для М2М взаимодействия по принципу
publisher/subscriber
Данные передаются по TCP через центральный узел, называемый Broker.
Ориентирован на передачу сообщений.
Каждое сообщение публикуется на адрес (Topic)
Каждый клиент, который подписывается на topic, получает все сообщения,
отправленные в этот topic.
Broker
Client B
Client C
subscribe
“temperature”
subscribe
“temperature”
Client A
Broker
Client B
Client C
“temperature”= “22.5”
Client A
publish
“temperature”“22.5” “temperature”= “22.5”
Topic может иметь иерархическую структуру, поддерживает wildcard-маски:
kitchen/oven/temperature, kitchen/+/temperature
https://eclipse.org/community/eclipse_newsletter/2014/february/article2.php
CoAP (Constrained Application Protocol). Описание
Протокол разрабатывался специально для М2М и IoT приложений
Оформлен в виде стандарта RFC 7252 в июне 2014 года
https://tools.ietf.org/html/rfc7252
Имплементирует REST модель доступа к ресурсам через URL
Работает поверх UDP (port 5683)
Реализованы методы GET, PUT, POST, DELETE
Формат сообщения
CoAP Discovery
Безопасность достигается использованием DTLS (PSK, Raw Public Key, Cert.)
Поддерживаются листы доступа ACL для ограничения доступа к
определенным ресурсам
CoAP (Constrained Application Protocol) . Реализация
CoAP взят за основу в проекте IoTivity,
разрабатываемом Open Interconnect
Consortium .
23 декабря 2015 года консорциум опубликовал
спецификацию OIC v.1.0, описывающую в том
числе и унифицированный формат
именования ресурсов IoT устройства.
http://openinterconnect.org/developer-resources/specs/
CoAP (Constrained Application Protocol) . Реализация
Ресурсы согласно спецификации OIC унифицированы и имеют
иерархическую структуру
URI Resource type Interaction
/oic/res Default Discovery
/oic/p Platform Discovery
/oic/d Device Discovery
/oic/rts Resource Type Discovery
/oic/ifs Interface Discovery
/oic/con Configuration Device Management
/oic/mon Monitoring Device Management
/oic/mnt Maintenance Device Management
CoAP (Constrained Application Protocol) . Реализация
Пример обмена сообщениями
CoAP (Constrained Application Protocol) . Прототип.
Dev. board based on PIC18F67J60
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F67J60
http://megadevices.com.ua/pic18f67j60-board/
8 bit microcontroller with integrated Ethernet
128 kB ROM, использовано 28,5 kB
3,8 kB RAM, использовано 1,2 kB
CPU speed – 10,5 MIPS
Реализованы методы Discovery и GET
К прототипу был подключен датчик DS18B20,
возвращающий температуру
Для работы с платой использовался плагин для
Firefox – Copper (Cu)
https://addons.mozilla.org/ru/firefox/addon/copper-270430/
SNMP (Simple Network Management Protocol) . Описание.
Протокол разрабатывался для контроля и управления сетевыми
устройствами
Оформлен в виде стандарта RFC 1157 в мае 1990 года, позже дополнялся
https://tools.ietf.org/html/rfc1157
На контролируемом устройстве запускается SNMP-Agent
Ресурсы описываются в иерархическом дереве MIB (Management
Information Base)
Работает поверх UDP (port 161, 162)
Базовые методы GET, SET, WALK, TRAP
SNMP (Simple Network Management Protocol) . MIB.
Структура MIB (Management Information Base)
http://www.networkmanagementsoftware.com/snmp-tutorial-part-2-rounding-out-the-basics/
Современная структура содержит две ветки объектов:
• 1.3.6.1.2 – mgmt – общая для всех SNMP-enabled устройств
• 1.3.6.1.4 – private – определяется производителем по выделенному Private
Enterprise Number, PEN для каждого производителя.
SNMP (Simple Network Management Protocol) . MIB.
Базовые свойства ветки mgmt (1.3.6.1.2):
OID Name Type/Permission Description
1.3.6.1.2.1.1.1 sysDescr OctetString/rw Описание устройства
1.3.6.1.2.1.1.2 sysObjectID OID/ro Идентификатор устройства
1.3.6.1.2.1.1.3 sysUpTime TimeTicks/ro Время работы
1.3.6.1.2.1.1.4 sysContact OctetString/rw Контакты администратора
1.3.6.1.2.1.1.5 sysName OctetString/rw Имя устройства
1.3.6.1.2.1.1.6 sysLocation OctetString/rw Расположение
Ветка производителя private (1.3.6.1.4) содержит отдельную ветку с кодом
Private Enterprise Number для каждого отдельного производителя:
http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
9 – ciscoSystems (.1.3.6.1.4.1.9)
63 - Apple Computer, Inc. (.1.3.6.1.4.1.63)
171 – D-Link Systems, Inc. (.1.3.6.1.4.1.171)
236 - Samsung Electronics Co., LTD. (.1.3.6.1.4.1.236)
42908 - Megadevices (.1.3.6.1.4.1.42908)
Да, да, зарегистрировать свой Enterprise Number можно совершенно
бесплатно через форму http://pen.iana.org/pen/PenApplication.page
После непродолжительной переписки с регистратором получим результат.
42908
Megadevices
Oleksandr Kovalenko
kovalenko.md&gmail.com
SNMP (Simple Network Management Protocol) . Реализация.
После получения PEN-кода, можно описывать структуру объектов своего
устройства. Пример для IP Thermostat
http://megadevices.com.ua/ip-thermostat/
OID Name Type/Perm. Description Default Value
1.3.6.1.4.1.42908.2.109.1.2 mdMask OctetString/rw Маска сети 255.255.255.0
1.3.6.1.4.1.42908.2.109.1.3 mdGateway OctetString/rw Адрес шлюза 192.168.1.1
1.3.6.1.4.1.42908.2.109.1.4 mdHostIP OctetString/rw Адрес станции NMS 192.168.1.1
1.3.6.1.4.1.42908.2.109.1.5 mdCommunity OctetString/rw Community string megadevices
1.3.6.1.4.1.42908.2.109.1.6 mdUseTrap Integer/rw Разрешить отправку SNMP-Trap 0 - нет
1.3.6.1.4.1.42908.2.109.1.7 mdUseDHCP Integer/rw ИспользоватьDHCP 1 - да
1.3.6.1.4.1.42908.2.109.1.8 mdLeaseStatus Integer/ro Время аренды адреса
1.3.6.1.4.1.42908.2.109.1.9 mdUseSecond Integer/rw Разрешить отправку данных 0 - нет
1.3.6.1.4.1.42908.2.109.1.10 mdSecondIP OctetString/rw Адрес narodmon.ru 94.19.113.221
1.3.6.1.4.1.42908.2.109.1.11 mdSecondInterval Integer/rw Интервал отправки, мин 3
1.3.6.1.4.1.42908.2.109.1.12 mdSecondPort Gauge/rw Порт narodmon.ru 8283
1.3.6.1.4.1.42908.2.109.2.1 mdOut1Set Integer/rw Управление/состояние реле 1 (пример)
1.3.6.1.4.1.42908.2.109.3.1 mdTempStatus OctetString/rw Значение температуры +27,5 (пример)
1.3.6.1.4.1.42908.2.109.3.2 mdTreshold1 OctetString/rw Первый порог температуры 10
1.3.6.1.4.1.42908.2.109.3.3 mdTreshold2 OctetString/rw Второй порог температуры 30
1.3.6.1.4.1.42908.2.109.4.1 mdSensorStatus OctetString/rw Состояние входов 1,1,1 (пример)
SNMP (Simple Network Management Protocol) . Стандартизация.
SNMP для IoT - включение в стандарт отдельной ветки для свойств IoT
устройств.
Ветка 1.3.6.1.6 для Internet of Things. Позволяющая описывать один и тот
же объект в устройствах разных производителей :
1.3.6.1.6.1.xxx.nn.y.z, где
xxx – superclass: 1 – smarthome, 2 – smartcar, 3 – smartcity etc.
nn – class of devices: 1 – lamp, 2 – thermostat, 3 – conditioner etc.
y,z – parameters.
Пример: snmp set для ID 1.3.6.1.6.1.1.1.1.0 со значением 60 установит
яркость лампы в 60%. Значение 0 выключит лампу.
ID для всех ламп должен быть одинаковым и не зависящим от
производителя лампы.
SNMP (Simple Network Management Protocol) . Стандартизация.
Процесс стандартизации может выглядеть так:
1. Идея. IoT RGB лампа
2. Проверка ветки IoT (1.3.6.1.6), свойство color отсутствует.
3. Производство лампы, использование приватной ветки 42908-Megadevices
4. Анонс, реклама IoT RGB лампы от Megadevices
5. Подача заявки на стандартизацию нового свойства color
6. Фаза поддержки, предоставление MIB для разработчиков приложений
7. Получение подтверждения. Новое свойство включено в IoT ветку
8. Обновление прошивки в своих устройствах для нового свойства
9. Другие производители используют стандартный идентификатор в своих лампах.
Object ID Name Description
1.3.6.1.6.1.1.1.1.0 brightness 0 – off, 100 – max brightness
Object ID Name Description
1.3.6.1.4.1.42908.5.3.1 color Define color of light
Object ID Name Description
1.3.6.1.6.1.1.1.1.0 brightness 0 – off, 100 – max brightness
1.3.6.1.6.1.1.1.2.0 color Define color of light
Полезные ссылки
Сайт конференции IoT Conf UA
http://conf.iotua.org/
MQTT Specification v.3.1
http://mqtt.org/2010/08/mqtt-v3-1-specification-available
Open Interconnect Consortium Specification
http://openinterconnect.org/developer-resources/specs/
Проект IoTivity
https://www.iotivity.org/
Сайт регистратора IANA (Internet Assigned Numbers Authority)
http://www.iana.org
Megadevices. Mega-устройства на micro-контроллерах
http://megadevices.com.ua/
https://www.facebook.com/megadevices/
Народный мониторинг.
Сервис для визуализации данных с IoT устройств
http://narodmon.ru/
Just for fun – IT Museum.
Музей ретро компьютеров, гаджетов и игровых приставок
https://www.instagram.com/itmuseum/
https://www.facebook.com/itmuseum/

More Related Content

What's hot

SoC, Ethernet testers
SoC, Ethernet testersSoC, Ethernet testers
SoC, Ethernet testerseucariot
 
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoCLinkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoCeucariot
 
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)Andrey Klyuchka
 
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...HighLoad++ 2018 Высоконагруженная распределенная система управления современн...
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...Vadim Podolniy
 
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?S-Terra CSP
 
S terra-presentations new
S terra-presentations newS terra-presentations new
S terra-presentations newAndrey Avdeev
 
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...Expolink
 
Алексей Лукацкий (Cisco) - Безопасность внутренней сети
Алексей Лукацкий (Cisco) - Безопасность внутренней сетиАлексей Лукацкий (Cisco) - Безопасность внутренней сети
Алексей Лукацкий (Cisco) - Безопасность внутренней сетиExpolink
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Cisco Russia
 

What's hot (9)

SoC, Ethernet testers
SoC, Ethernet testersSoC, Ethernet testers
SoC, Ethernet testers
 
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoCLinkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
 
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
Cisco Connect Almaty 2014 - Security Solutions for Data Centers (russian)
 
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...HighLoad++ 2018 Высоконагруженная распределенная система управления современн...
HighLoad++ 2018 Высоконагруженная распределенная система управления современн...
 
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
 
S terra-presentations new
S terra-presentations newS terra-presentations new
S terra-presentations new
 
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...
ФГУП НПП "Гамма". Денис Микрюков. "Система обнаружения вторжений в автоматизи...
 
Алексей Лукацкий (Cisco) - Безопасность внутренней сети
Алексей Лукацкий (Cisco) - Безопасность внутренней сетиАлексей Лукацкий (Cisco) - Безопасность внутренней сети
Алексей Лукацкий (Cisco) - Безопасность внутренней сети
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
 

Viewers also liked

Leantegra #iotconfua
Leantegra #iotconfuaLeantegra #iotconfua
Leantegra #iotconfuaAndy Shutka
 
Global logic iot expertise #iotconfua
Global logic iot expertise #iotconfuaGlobal logic iot expertise #iotconfua
Global logic iot expertise #iotconfuaAndy Shutka
 
Cyber Bionics #iotconfua
Cyber Bionics #iotconfuaCyber Bionics #iotconfua
Cyber Bionics #iotconfuaAndy Shutka
 
Ibeacon in real life #iotconfua
Ibeacon in real life #iotconfuaIbeacon in real life #iotconfua
Ibeacon in real life #iotconfuaAndy Shutka
 
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfua
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfuaIEEE Internet of Things (IoT) Initiative in Ukraine #iotconfua
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfuaAndy Shutka
 
M2M to IoT - standartization_and_security #iotconfua
M2M to IoT - standartization_and_security #iotconfuaM2M to IoT - standartization_and_security #iotconfua
M2M to IoT - standartization_and_security #iotconfuaAndy Shutka
 
IoT from Intersog #iotconfua
IoT from Intersog #iotconfuaIoT from Intersog #iotconfua
IoT from Intersog #iotconfuaAndy Shutka
 
How to Organise Massproduction in Chine #iotconfua
How to Organise Massproduction in Chine #iotconfuaHow to Organise Massproduction in Chine #iotconfua
How to Organise Massproduction in Chine #iotconfuaAndy Shutka
 
Bitlex #iotconfua
Bitlex #iotconfuaBitlex #iotconfua
Bitlex #iotconfuaAndy Shutka
 
IoT security-arrow-roadshow #iotconfua
IoT security-arrow-roadshow #iotconfuaIoT security-arrow-roadshow #iotconfua
IoT security-arrow-roadshow #iotconfuaAndy Shutka
 
SmartHome: от прототипа к продукту #iotconfua
SmartHome: от прототипа к продукту #iotconfuaSmartHome: от прототипа к продукту #iotconfua
SmartHome: от прототипа к продукту #iotconfuaAndy Shutka
 
High five iot #iotconfua
High five iot #iotconfuaHigh five iot #iotconfua
High five iot #iotconfuaAndy Shutka
 
IoT for Agro #iotconfua
IoT for Agro #iotconfuaIoT for Agro #iotconfua
IoT for Agro #iotconfuaAndy Shutka
 
Home Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaHome Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaAndy Shutka
 
BigData in IoT #iotconfua
BigData in IoT #iotconfuaBigData in IoT #iotconfua
BigData in IoT #iotconfuaAndy Shutka
 
Blynk.IoT #iotconfua
Blynk.IoT #iotconfuaBlynk.IoT #iotconfua
Blynk.IoT #iotconfuaAndy Shutka
 

Viewers also liked (17)

Leantegra #iotconfua
Leantegra #iotconfuaLeantegra #iotconfua
Leantegra #iotconfua
 
Global logic iot expertise #iotconfua
Global logic iot expertise #iotconfuaGlobal logic iot expertise #iotconfua
Global logic iot expertise #iotconfua
 
Cyber Bionics #iotconfua
Cyber Bionics #iotconfuaCyber Bionics #iotconfua
Cyber Bionics #iotconfua
 
Ibeacon in real life #iotconfua
Ibeacon in real life #iotconfuaIbeacon in real life #iotconfua
Ibeacon in real life #iotconfua
 
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfua
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfuaIEEE Internet of Things (IoT) Initiative in Ukraine #iotconfua
IEEE Internet of Things (IoT) Initiative in Ukraine #iotconfua
 
#iotconfua
#iotconfua#iotconfua
#iotconfua
 
M2M to IoT - standartization_and_security #iotconfua
M2M to IoT - standartization_and_security #iotconfuaM2M to IoT - standartization_and_security #iotconfua
M2M to IoT - standartization_and_security #iotconfua
 
IoT from Intersog #iotconfua
IoT from Intersog #iotconfuaIoT from Intersog #iotconfua
IoT from Intersog #iotconfua
 
How to Organise Massproduction in Chine #iotconfua
How to Organise Massproduction in Chine #iotconfuaHow to Organise Massproduction in Chine #iotconfua
How to Organise Massproduction in Chine #iotconfua
 
Bitlex #iotconfua
Bitlex #iotconfuaBitlex #iotconfua
Bitlex #iotconfua
 
IoT security-arrow-roadshow #iotconfua
IoT security-arrow-roadshow #iotconfuaIoT security-arrow-roadshow #iotconfua
IoT security-arrow-roadshow #iotconfua
 
SmartHome: от прототипа к продукту #iotconfua
SmartHome: от прототипа к продукту #iotconfuaSmartHome: от прототипа к продукту #iotconfua
SmartHome: от прототипа к продукту #iotconfua
 
High five iot #iotconfua
High five iot #iotconfuaHigh five iot #iotconfua
High five iot #iotconfua
 
IoT for Agro #iotconfua
IoT for Agro #iotconfuaIoT for Agro #iotconfua
IoT for Agro #iotconfua
 
Home Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaHome Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfua
 
BigData in IoT #iotconfua
BigData in IoT #iotconfuaBigData in IoT #iotconfua
BigData in IoT #iotconfua
 
Blynk.IoT #iotconfua
Blynk.IoT #iotconfuaBlynk.IoT #iotconfua
Blynk.IoT #iotconfua
 

Similar to IoT Protocols #iotconfua

Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Cleandex, Research and Information Agency
 
Анатомия Интернета вещей
Анатомия Интернета вещейАнатомия Интернета вещей
Анатомия Интернета вещейTibbo
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеCisco Russia
 
прикладные проекты на c#
прикладные проекты на c#прикладные проекты на c#
прикладные проекты на c#Olexander Kovalenko
 
Архитектура технологических сетей и индустриальные решения Cisco
Архитектура технологических сетей и индустриальные решения Cisco Архитектура технологических сетей и индустриальные решения Cisco
Архитектура технологических сетей и индустриальные решения Cisco Cisco Russia
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Cisco Russia
 
Варианты дизайна и лучшие практики создания безопасного ЦОД
Варианты дизайна и лучшие практики создания безопасного ЦОДВарианты дизайна и лучшие практики создания безопасного ЦОД
Варианты дизайна и лучшие практики создания безопасного ЦОДCisco Russia
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
Элементы 4.0 в АСУ ТП металлургии
Элементы 4.0 в АСУ ТП металлургииЭлементы 4.0 в АСУ ТП металлургии
Элементы 4.0 в АСУ ТП металлургииAPPAU_Ukraine
 
Профстандарт "Сетевой администратор ИКТ систем"
Профстандарт "Сетевой администратор ИКТ систем"Профстандарт "Сетевой администратор ИКТ систем"
Профстандарт "Сетевой администратор ИКТ систем"Денис Ефремов
 
Подход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterpriseПодход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterprisePositive Hack Days
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco Russia
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 SmirnovIosif Itkin
 
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...Kaspersky
 

Similar to IoT Protocols #iotconfua (20)

Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
Дмитрий Новицкий (ОАО "НТЦ ФСК ЕЭС", ИПУ РАН). Разработка эталонной архитекту...
 
Axxon Intellect Short
Axxon Intellect Short Axxon Intellect Short
Axxon Intellect Short
 
Анатомия Интернета вещей
Анатомия Интернета вещейАнатомия Интернета вещей
Анатомия Интернета вещей
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применение
 
прикладные проекты на c#
прикладные проекты на c#прикладные проекты на c#
прикладные проекты на c#
 
Архитектура технологических сетей и индустриальные решения Cisco
Архитектура технологических сетей и индустриальные решения Cisco Архитектура технологических сетей и индустриальные решения Cisco
Архитектура технологических сетей и индустриальные решения Cisco
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
 
истории успеха. май 2013
истории успеха. май 2013истории успеха. май 2013
истории успеха. май 2013
 
презентация линтех
презентация линтехпрезентация линтех
презентация линтех
 
Варианты дизайна и лучшие практики создания безопасного ЦОД
Варианты дизайна и лучшие практики создания безопасного ЦОДВарианты дизайна и лучшие практики создания безопасного ЦОД
Варианты дизайна и лучшие практики создания безопасного ЦОД
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Элементы 4.0 в АСУ ТП металлургии
Элементы 4.0 в АСУ ТП металлургииЭлементы 4.0 в АСУ ТП металлургии
Элементы 4.0 в АСУ ТП металлургии
 
Профстандарт "Сетевой администратор ИКТ систем"
Профстандарт "Сетевой администратор ИКТ систем"Профстандарт "Сетевой администратор ИКТ систем"
Профстандарт "Сетевой администратор ИКТ систем"
 
Подход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterpriseПодход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в Enterprise
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
 
Доклад НИОКР Шеметов
Доклад НИОКР ШеметовДоклад НИОКР Шеметов
Доклад НИОКР Шеметов
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 Smirnov
 
Викрон, Роман Жуков
Викрон, Роман ЖуковВикрон, Роман Жуков
Викрон, Роман Жуков
 
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...
Александр Гутин. Процессоры Baikal — платформа безопасных отечественных ИТ-ре...
 

IoT Protocols #iotconfua

  • 1. IoT Conf UA 2016 Стек протоколов для IoT. Применение SNMP в IoT проектах Александр Коваленко kovalenko.md@gmail.com
  • 2. Тезисы • Открытые стандарты в мире IoT. • Обзор стеков протоколов для IoT • (MQTT, CoAP, SNMP). • Применение SNMP в IoT проектах. • Описание свойств IoT-устройства на примере термостата • Демонстрация работы термостата.
  • 3. Уровневые модели и место IoT протоколов в стеке
  • 4. Проблема стандартизации. Новый вендор – новый протокол. Производители IoT решений используют проприетарные протоколы, что приводит к следующим проблемам: • Нет унифицированного стека протоколов • Проблемы безопасности • Нет M2M взаимодействия (machine-to-machine) • Сложность интеграции в единую экосистему Решение – использование открытых протоколов и стандартизация
  • 5. Обзор стеков протоколов для IoT http://embedded-computing.com/articles/internet-things-requirements-protocols/
  • 6. MQTT (Message Queue Telemetry Transport) Облегченный протокол для М2М взаимодействия по принципу publisher/subscriber Данные передаются по TCP через центральный узел, называемый Broker. Ориентирован на передачу сообщений. Каждое сообщение публикуется на адрес (Topic) Каждый клиент, который подписывается на topic, получает все сообщения, отправленные в этот topic. Broker Client B Client C subscribe “temperature” subscribe “temperature” Client A Broker Client B Client C “temperature”= “22.5” Client A publish “temperature”“22.5” “temperature”= “22.5” Topic может иметь иерархическую структуру, поддерживает wildcard-маски: kitchen/oven/temperature, kitchen/+/temperature https://eclipse.org/community/eclipse_newsletter/2014/february/article2.php
  • 7. CoAP (Constrained Application Protocol). Описание Протокол разрабатывался специально для М2М и IoT приложений Оформлен в виде стандарта RFC 7252 в июне 2014 года https://tools.ietf.org/html/rfc7252 Имплементирует REST модель доступа к ресурсам через URL Работает поверх UDP (port 5683) Реализованы методы GET, PUT, POST, DELETE Формат сообщения CoAP Discovery Безопасность достигается использованием DTLS (PSK, Raw Public Key, Cert.) Поддерживаются листы доступа ACL для ограничения доступа к определенным ресурсам
  • 8. CoAP (Constrained Application Protocol) . Реализация CoAP взят за основу в проекте IoTivity, разрабатываемом Open Interconnect Consortium . 23 декабря 2015 года консорциум опубликовал спецификацию OIC v.1.0, описывающую в том числе и унифицированный формат именования ресурсов IoT устройства. http://openinterconnect.org/developer-resources/specs/
  • 9. CoAP (Constrained Application Protocol) . Реализация Ресурсы согласно спецификации OIC унифицированы и имеют иерархическую структуру URI Resource type Interaction /oic/res Default Discovery /oic/p Platform Discovery /oic/d Device Discovery /oic/rts Resource Type Discovery /oic/ifs Interface Discovery /oic/con Configuration Device Management /oic/mon Monitoring Device Management /oic/mnt Maintenance Device Management
  • 10. CoAP (Constrained Application Protocol) . Реализация Пример обмена сообщениями
  • 11. CoAP (Constrained Application Protocol) . Прототип. Dev. board based on PIC18F67J60 http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F67J60 http://megadevices.com.ua/pic18f67j60-board/ 8 bit microcontroller with integrated Ethernet 128 kB ROM, использовано 28,5 kB 3,8 kB RAM, использовано 1,2 kB CPU speed – 10,5 MIPS Реализованы методы Discovery и GET К прототипу был подключен датчик DS18B20, возвращающий температуру Для работы с платой использовался плагин для Firefox – Copper (Cu) https://addons.mozilla.org/ru/firefox/addon/copper-270430/
  • 12. SNMP (Simple Network Management Protocol) . Описание. Протокол разрабатывался для контроля и управления сетевыми устройствами Оформлен в виде стандарта RFC 1157 в мае 1990 года, позже дополнялся https://tools.ietf.org/html/rfc1157 На контролируемом устройстве запускается SNMP-Agent Ресурсы описываются в иерархическом дереве MIB (Management Information Base) Работает поверх UDP (port 161, 162) Базовые методы GET, SET, WALK, TRAP
  • 13. SNMP (Simple Network Management Protocol) . MIB. Структура MIB (Management Information Base) http://www.networkmanagementsoftware.com/snmp-tutorial-part-2-rounding-out-the-basics/ Современная структура содержит две ветки объектов: • 1.3.6.1.2 – mgmt – общая для всех SNMP-enabled устройств • 1.3.6.1.4 – private – определяется производителем по выделенному Private Enterprise Number, PEN для каждого производителя.
  • 14. SNMP (Simple Network Management Protocol) . MIB. Базовые свойства ветки mgmt (1.3.6.1.2): OID Name Type/Permission Description 1.3.6.1.2.1.1.1 sysDescr OctetString/rw Описание устройства 1.3.6.1.2.1.1.2 sysObjectID OID/ro Идентификатор устройства 1.3.6.1.2.1.1.3 sysUpTime TimeTicks/ro Время работы 1.3.6.1.2.1.1.4 sysContact OctetString/rw Контакты администратора 1.3.6.1.2.1.1.5 sysName OctetString/rw Имя устройства 1.3.6.1.2.1.1.6 sysLocation OctetString/rw Расположение Ветка производителя private (1.3.6.1.4) содержит отдельную ветку с кодом Private Enterprise Number для каждого отдельного производителя: http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers 9 – ciscoSystems (.1.3.6.1.4.1.9) 63 - Apple Computer, Inc. (.1.3.6.1.4.1.63) 171 – D-Link Systems, Inc. (.1.3.6.1.4.1.171) 236 - Samsung Electronics Co., LTD. (.1.3.6.1.4.1.236) 42908 - Megadevices (.1.3.6.1.4.1.42908) Да, да, зарегистрировать свой Enterprise Number можно совершенно бесплатно через форму http://pen.iana.org/pen/PenApplication.page После непродолжительной переписки с регистратором получим результат. 42908 Megadevices Oleksandr Kovalenko kovalenko.md&gmail.com
  • 15. SNMP (Simple Network Management Protocol) . Реализация. После получения PEN-кода, можно описывать структуру объектов своего устройства. Пример для IP Thermostat http://megadevices.com.ua/ip-thermostat/ OID Name Type/Perm. Description Default Value 1.3.6.1.4.1.42908.2.109.1.2 mdMask OctetString/rw Маска сети 255.255.255.0 1.3.6.1.4.1.42908.2.109.1.3 mdGateway OctetString/rw Адрес шлюза 192.168.1.1 1.3.6.1.4.1.42908.2.109.1.4 mdHostIP OctetString/rw Адрес станции NMS 192.168.1.1 1.3.6.1.4.1.42908.2.109.1.5 mdCommunity OctetString/rw Community string megadevices 1.3.6.1.4.1.42908.2.109.1.6 mdUseTrap Integer/rw Разрешить отправку SNMP-Trap 0 - нет 1.3.6.1.4.1.42908.2.109.1.7 mdUseDHCP Integer/rw ИспользоватьDHCP 1 - да 1.3.6.1.4.1.42908.2.109.1.8 mdLeaseStatus Integer/ro Время аренды адреса 1.3.6.1.4.1.42908.2.109.1.9 mdUseSecond Integer/rw Разрешить отправку данных 0 - нет 1.3.6.1.4.1.42908.2.109.1.10 mdSecondIP OctetString/rw Адрес narodmon.ru 94.19.113.221 1.3.6.1.4.1.42908.2.109.1.11 mdSecondInterval Integer/rw Интервал отправки, мин 3 1.3.6.1.4.1.42908.2.109.1.12 mdSecondPort Gauge/rw Порт narodmon.ru 8283 1.3.6.1.4.1.42908.2.109.2.1 mdOut1Set Integer/rw Управление/состояние реле 1 (пример) 1.3.6.1.4.1.42908.2.109.3.1 mdTempStatus OctetString/rw Значение температуры +27,5 (пример) 1.3.6.1.4.1.42908.2.109.3.2 mdTreshold1 OctetString/rw Первый порог температуры 10 1.3.6.1.4.1.42908.2.109.3.3 mdTreshold2 OctetString/rw Второй порог температуры 30 1.3.6.1.4.1.42908.2.109.4.1 mdSensorStatus OctetString/rw Состояние входов 1,1,1 (пример)
  • 16. SNMP (Simple Network Management Protocol) . Стандартизация. SNMP для IoT - включение в стандарт отдельной ветки для свойств IoT устройств. Ветка 1.3.6.1.6 для Internet of Things. Позволяющая описывать один и тот же объект в устройствах разных производителей : 1.3.6.1.6.1.xxx.nn.y.z, где xxx – superclass: 1 – smarthome, 2 – smartcar, 3 – smartcity etc. nn – class of devices: 1 – lamp, 2 – thermostat, 3 – conditioner etc. y,z – parameters. Пример: snmp set для ID 1.3.6.1.6.1.1.1.1.0 со значением 60 установит яркость лампы в 60%. Значение 0 выключит лампу. ID для всех ламп должен быть одинаковым и не зависящим от производителя лампы.
  • 17. SNMP (Simple Network Management Protocol) . Стандартизация. Процесс стандартизации может выглядеть так: 1. Идея. IoT RGB лампа 2. Проверка ветки IoT (1.3.6.1.6), свойство color отсутствует. 3. Производство лампы, использование приватной ветки 42908-Megadevices 4. Анонс, реклама IoT RGB лампы от Megadevices 5. Подача заявки на стандартизацию нового свойства color 6. Фаза поддержки, предоставление MIB для разработчиков приложений 7. Получение подтверждения. Новое свойство включено в IoT ветку 8. Обновление прошивки в своих устройствах для нового свойства 9. Другие производители используют стандартный идентификатор в своих лампах. Object ID Name Description 1.3.6.1.6.1.1.1.1.0 brightness 0 – off, 100 – max brightness Object ID Name Description 1.3.6.1.4.1.42908.5.3.1 color Define color of light Object ID Name Description 1.3.6.1.6.1.1.1.1.0 brightness 0 – off, 100 – max brightness 1.3.6.1.6.1.1.1.2.0 color Define color of light
  • 18. Полезные ссылки Сайт конференции IoT Conf UA http://conf.iotua.org/ MQTT Specification v.3.1 http://mqtt.org/2010/08/mqtt-v3-1-specification-available Open Interconnect Consortium Specification http://openinterconnect.org/developer-resources/specs/ Проект IoTivity https://www.iotivity.org/ Сайт регистратора IANA (Internet Assigned Numbers Authority) http://www.iana.org Megadevices. Mega-устройства на micro-контроллерах http://megadevices.com.ua/ https://www.facebook.com/megadevices/ Народный мониторинг. Сервис для визуализации данных с IoT устройств http://narodmon.ru/ Just for fun – IT Museum. Музей ретро компьютеров, гаджетов и игровых приставок https://www.instagram.com/itmuseum/ https://www.facebook.com/itmuseum/