internet of things - amazon web...

33
Internet of Things The World of Possibilities Mathew Ockerse – IoT Application Engineer Nürnberg, June 2015

Upload: vanxuyen

Post on 01-Apr-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Internet of ThingsThe World of Possibilities

Mathew Ockerse – IoT Application Engineer

Nürnberg, June 2015

The idea of the internet of things is …

2

… that instead of having a small

number of powerful computing devices

in your life, you have a large number of

low energy, ubiquitous computing

devices

Intel® Quark

3

Intel® Quark SoC X1000

The first product from the Intel® Quark

technology family of low-power, small-

core products.

Intel® Quark technology will extend

Intel architecture into rapidly growing

areas – from the Internet of Things to

wearable computing in the future.

Past, present, future

4

Portfolio of products

Quark :

IDF 2013

Basis of Galileo Gen1 and Gen2

Edison :

CES 2014

Curie :

CES 2015

More about it in 2H 15

From sensor to cloud

5Intel Confidential — Do Not Forward

From sensor to cloud

Intel IoT hardware

6

Edison & Expansion Boards

Intel® Edison module

7

22 nm Intel® SoC that includes a dual-

core, dual-threaded Intel® Atom™ CPU

at 500 MHz

32-bit Intel® Quark™ microcontroller at

100 MHz

1 GB LPDDR3 POP memory

Flash storage 4 GB eMMC

WiFi and Bluetooth® Low Energy

35.5 × 25.0 × 3.9 mm (1.4 × 1.0 × 0.15

inches)

40 GPIOs: UART, I2C, SPI, I2S,

GPIO(PWM), USB, SD card

8

Partner

Expansion Boards

Intel

Expansion Boards

Built to Order

Expansion Boards

Extension Boards

Intel® Edison

• 70 pin connector

• Hirose DF40 Series

• Easy to build your own board

Intel currently offers 2 boards

• Breakout Board

• Arduino* expansion board

* Other names and brands may be claimed as the property of others.

Intel® Edison Breakout Board

• I/O: array of through-hole solder

points

• USB OTG with USB Micro (AB)

• Battery charger

• USB micro (B) [UART]

• DC power supply jack (7 to 15 VDC)

Intel® Edison - Arduino Expansion Board

11

Board features

Compatible with Arduino Uno (except only 4 PWM instead of 6 PWM)

20 digital input/output pins including 4 pins as PWM outputs

Micro USB device connector OR (via mechanical switch) dedicated

standard size USB host Type-A connector

Micro USB device (connected to UART)

6 analog inputs

1 UART (RX/TX)

1 I2C

1 ICSP 6-pin header (SPI)

SD Card connector

DC power jack (7V – 15V DC input)

Partner Expansion BoardsE.g.: Sparkfun*

* Other names and brands may be claimed as the property of others.

Intel IoT software

13

Overview of software layers & IDE’s

14

General Software Overview

• Onboard Edison

• Developer Environments

• Cloud Connectivity

IoT Development kit components

15

16

Developer Environments

17

libmraa

• c/c++ library (abstraction layer) with bindings to javascript & python

• Interfaces with IO on Galileo, Edison and other platforms

• With board detection at runtime can be used on multiple platforms

18

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

MRAA – random letters, doesn’t mean anything

API documentation available – http://iotdk.intel.com/docs/master/mraa/

Examples directory

Minimum code sample:

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);

19

libupm

• High level sensor repository

• Links to mraa

• Sensors represented as classes

20

upm – Example of libupm for Grove Temp Sensor

List of supported sensors in C++

API documentation - http://iotdk.intel.com/docs/master/upm/

Examples directory

Minimum code example:

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);

}

21

Developer Environments

• Eclipse (C/C++) - native

• Intel XDK (node.js) - native

• Arduino* (Emulated Environment)

• Wyliodrin* (Browser based coding, uses Javascript & Python)

• Python - native

* Other names and brands may be claimed as the property of others.

Arduino* Visual

ProgrammingNode.JS C / C++

Target

AudienceMaker Beginner Intermediate Advanced

IDE Arduino* IDE Intel® XDK Eclipse* IDE

What to choose

Win/ Mac/ Linux

Wyliodrin*

Win/ Mac/ Linux Win/ Mac / LinuxBrowser platform

Download your IDE of choice• https://software.intel.com/iot/downloads

Arduino IDE

Gain command line accessPrerequisite for Windows* development systems

• Install USB & FTDI serial drivers

• https://software.intel.com/en-us/installing-drivers-for-intel-edison-board-with-windows

• Options

• Drivers installation is part of an automatic full installation ( incl. image & IDE )

• Standalone drivers downloads

Setting up Arduino IDE

• Download .zip from arduino.cc

• Extract Arduino file (.zip .tgz .7z)

• Move Arduino folder to desired location

(e.g. Root directory)

• Open and run arduino.exe to get to IDE (or other OS executable)

Intel Getting Started Guide

https://software.intel.com/en-us/iot/getting-started

Setting up Arduino IDE

• Choose

Tools>Board>Boards Manager

Intel Getting Started Guide

https://software.intel.com/en-us/iot/getting-started

Setting up Arduino IDE

• Click on „Intel i686 Boards by Intel“ and install

Intel Getting Started Guide

https://software.intel.com/en-us/iot/getting-started

Running a Sketch - Blink

• In IDE

• Click on “File > Examples > Basics > Blink” and this window will open.

Running a sketch – Uploading to Edison

Click “Tools > Board” and select

“Intel® Edison”Select “Tools > Serial Port” (Arduino

IDE uses the Virtual Com Port!)

Full Bleed Image Example

31Intel Confidential — Do Not Forward

software.intel.com/iot

32

Intel IoT on Instructables.