Взаимосвязанные физические устройства представляют совершенно новые возможности бизнесу и частным лицам, чтобы они получили больше контроля над своим окружением. Сейчас мы можем удаленно управлять своими домами, транспортными средствами и рабочими пространствами с помощью всего лишь наладонного смартфона. С этим большим уровнем связности стало возможным собирать огромное количества данных с этих устройств, а точнее информацию, которые дают встроенные в них сенсоры. Эти сенсоры, такие как датчики температуры, ускорения и положения могут выдавать непрерывный поток данных, но эти данные имеют ограниченное применение без хороших методов их анализа. Эта статья описывает панель управления с сайта Intel Internet of Things (IoT) Analytics enableiot.com и показывает, как вы можете использовать этот сайт, чтобы агрегировать, организовывать и облегчать крупномасштабный анализ данных, полученных от географически распределенных датчиков.
Мощь подключаемых устройств растет экспоненциально. Взрывное появление мобильных устройств, вездесущих сетей и мощных недорогих приложений создало изобилие возможностей для общения способами, которых для этого не было. Кто десять лет назад мог предсказать феномен роста социальных сетей? Аналогичным образом мы сейчас двигаемся к обществу, где цена подключения упала до копейки за мегабит, беспроводная связь присутствует почти везде, и машины могут сами общаться друг с другом. Это мир IoT.
Одно растущее направление в IoT разработке, это сбор и анализ данных с географически распределенных сенсоров. Рассмотрим, например, множество температурных датчиков встроенных в дорогу. Все эти датчики подключены проводным или беспроводным способом к точке сбора информации, где потоки данных собираются, предобрабатываются и агрегируются. Этот единый поток информации передается человеку, ответственному за дорогу, который решает, куда послать уборочные машины, когда чинить дорогу, перекрыть её или сделать временный объезд. А если рассмотреть эти данные вместе с данными собранными за предыдущие года, то можно создать модель предсказания, которая показывает, как будет изменяться температура дороги в результате локальных условий. Возможно, некий мост имеет большую тенденцию к обледенению, чем другие, и предупреждение об этом позволит сделать ремонт, уменьшающий риск несчастного случая на мосту.
Платы Intel Galileo и Edison были разработаны и построены для того, что предоставить данные с сенсоров для широкой публики. Большое разнообразие датчиков может передавать информацию на объединяющую IoT плату, где данные временно собираются и предобрабатываются перед тем, как будут отправлены на дополнительный анализ. Компания Интел создала сайт Internet of Things Analytics (IoT Analytics) для связи сенсоров, которые подключаются к Intel Galileo и Edison. Сайт может агрегировать большbе временные серии данных для последующего анализа.
Сегодня большое разнообразие маленьких и недорогих, но мощных датчиков можно присоединить практически к любому устройству (см. Таблицу 1). Эти сенсоры передают данные с заданной частотой (например, раз в секунду) и некоторой точностью. Результатом этой генерации данных является серия равномерных по времени точек со значениями для каждой из них. Рассмотрим, например, чип RFID встроенный в бэйджик шахтёра. Чип передает непрерывный поток данных о времени и положении рабочего, позволяя управляющему по безопасности точно знать, где находится рабочий в каждый момент времени. Такая информация имеет решающее значение при возникновении аварии, когда быстрое реагирование может спасти жизни.
Типы датчиков и примеры
Сенсоры могут быть спроектированы для передачи своих измерений через различные физические соединения. Это может быть последовательный интерфейс, как RS232 или беспроводной, как Bluetooth. Необходимо, чтобы сенсор был спроектирован для физической среды — температуры, удара, давления и так далее. И надо, чтобы соединение было достаточно безопасным.
Данные с сенсоров имеют небольшую ценность, если они не собираются и не передаются в место, где просматриваются и анализируются. Для этой цели и предназначены платы Intel Galileo, Intel Edison и сайт IoT Analytics. Эти платы для разработки могут быть подключены (через Arduino-адаптер или через Bluetooth) к различным входным сигналам, число которых ограничено только количеством физических портов. Несколько плат могут быть соединены вместе для объединения данных с распределенной сети датчиков.
Поток данных с сенсора может быть направлен сразу на сайт IoT Analytics или предварительно обработан на плате, чтобы удалить ошибки или пробелы в измерениях, и уже потом передан дальше на сайт IoT Analytics. Для получения большей информации посмотрите статью «Intel Edison Development Board Summary». Ссылка в конце этой статьи.
Собранный и предварительно обработанный поток данных с сенсора может быть собран прямо на вторичной точке обработки, такой как сайт IoT Analytics. Сайт IoT Analytics предлагает рабочее место (подробнее по ссылкам в конце статьи) и набор инструментов для сбора, отображения, обработки и оповещения по наборам временных данных. На пользовательской панели управления вы можете видеть текущий набор состояний устройств, наблюдений (измерений) за последний час и постоянный обзор всех сработавших оповещений, которые были настроены пользователем.
Дополнительно к этой статье мы используем API сайта IoT Analytics для демонстрации того, как можно получить доступ к собранным данным для их анализа. Пример включает приложение, показывающее прямой анализ данных, собранных на сайте IoT Analytics.
Как было сказано ранее, все данные сенсоров состоят из набора измерений, полученных в определенный момент времени. Эти временные ряды имеют некоторые свойства, которые делают анализ этих данных уникальным по сравнению с другими типами анализа, такими как финансовый или маркетинговый:
Каждый элемент временной серии данных состоит из пары время-значение, например, (t)ime = 0.55 sec и (v)alue = 40.5? C. Если периодичность потока данных с сенсора составляет 0.05 с, то следующее измерение будет при t = 0.60 с, затем при t = 0.65 с и так далее. Этот набор может быть показан на двумерном графике, со временем по оси x, и значениям по оси y. Вот пример графика с сайта IoT Analytics.
Как вы можете видеть на рисунке, сайт IoT Analytics может нарисовать серию временных данных в различных форматах, включая объединение по временному периоду (минута, час, день, неделя, месяц, год), как линию или область графика, с возможностью масштабирования определенных наборов для более детального просмотра исходных данных.
Наука анализа временных рядов имеет большую и богатую историю. Есть много подходов к обработке исходных данных, которые представлены временными точками и значениями. Их намного больше, чем можно обсудить в этой статье. Для недавнего обзора этих методов смотрите статью T-C Fu, ссылка на которую есть в секции «Дополнительная информация». Независимо от методики анализа, есть несколько общих черт к подходу анализа данных временных рядов.
Исходные сырые данные имеют ограниченное использование, например, только визуальный просмотр, без дальнейшего анализа или моделирования. Хотя, возможно установить предупреждения при превышении максимального значения (основанном, скажем, на правиле изменения одной сигмы), но более сложный подход анализирует данные на предмет предсказаний. Представьте, что на предыдущем рисунке автомобильный датчик выхлопа CO2 сообщает об измеренных уровнях определённой частотой выходного сигнала. Если это часть большого набора данных, собранного от разных датчиков (таких как температура двигателя и расход топлива), то можно поискать закономерности, сравнивая изменения на одном графике с другим, чтобы предсказать предстоящее техническое обслуживание автомобиля.
Независимо от использованной техники для разработки модели анализа, сырые данные должны сначала быть преобразованы или уменьшены, чтобы привести их к формату, с которым можно работать. Было разработано большое количество методов для временных рядов, но наиболее общий называется Z-нормализация. Этот метод преобразует сырые данные временного ряда к значениям, у которых среднее значение равно нулю и стандартное отклонение равно 1.0. Это преобразование позволяет сравнить один временной ряд непосредственно с другим, очень упрощая сложность алгоритма. У этого преобразования есть ограничение, надо чтобы данные имели нормальное распределение вероятности, которое является стандартной «колоколообразной кривой» ожидаемых значений в определенном диапазоне. Для большинства данных с сенсоров, эта кривая является именно такой, что позволяет использовать этот метода.
Модель предсказания, которая основана на нормальном поведении системы, обычно нужна, чтобы обнаружить аномальное поведение. Есть несколько способов для создания такой модели: использование известного измеренного состояния (под контролем), применяя математические или инженерные предсказания ожидаемого поведения системы (полуконтроль) или просто сравнивая точки данных сенсора с ими самими, но в другие моменты времени (без контроля). В конечном случае, выбранный временной период сравнивается с другим, возможно используя скользящее окно, для проверки неожидаемых значений (см. «Дополнительная информация»).
Для создания этих моделей, вы применяете алгоритм или подход к потокам данных, собранных с сенсора. Общие методы включают преобразование Фурье (преобразование значений временных рядов к частоте появления), динамическое изменение времени (выравнивание временных рядов независимо от времени измерения), вейвлет преобразование (сегментирование данных временных рядов в более мелкие сегменты). Относительно новый метод, называемый Symbolic ApproXimation (SAX), использует современный метод преобразования данных временных рядов в определённый символический набор, такой как буквы алфавита, который позволяет использовать различные алгоритмы поиска по шаблону, включая те, которые разработаны для биологического анализа ДНК, РНК и белка (например, в биоинформатике).
После того, как вы выбрали аналитический подход, следующее решение состоит в том, как обнаружить аномалии. Традиционно это достигается либо определением выбросов (статистическое обнаружение) или вычислением разности между номинальной кривой данных и измеренной серией. Это известно как мера расстояния и часто вычисляется, используя Евклидово расстояние или квадрат разности между последовательными точками данных. Совокупность этих значений дает качественный индикатор разности между двумя кривыми. Если номинальный и измеренный временной ряд отличается больше чем на данное значение, то временной ряд помечается для дальнейшего исследования. Кроме того, алгоритм поиска по образцу разработан для исследования в биоинформатике и может быть использован для количественного сравнения двух и более временных рядов.
В заключительном разделе этой статьи обсуждается способы уведомления заинтересованных сторон, когда будет обнаружена аномалия в записанном временном ряде. Сайт IoT Analytics предлагает простой, но мощный механизм для оповещения, основанного на наборе правил. Как видно на картинке, вы можете определить группу определённых правил для датчика связанного с коллекцией устройств. Условия для выполнения правил могут быть определены для нескольких распространенных ситуаций:
Зарегистрированный пользователь может быть уведомлен о срабатывании правил по почте (используя адрес, заданный при создании аккаунта) или при помощи посылки HTTP сообщения на специальный адрес.
Этих возможностей достаточно для большинства ситуаций, где требуется анализ датчиков, но как будет показано в следующей статье, если требуется более глубокий анализ, то вам надо использовать API сайта IoT Analytics для получения данных датчика и выполнить дополнительные операции по анализу данных.
Распространение недорогих, но чувствительных датчиков и повсеместное сетевая доступность создали основу для нового способа оценки и управления устройствами, которые окружают нас каждый день. Объединяя измерения от этих сенсоров и применяя набор простых правил анализа, можно действовать упреждающе в случае возможного отказа устройства или более быстро реагировать на изменение условий окружающей среды. Кроме того, используя центральный сайт агрегации, такой как Intel IoT Analytics, эти данные с сенсоров могут быть объектом более сложных методов анализа данных, которые позволят создать и использовать модели предсказания поведения.
Введение
Мощь подключаемых устройств растет экспоненциально. Взрывное появление мобильных устройств, вездесущих сетей и мощных недорогих приложений создало изобилие возможностей для общения способами, которых для этого не было. Кто десять лет назад мог предсказать феномен роста социальных сетей? Аналогичным образом мы сейчас двигаемся к обществу, где цена подключения упала до копейки за мегабит, беспроводная связь присутствует почти везде, и машины могут сами общаться друг с другом. Это мир IoT.
Одно растущее направление в IoT разработке, это сбор и анализ данных с географически распределенных сенсоров. Рассмотрим, например, множество температурных датчиков встроенных в дорогу. Все эти датчики подключены проводным или беспроводным способом к точке сбора информации, где потоки данных собираются, предобрабатываются и агрегируются. Этот единый поток информации передается человеку, ответственному за дорогу, который решает, куда послать уборочные машины, когда чинить дорогу, перекрыть её или сделать временный объезд. А если рассмотреть эти данные вместе с данными собранными за предыдущие года, то можно создать модель предсказания, которая показывает, как будет изменяться температура дороги в результате локальных условий. Возможно, некий мост имеет большую тенденцию к обледенению, чем другие, и предупреждение об этом позволит сделать ремонт, уменьшающий риск несчастного случая на мосту.
Платы Intel Galileo и Edison были разработаны и построены для того, что предоставить данные с сенсоров для широкой публики. Большое разнообразие датчиков может передавать информацию на объединяющую IoT плату, где данные временно собираются и предобрабатываются перед тем, как будут отправлены на дополнительный анализ. Компания Интел создала сайт Internet of Things Analytics (IoT Analytics) для связи сенсоров, которые подключаются к Intel Galileo и Edison. Сайт может агрегировать большbе временные серии данных для последующего анализа.
Типы датчиков и приложений
Сегодня большое разнообразие маленьких и недорогих, но мощных датчиков можно присоединить практически к любому устройству (см. Таблицу 1). Эти сенсоры передают данные с заданной частотой (например, раз в секунду) и некоторой точностью. Результатом этой генерации данных является серия равномерных по времени точек со значениями для каждой из них. Рассмотрим, например, чип RFID встроенный в бэйджик шахтёра. Чип передает непрерывный поток данных о времени и положении рабочего, позволяя управляющему по безопасности точно знать, где находится рабочий в каждый момент времени. Такая информация имеет решающее значение при возникновении аварии, когда быстрое реагирование может спасти жизни.
Типы датчиков и примеры
Тип сенсора | Пример |
Температура | Температура работающего двигателя |
Движение/вибрация | Охранные датчики движения |
Влажность | Изготовление увлажнителей воздуха |
Активация | Включение/выключение освещения. Открытие/закрытие двери |
Водяной поток | Эффективность работы жидкостного насоса |
Давление | Уровень накачки шин |
Химический | Датчик угарного газа |
Скорость/ускорение | Срабатывание подушки безопасности |
Пропускная способность | Скорость заводской производственной линии |
Положение | RFID чип на товарах |
Сенсоры могут быть спроектированы для передачи своих измерений через различные физические соединения. Это может быть последовательный интерфейс, как RS232 или беспроводной, как Bluetooth. Необходимо, чтобы сенсор был спроектирован для физической среды — температуры, удара, давления и так далее. И надо, чтобы соединение было достаточно безопасным.
Сбор и передача данных
Данные с сенсоров имеют небольшую ценность, если они не собираются и не передаются в место, где просматриваются и анализируются. Для этой цели и предназначены платы Intel Galileo, Intel Edison и сайт IoT Analytics. Эти платы для разработки могут быть подключены (через Arduino-адаптер или через Bluetooth) к различным входным сигналам, число которых ограничено только количеством физических портов. Несколько плат могут быть соединены вместе для объединения данных с распределенной сети датчиков.
Поток данных с сенсора может быть направлен сразу на сайт IoT Analytics или предварительно обработан на плате, чтобы удалить ошибки или пробелы в измерениях, и уже потом передан дальше на сайт IoT Analytics. Для получения большей информации посмотрите статью «Intel Edison Development Board Summary». Ссылка в конце этой статьи.
Обработка и хранение
Собранный и предварительно обработанный поток данных с сенсора может быть собран прямо на вторичной точке обработки, такой как сайт IoT Analytics. Сайт IoT Analytics предлагает рабочее место (подробнее по ссылкам в конце статьи) и набор инструментов для сбора, отображения, обработки и оповещения по наборам временных данных. На пользовательской панели управления вы можете видеть текущий набор состояний устройств, наблюдений (измерений) за последний час и постоянный обзор всех сработавших оповещений, которые были настроены пользователем.
Дополнительно к этой статье мы используем API сайта IoT Analytics для демонстрации того, как можно получить доступ к собранным данным для их анализа. Пример включает приложение, показывающее прямой анализ данных, собранных на сайте IoT Analytics.
Качество временных серий
Как было сказано ранее, все данные сенсоров состоят из набора измерений, полученных в определенный момент времени. Эти временные ряды имеют некоторые свойства, которые делают анализ этих данных уникальным по сравнению с другими типами анализа, такими как финансовый или маркетинговый:
- Одинаковый интервал сбора. Значения собираются в определённые, регулярные промежутки времени, такие как секунды, минуты, дни.
- Последовательность значений (измерений). Значения собираются последовательным способом, одно за другим, число измерений в определённом наборе временных рядов определяет «размерность» потока данных.
- Верность (точность). Данные сенсора выдаются с определённой точностью (так называемая инструментальная ошибка). Обратите внимание, что точность анализируемых значений не может превышать точность исходного измерения, например, если измеренное значение составляет 0,35, то анализируемые значения не могут иметь более двух знаков после запятой.
- Диапазон (амплитуда). Значения датчиков будут находиться в ожидаемом диапазоне, который определяется ограничениями самого физического сенсора (например, для температурного датчика значение может быть от -30 до 50 градусов).
Каждый элемент временной серии данных состоит из пары время-значение, например, (t)ime = 0.55 sec и (v)alue = 40.5? C. Если периодичность потока данных с сенсора составляет 0.05 с, то следующее измерение будет при t = 0.60 с, затем при t = 0.65 с и так далее. Этот набор может быть показан на двумерном графике, со временем по оси x, и значениям по оси y. Вот пример графика с сайта IoT Analytics.
Как вы можете видеть на рисунке, сайт IoT Analytics может нарисовать серию временных данных в различных форматах, включая объединение по временному периоду (минута, час, день, неделя, месяц, год), как линию или область графика, с возможностью масштабирования определенных наборов для более детального просмотра исходных данных.
Анализ и моделирование
Наука анализа временных рядов имеет большую и богатую историю. Есть много подходов к обработке исходных данных, которые представлены временными точками и значениями. Их намного больше, чем можно обсудить в этой статье. Для недавнего обзора этих методов смотрите статью T-C Fu, ссылка на которую есть в секции «Дополнительная информация». Независимо от методики анализа, есть несколько общих черт к подходу анализа данных временных рядов.
Исходные сырые данные имеют ограниченное использование, например, только визуальный просмотр, без дальнейшего анализа или моделирования. Хотя, возможно установить предупреждения при превышении максимального значения (основанном, скажем, на правиле изменения одной сигмы), но более сложный подход анализирует данные на предмет предсказаний. Представьте, что на предыдущем рисунке автомобильный датчик выхлопа CO2 сообщает об измеренных уровнях определённой частотой выходного сигнала. Если это часть большого набора данных, собранного от разных датчиков (таких как температура двигателя и расход топлива), то можно поискать закономерности, сравнивая изменения на одном графике с другим, чтобы предсказать предстоящее техническое обслуживание автомобиля.
Независимо от использованной техники для разработки модели анализа, сырые данные должны сначала быть преобразованы или уменьшены, чтобы привести их к формату, с которым можно работать. Было разработано большое количество методов для временных рядов, но наиболее общий называется Z-нормализация. Этот метод преобразует сырые данные временного ряда к значениям, у которых среднее значение равно нулю и стандартное отклонение равно 1.0. Это преобразование позволяет сравнить один временной ряд непосредственно с другим, очень упрощая сложность алгоритма. У этого преобразования есть ограничение, надо чтобы данные имели нормальное распределение вероятности, которое является стандартной «колоколообразной кривой» ожидаемых значений в определенном диапазоне. Для большинства данных с сенсоров, эта кривая является именно такой, что позволяет использовать этот метода.
Модель предсказания, которая основана на нормальном поведении системы, обычно нужна, чтобы обнаружить аномальное поведение. Есть несколько способов для создания такой модели: использование известного измеренного состояния (под контролем), применяя математические или инженерные предсказания ожидаемого поведения системы (полуконтроль) или просто сравнивая точки данных сенсора с ими самими, но в другие моменты времени (без контроля). В конечном случае, выбранный временной период сравнивается с другим, возможно используя скользящее окно, для проверки неожидаемых значений (см. «Дополнительная информация»).
Для создания этих моделей, вы применяете алгоритм или подход к потокам данных, собранных с сенсора. Общие методы включают преобразование Фурье (преобразование значений временных рядов к частоте появления), динамическое изменение времени (выравнивание временных рядов независимо от времени измерения), вейвлет преобразование (сегментирование данных временных рядов в более мелкие сегменты). Относительно новый метод, называемый Symbolic ApproXimation (SAX), использует современный метод преобразования данных временных рядов в определённый символический набор, такой как буквы алфавита, который позволяет использовать различные алгоритмы поиска по шаблону, включая те, которые разработаны для биологического анализа ДНК, РНК и белка (например, в биоинформатике).
После того, как вы выбрали аналитический подход, следующее решение состоит в том, как обнаружить аномалии. Традиционно это достигается либо определением выбросов (статистическое обнаружение) или вычислением разности между номинальной кривой данных и измеренной серией. Это известно как мера расстояния и часто вычисляется, используя Евклидово расстояние или квадрат разности между последовательными точками данных. Совокупность этих значений дает качественный индикатор разности между двумя кривыми. Если номинальный и измеренный временной ряд отличается больше чем на данное значение, то временной ряд помечается для дальнейшего исследования. Кроме того, алгоритм поиска по образцу разработан для исследования в биоинформатике и может быть использован для количественного сравнения двух и более временных рядов.
Представление
В заключительном разделе этой статьи обсуждается способы уведомления заинтересованных сторон, когда будет обнаружена аномалия в записанном временном ряде. Сайт IoT Analytics предлагает простой, но мощный механизм для оповещения, основанного на наборе правил. Как видно на картинке, вы можете определить группу определённых правил для датчика связанного с коллекцией устройств. Условия для выполнения правил могут быть определены для нескольких распространенных ситуаций:
- Простое условие. Значение с сенсора становится выше или ниже заданной границы.
- Временное условие. Значение сенсора становится выше или ниже заданной границы в течение заданного периода времени.
- Условие на дисперсию. Дисперсия значения (сигма) превышает 2 или 3.
- Определение изменения датчика (одиночное или множественное). Один или несколько датчиков определили изменение условий (например, как событие активации/деактивации).
Зарегистрированный пользователь может быть уведомлен о срабатывании правил по почте (используя адрес, заданный при создании аккаунта) или при помощи посылки HTTP сообщения на специальный адрес.
Этих возможностей достаточно для большинства ситуаций, где требуется анализ датчиков, но как будет показано в следующей статье, если требуется более глубокий анализ, то вам надо использовать API сайта IoT Analytics для получения данных датчика и выполнить дополнительные операции по анализу данных.
Заключение
Распространение недорогих, но чувствительных датчиков и повсеместное сетевая доступность создали основу для нового способа оценки и управления устройствами, которые окружают нас каждый день. Объединяя измерения от этих сенсоров и применяя набор простых правил анализа, можно действовать упреждающе в случае возможного отказа устройства или более быстро реагировать на изменение условий окружающей среды. Кроме того, используя центральный сайт агрегации, такой как Intel IoT Analytics, эти данные с сенсоров могут быть объектом более сложных методов анализа данных, которые позволят создать и использовать модели предсказания поведения.
n4k4m1sh1
так сайт Internet of Things Analytics только для проектов на Galileo и Edison?