internet of things: возможности intel galileo gen 2 и intel edison

44
Internet Of Things: возможности Intel Galileo Gen 2 и Intel Edison. Роман Хатько Senior Software Engineer Intel

Upload: codefest

Post on 16-Jul-2015

526 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Internet Of Things: возможности

Intel Galileo Gen 2 и Intel Edison.

Роман

Хатько

Senior Software

EngineerIntel

Page 2: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

О себе

Роман ХатькоSenior Software Engineer, Intel

2008 – 2011: Telecom (НСС)

2011 – 2012: HPC (Intel)

2012 - now: Mobile, IoT (Intel)

Page 3: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Что такое Internet of Things?

Embedded Internet+ = IoT

Будильник,

Холодильник,

Микроволновка, ...

Page 4: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Embedded

4

SensorsBoard with

MCUActuators

КнопкаДатчик температурыДатчик влажности

СветодиодРелеСерво-привод

Page 5: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Стандартные интерфейсы ввода-вывода

- GPIO

- UART

- I2C

- SPI

- ...

Для подключения датчиков и исполнительныхустройств.

Page 6: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

GPIO – General Purpose Input / Output

Логический уровень- 0 – 0V- 1 – например, 5V

Устройства:

- Светодиод- Реле- Кнопка- И т.д.

Page 7: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

UART - Universal Asynchronous Receiver/Transmitter

Последовательный порт дляподключения модулей:

- GPS

- GSM/GPRS

- Bluetooth- Других контроллеров

Page 8: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Шины I2C & SPI

I2C:- LCD-дисплеи- Акселерометры- Датчики

SPI:- SD-карта

Page 9: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Embedded Hello World #1

Помигать светодиодом?

GPIO

Page 10: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Embedded Hello World #2

...или вывести текст?

I2C

Page 11: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Активно развивающиеся направления IoT

- Smart House

- Wearables

- Часы, браслеты, одежда...

- Квадрокоптеры, беспилотники

- Привычные устройства: action-камеры,

фотоаппараты

Page 12: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Активно развивающиеся направления IoT

- Smart City

- Smart Factory

- Автоматическая доставка

- Беспилотные автомобили

Page 13: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Модель Internet Of Things

13

Sensors Board Actuators

Internet

Примеры:

- Умный дом- Носимые устройства (часы, браслеты, ...)

Page 14: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Модель IoT без исполнительных устройств

Sensors Board Internet

Page 15: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Модель IoT без исполнительных устройств

Sensors Board Internet

Пример:

- Мониторинг температуры в Дата-центре.

Page 16: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Модель IoT без сенсоров

ActuatorsBoardInternet

Page 17: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Модель IoT без сенсоров

ActuatorsBoardInternet

Пример:

- Управление гаражными воротами со смартфона.

Page 18: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Что дает IoT?

- Вещи могут взаимодействовать между

собой, с людьми, и с другими

устройствами в сети интернет.

- Устройства могут обновлять ПО через

интернет.

Page 19: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

SoC – System on a Chip

CPU

SoC

CPU

Процессор: Система на чипе:

Page 20: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Возможные требования к SoC для IoT

- Возможность запустить операционную систему с сетевым стеком(микроконтроллер микропроцессор).

Page 21: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Возможные требования к SoC для IoT

- Возможность запустить операционную систему с сетевым стеком(микроконтроллер микропроцессор).

- Аппаратная поддержка сетевых интерфейсов.

Page 22: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Возможные требования к SoC для IoT

- Возможность запустить операционную систему с сетевым стеком(микроконтроллер микропроцессор).

- Аппаратная поддержка сетевых интерфейсов.

- Расширенные возможности ввода-вывода.

- Расширенный температурный диапазон.

- Надежность, защита от сбоев и помех.

- Защита от подмены прошивки.

Page 23: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Пример: Intel Quark SoC

Одноядерный однопоточный процессор,

поддерживающий инструкции Pentium i586.

Поддержка интерфейсов:

- 2x Ethernet, PCI Express, USB 2.0

Расширенные возможности ввода-вывода:

- GPIO, I2C, SPI, UART

Доступны версии:

- С расширенным температурным диапазономот -40 до +85 C.

- С поддержкой ECC памяти и Secure Boot.15mm x 15mm

Page 24: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

IoT Hello World

Управлять светодиодом со смартфона через интернет?

Smartphone

LED ON

LED OFF

IoT

Internet

LED

Page 25: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Internet of Things x Resources = Unprecedented Opportunity

x =

THINGS CREATIVITY

Empower

Inspire

Teach

RESOURCES

Sources: AMS Research, Gartner, IDC, McKinsey Global Institute, and various outher industry analysts and commentarors

Creative Developers Amazing Solutions50 Billion ?

Page 26: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Программирование для Internet Of Things

- Arduino

- C/C++ и библиотеки для I/O

- Python

- JavaScript

- Средства визуального программирования

- И т.д.

Page 27: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Arduino – минимальная программа

void setup() {// код для конфигурирования платы

}

void loop() {// нет функции main, есть функция loop

// функция вызывается в бесконечном цикле

}

Page 28: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Arduino IDE – Hello World #1

