Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ячеистые сети 6LOWPAN
на основе Contiki OS и
CC1310/СС2650: теория и
практика
Зайцев Владислав(vvzvlad), Unwired Devices
v...
Что такое умный дом?
• Радио-система, не требующая прокладки проводов и ремонта
• Беспроводные выключатели на батарейках
•...
Что такое автоматизированная система
управления наружным освещением (АСУНО)?
• Регулировка яркости каждого фонаря
• Распис...
• Устройства рядом
• Быстрая реакция
• Есть устройства на батарейках
• Немного устройств в сети
Умный дом VS АСУНО
Fight!
...
Что внутри сети 6LoWPAN
• Application layer: Unwired Devices Binary Protocol
• Transport layer: UDP
• Network layer: IPv6,...
Чем сети 6lowpan отличаются от компьютерных
сетей?
• Скорость передачи мала (от 20 до 200 кбит/сек)
• MESH-сеть: много про...
Передача данных в WiFi-сети
Роутер
Устройство
Устройство
Устройство
Устройство
Устройство
Устройство
Устройство
Передача данных в mesh-сети
Роутер
Устройство
Устройство
Устройство
Устройство
Устройство
Устройство
Устройство
Устройство
Перестройка маршрута при выпадении устройства из
сети
Роутер
Устройство
Устройство
Устройство
Устройство
Устройство
Устрой...
Что внутри устройств 6lowpan
• Микроконтроллер и радио-передатчик (в нашем случае —
СС2650/СС1310)
• Contiki OS
• Сенсоры,...
Первая версия реле для "умного дома"
Микроконтроллер
Актуатор (реле)
Блок питания
Микроконтроллеры
TI СС1310
TI СС2650
Contiki OS
Главный разработчик: Adam Dunkels

Место разработки: Swedish Institute of Computer Science
Примечания: Характер...
– Брет, какие специальности нам нужны больше всего?
Тринли пожал плечами.
– Очевидно. Программист-археолог.
Вернор Виндж, ...
Кейс 1: Устройство с питанием от батарей
Проблема №1: Устройства в режиме ожидания потребляют 0.1мА и
больше.
Подробнее: Д...
Radio Duty-Cycle
Алгоритм, позволяющий снизить затраты энергии на прием сообщений:
частично или полностью синхронизированн...
Отключаем Radio Duty-Cycle
• На устройствах с внешним питанием приемник постоянно активен
• На батарейных устройствах прие...
Минутка кода
core->contiki-default-conf.h:62
#define NETSTACK_CONF_RDC contikimac_driver
core->contiki-default-conf.h:62
#d...
Минутка кода
Отключаем сетевую и радио-часть:
NETSTACK_MAC.off(0);
Включаем обратно
NETSTACK_MAC.on();
Отправляем
сообщени...
Кейс 1: Устройство с питанием от батарей
Проблема №2: До батарейных устройств через некоторое время
перестают доходить под...
Таблица маршрутизации
После построения сети каждое устройство знает для каждого
другого устройства адрес соседа, через кот...
Минутка кода
core->net->rpl->rpl-conf.h:223
#define RPL_DEFAULT_LIFETIME 30
core->net->rpl->rpl-conf.h:214
#define RPL_DEFAU...
Кейс 2: Большая и протяженная сеть
Кейс 2: Большая и протяженная сеть
Проблема: В большой сети нельзя отправить сообщение некоторым
устройствам, хотя они мог...
Z-wave
Координатор должен знать маршрут ДО отправления пакета устройству
6lowpan
Любое устройство хранит список маршрутов до всех устройство в его подсети
Минутка кода
platform->unwired->contiki-conf.h:231
#define UIP_CONF_MAX_ROUTES 20
platform->unwired->contiki-conf.h:231
#de...
Кейс 3: OTA-обновление
Проблема: Часто невозможно физически добраться до контроллера,
чтобы обновить его. Удаленное обновл...
Бутлоадер
Бутлоадер курильщика Бутлоадер нормального человека
Программа
Стартовый адрес
Программа
Бутлоадер
Стартовый адрес
OTA: фаза 1, загрузка образа
Основная программа получает, записывает и проверяет контрольную сумму
образа во внешней памят...
OTA: фаза 2, запись образа
Бутлоадер запускается, видит установленный флаг обновления и записывает
образ из внешней памяти...
OTA: фаза 3, проверка запуска
Бутлоадер передает управление новой программе, программа запускается и
проверяет, работает л...
OTA: фаза 4, восстановление
Если запуск неуспешен, то флаг запуска не устанавливается, и управление
передается бутлоадеру
...
Ячеистые сети 6LOWPAN
на основе Contiki OS и
CC1310/СС2650: теория и
практика
Зайцев Владислав(vvzvlad)
vvzvlad@gmail.com ...
Строим mesh-сети 6LOWPAN на основе Contiki OS: теория и практика / Владислав Зайцев (Unwired Devices)
Upcoming SlideShare
Loading in …5
×