28

Page 29: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Особенности совместимости Linux с Arduino

- Arduino программа запускается как user space

приложение в Linux. Linux не обеспечиваетгарантированного real-time отклика.

- Сеть настраивается на Linux уровне.

- При включении платы происходит процесс загрузки.

- Запуск Linux команд из Arduino программы функциейsystem(…)

Page 30: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Запуск Linux команд из Arduino программы

Функция system(“command”) позволяет из Arduino программывызывать команды Linux.

Упрощает интеграцию IoT устройства, например, в системымониторинга.

Для этого нужно скомпилировать и установить Linux-версию клиентасистемы мониторинга на IoT устройство:

SensorsArduino

program

Monitoring

clientLinux

Monitoring

serverInternetsystem(…)

Page 31: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Программирование Intel Galileo & Edison

Intel Galileo Gen 2Board

Intel EdisonArduino

Development Board

Yocto based Linux OS image

API Bindings C/C++, Node JS, Python

UPM (Sensor/Actuator library repository)MRAA

NodeJSSupport

C/C++ Tool Chain

WyliodrinAgent

IoT Cloud Agent

Ha

rd W

are

S/W

Im

ag

e o

n I

oT

pla

tfo

rmIntel XDK

IoT Edition

Eclipse IDE +

ISS

Wyliodrin(Visual

Programming)

Cloud Analytics / Mashery

IDE

/ T

oo

ls

(Win

, Ma

c, L

inu

x)

Sensors / Actuators

Arduino IDE

Page 32: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Среда разработки C/C++ на основе Eclipse IDE

• SSH подключение к плате длязапуска удаленной отладки

• Поддерживает 3 платы (Galileo

Gen 1 и 2, Edison)

• Примеры программ

Page 33: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Библиотека MRAA

Низкоуровневая библиотека дляупрощения работы с I/O.

Документация по API и поддерживаемыеплатформы:http://iotdk.intel.com/docs/master/mraa/

Исходный код на GitHub:

https://github.com/intel-iot-devkit/mraa

Обеспечивает соответствие номеров разъемовна плате и в коде.

Page 34: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

MRAA - пример

mraa_gpio_context gpio;

gpio = mraa_gpio_init(6);

mraa_gpio_dir(gpio, MRAA_GPIO_IN);

for (;;) {

fprintf(stdout, "Gpio is %d\n",

mraa_gpio_read(gpio));

sleep(1);

}

mraa_gpio_close(gpio);

PIN

Page 35: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Библиотека UPM

UPM – высокоуровневая библиотека, обеспечивающая удобныйинтерфейс для работы с сенсорами и использующая MRAA.

Исходный код на GitHub:

https://github.com/intel-iot-devkit/upm

Список поддерживаемых устройств в C++:

http://iotdk.intel.com/docs/master/upm/modules.html

Документация по API:

http://iotdk.intel.com/docs/master/upm/

Page 36: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

UPM - пример

upm::GroveTemp* s = new upm::GroveTemp(0);

std::cout << s->name() << std::endl;

for (int i=0; i < 10; i++) {

std::cout << s->value() << std::endl;

sleep(1);

}

PIN

Page 37: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Intel® Galileo Gen 2

CPU 400 MHz, 256 MB RAM

Internet Of Things:

- Yocto Linux

- Ethernet порт

- Mini PCI-Express 1x

Embedded:

- Физически совместима с платами расширениядля Arduino Uno

- USB 2.0 Host, USB 2.0 Client

- 20 – GPIO (UART, SPI, I2C)

- 6 – ADC

Page 38: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Intel® Edison Compute Module

- Встроенная беспроводнаяфункциональность: Wi-Fi и Bluetooth.

- Основан на SoC с двухъядерным Intel®

Atom (500 мгц) и Quark (100 мгц).

- 1 Gb RAM + 4 Gb Flash.

- Расширенные возможности I/O: 40 GPIO

(GPIO, UART, I2C, SPI, USB).

- 70-пин разъем для подключения к платамрасширения.

35.5 x 25 мм

Page 39: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Intel® Edison - Arduino Development Board

- Плата расширения, физически

совместимая с Arduino Uno.

- Питание от USB-кабеля или от

блока питания 7-15V.

- 20 разъемов GPIO (4 PWM, 1 UART,

I2C)

- 6 разъемов ADC

- USB Client, USB Host

Page 40: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Подробнее проIntel Galileo & Edison:

http://maker.intel.com

Page 41: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Полезные и практичные применения?

- Автоматический полив цветка.

- Мониторинг температуры, влажности, SMS-оповещения сдатчиков утечки воды и газа. Освещение вьезда, когдасмартфон подъезжает к дому.

- Сбор данных с датчиков у спортсменов. Умный мяч?

- GPS-мониторинг транспорта.

«What will you make?»

Page 42: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Приглашаю наВоркшоп по Intel Edison

в 12:10

Page 43: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Спасибо за внимание!

Page 44: Internet Of Things: возможности Intel Galileo gen 2 и Intel Edison

Вопросы?

vk.com/rkhatko

[email protected]

Роман

Хатько

Senior Software

EngineerIntel