Строим mesh-сети 6LOWPAN на основе Contiki OS: теория и практика / Владислав Зайцев (Unwired Devices)

РИТ++ 2017, секция ML + IoT + ИБ
Зал Белу-Оризонти, 6 июня, 13:00

Тезисы:
http://ritfest.ru/2017/abstracts/2648.html

1. Применение сетей стандарта 802.15.4(6lowpan) в интернете устройств и промышленном интернете устройств: делаем систему умного дома и систему диспетчеризации и управления уличным освещением.
2. Что такое сети на основе 6lowpan, чем они отличаются от обычных компьютерных сетей. Что внутри устройств: микроконтроллеры CC1310/CC2650 и Contiki OS.
3. Кейс 1: делаем устройства с питанием от батарей. Энергосбережение, contiki-mac, radio duty-cycle, время жизни маршрута.
4. Кейс 2: строим большую (100 устройств) и протяженную (2 км) сеть. Как не увязнуть в маршрутах, использование симулятора и сниффера для диагностики сети.
5. Кейс 3: делаем ОТА-обновление с использованием внешней памяти. Версии, передача больших образов в малых пакетах, механизм отказоустойчивого обновления, golden-image.

  • Be the first to comment

  • Be the first to like this

Строим mesh-сети 6LOWPAN на основе Contiki OS: теория и практика / Владислав Зайцев (Unwired Devices)

  1. 1. Ячеистые сети 6LOWPAN на основе Contiki OS и CC1310/СС2650: теория и практика Зайцев Владислав(vvzvlad), Unwired Devices vvzvlad@gmail.com Telegram: t.me/ru6lowpan
  2. 2. Что такое умный дом? • Радио-система, не требующая прокладки проводов и ремонта • Беспроводные выключатели на батарейках • Датчики движения, присутствия, температуры, влажности, освещенности • Возможность создавать сложную логику управления • Удаленное управление
  3. 3. Что такое автоматизированная система управления наружным освещением (АСУНО)? • Регулировка яркости каждого фонаря • Расписание и удаленное управление • Обратная связь — температура, мощность, сообщение об отказах • Централизованная диспетчеризация
  4. 4. • Устройства рядом • Быстрая реакция • Есть устройства на батарейках • Немного устройств в сети Умный дом VS АСУНО Fight! • Устройства далеко • Работа по расписанию • Питание всегда есть • Много устройств
  5. 5. Что внутри сети 6LoWPAN • Application layer: Unwired Devices Binary Protocol • Transport layer: UDP • Network layer: IPv6, RPL • Data link/network layer: 6LoWPAN 
 (IPv6 over Low power Wireless Personal Area Networks), MAC • Physical layer: IEEE 802.15.4 (868 МГц, 2400 МГц)
  6. 6. Чем сети 6lowpan отличаются от компьютерных сетей? • Скорость передачи мала (от 20 до 200 кбит/сек) • MESH-сеть: много промежуточных устройств при передаче на небольшие расстояния • Устройства могут исчезать из сети: доставка (корректная работа маршрута) не гарантируется
  7. 7. Передача данных в WiFi-сети Роутер Устройство Устройство Устройство Устройство Устройство Устройство Устройство
  8. 8. Передача данных в mesh-сети Роутер Устройство Устройство Устройство Устройство Устройство Устройство Устройство Устройство
  9. 9. Перестройка маршрута при выпадении устройства из сети Роутер Устройство Устройство Устройство Устройство Устройство Устройство Устройство Устройство
  10. 10. Что внутри устройств 6lowpan • Микроконтроллер и радио-передатчик (в нашем случае — СС2650/СС1310) • Contiki OS • Сенсоры, датчики, актуаторы • Неонка
  11. 11. Первая версия реле для "умного дома" Микроконтроллер Актуатор (реле) Блок питания
  12. 12. Микроконтроллеры TI СС1310 TI СС2650
  13. 13. Contiki OS Главный разработчик: Adam Dunkels
 Место разработки: Swedish Institute of Computer Science Примечания: Характер твердый, нордический. Скрытна.
  14. 14. – Брет, какие специальности нам нужны больше всего? Тринли пожал плечами. – Очевидно. Программист-археолог. Вернор Виндж, "Глубина в небе" Программная археология — дисциплина, изучающая плохо документированное или недокументированное ... программное обеспечение, в целях его сопровождения. Википедия
  15. 15. Кейс 1: Устройство с питанием от батарей Проблема №1: Устройства в режиме ожидания потребляют 0.1мА и больше. Подробнее: Для экономии энергии устройства по-умолчанию используют RDC (Radio Duty-Cycle), который экономичнее постоянно включенного приемника. Но этого недостаточно.
  16. 16. Radio Duty-Cycle Алгоритм, позволяющий снизить затраты энергии на прием сообщений: частично или полностью синхронизированная активация приемника и чужих передатчиков.
  17. 17. Отключаем Radio Duty-Cycle • На устройствах с внешним питанием приемник постоянно активен • На батарейных устройствах приемник всегда выключен, пока что- то не потребуется послать Устройства, от которых требуется быстрая реакция Устройства, работающие от батарей
  18. 18. Минутка кода core->contiki-default-conf.h:62 #define NETSTACK_CONF_RDC contikimac_driver core->contiki-default-conf.h:62 #define NETSTACK_CONF_RDC nullrdc_driver
  19. 19. Минутка кода Отключаем сетевую и радио-часть: NETSTACK_MAC.off(0); Включаем обратно NETSTACK_MAC.on(); Отправляем сообщение координатору Включаем сеть и радио Отправляем Дожидаемся подтверждения Выключаем сеть и радио
  20. 20. Кейс 1: Устройство с питанием от батарей Проблема №2: До батарейных устройств через некоторое время перестают доходить подтверждения. Подробнее: Без ответов ACK спящего устройства другие устройства считают, что оно выключено и исключают его адрес из таблицы маршрутизации
  21. 21. Таблица маршрутизации После построения сети каждое устройство знает для каждого другого устройства адрес соседа, через которое ему можно передать сообщение
  22. 22. Минутка кода core->net->rpl->rpl-conf.h:223 #define RPL_DEFAULT_LIFETIME 30 core->net->rpl->rpl-conf.h:214 #define RPL_DEFAULT_LIFETIME_UNIT 30 30 интервалов по 30 секунд = 15 минут core->net->rpl->rpl-conf.h:214 #define RPL_DEFAULT_LIFETIME_UNIT 60*60 10 интервалов по 3600 секунд = 10 часов core->net->rpl->rpl-conf.h:223 #define RPL_DEFAULT_LIFETIME 10
  23. 23. Кейс 2: Большая и протяженная сеть
  24. 24. Кейс 2: Большая и протяженная сеть Проблема: В большой сети нельзя отправить сообщение некоторым устройствам, хотя они могут отправлять сообщения координатору Подробнее: Таблица маршрутизации не хранит больше 20 записей. Координатор сети в ней присутствует всегда, а вот остальные устройства — нет.
  25. 25. Z-wave Координатор должен знать маршрут ДО отправления пакета устройству
  26. 26. 6lowpan Любое устройство хранит список маршрутов до всех устройство в его подсети
  27. 27. Минутка кода platform->unwired->contiki-conf.h:231 #define UIP_CONF_MAX_ROUTES 20 platform->unwired->contiki-conf.h:231 #define UIP_CONF_MAX_ROUTES 130
  28. 28. Кейс 3: OTA-обновление Проблема: Часто невозможно физически добраться до контроллера, чтобы обновить его. Удаленное обновление не должно иметь возможность сделать из устройства кирпич Решение: Используем получение нового образа прошивки через сеть, считаем контрольные суммы и используем флаг успешной загрузки для бутлоадера
  29. 29. Бутлоадер Бутлоадер курильщика Бутлоадер нормального человека Программа Стартовый адрес Программа Бутлоадер Стартовый адрес
  30. 30. OTA: фаза 1, загрузка образа Основная программа получает, записывает и проверяет контрольную сумму образа во внешней памяти Программа Бутлоадер Стартовый адрес Внешняя память Золотой образ Новый образ Флаги Внешняя память
  31. 31. OTA: фаза 2, запись образа Бутлоадер запускается, видит установленный флаг обновления и записывает образ из внешней памяти в основную, сбрасывает флаги обновления и запуска Программа Бутлоадер Стартовый адрес Внешняя память Золотой образ Новый образ Флаги Внешняя память
  32. 32. OTA: фаза 3, проверка запуска Бутлоадер передает управление новой программе, программа запускается и проверяет, работает ли она корректно. Если да, устанавливает флаг запуска Программа Бутлоадер Стартовый адрес Внешняя память Золотой образ Новый образ Флаги Внешняя память Внешний ресурс
  33. 33. OTA: фаза 4, восстановление Если запуск неуспешен, то флаг запуска не устанавливается, и управление передается бутлоадеру Программа Бутлоадер Стартовый адрес Внешняя память Золотой образ Новый образ Флаги Внешняя память Внешний ресурс
  34. 34. Ячеистые сети 6LOWPAN на основе Contiki OS и CC1310/СС2650: теория и практика Зайцев Владислав(vvzvlad) vvzvlad@gmail.com (пишите даже глупые вопросы) Telegram: t.me/ru6lowpan (мы не кусаемся) Unwired Devices (мы делаем железки)
 http://unwireddevices.com/

×