Transcript
Page 1: Getting started with Intel IoT Developer Kit

Getting Started with Intel IoT Developer Kit – Dev kitSetup, Installing, Hello World and Sensors testing

Sulamita Garcia – Developer Evangelist - @sulagarcia

Munich, October 18 2014

Page 2: Getting started with Intel IoT Developer Kit

Agenda

• Devkit components: hardware and software

• Setting up Galileo/Edison

• Setting up developer environment

• Running sample codes

• Creating your application

• Dev kit library (MRAA) and sensors repository (UPM)

Page 3: Getting started with Intel IoT Developer Kit

Important – before starting

Intel Galileo Gen 1 -> 5V power supply

Intel Galileo Gen 2 -> 12V power supply

Intel Galileo Gen 1 + 12V power supply =

Page 4: Getting started with Intel IoT Developer Kit

Devkit components

Page 5: Getting started with Intel IoT Developer Kit

Dev kit components

Software

• Linux (Yocto) image to be used with micro SD card on Galileo; already installed on Edison

• IDEs for cross platform development

• MRAA and UPM libraries for abstracting complexity when using sensors and actuators

Hardware

• Intel Galileo Gen 2 or Edison

• Grove Starter Kit – Intel IoT Edition

• Micro SD

• Serial cable

• Ethernet cable

• Sensors and components

Page 6: Getting started with Intel IoT Developer Kit

Intel® Galileo Development Board – Gen 2

Board I/O:

Mechanically compatible with Arduino Uno 20 digital input/output pins including 6 pins as PWM

outputs 6 analog inputs 2 UART (RX/TX) 1 I2C 1 ICSP 6-pin header (SPI) USB device connector (Host) Micro USB device connector (client) SD Card connector DC power jack (7V – 15V DC input)

Ref.: http://maker.intel.com

Page 7: Getting started with Intel IoT Developer Kit

Intel® Edison module

• 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 cardRef.: http://maker.intel.com

Page 8: Getting started with Intel IoT Developer Kit

Intel® Edison - Arduino Expansion Board

Board I/O: Compatible with Arduino Uno (except only 4 PWM instead of 6 PWM) 20 digital input/output pins including 4 pins as PWM

outputs 6 analog inputs 1 UART (RX/TX) 1 I2C 1 ICSP 6-pin header (SPI) Micro USB device connector OR (via mechanical

switch) dedicated standard size USB host Type-A connector

Micro USB device (connected to UART) SD Card connector DC power jack (7V – 15V DC input)

Ref.: http://maker.intel.com

Page 9: Getting started with Intel IoT Developer Kit

Grove Starter Kit Plus - Intel® IoT EditionBase Shield

Buzzer

Button

Grove-LED

Sound Sensor

Rotary Angle Sensor

Touch Sensor

Smart Relay

Light Sensor

Temperature Sensor

Grove Cables

Mini Servo

9V to Barrel Jack Adapter - 126mm

DIP LED Blue-Blue

DIP LED Green-Green

DIP LED Red-Red

LCD RGB Backlight

Page 10: Getting started with Intel IoT Developer Kit

Extra sensors available depending on your project

SEN04031P Grove - Piezo Vibration Sensor

SEN01111P Grove - Air quality sensor

SEN11425P Grove - 125KHz RFID Reader

ACC90453O 4 pin grove adapter (5 per pack)

KIT80949P Wireless Sensor Node - Solar Kit

ROB08211P Grove Mini Servos

SEN04051P Grove - 3-Axis Digital Accelerometer

SEN11763P Grove - 3-Axis Digital Gyro

SEN12753P Grove - 3-Axis Digital Compass

COM22639P Grove - Relay

COM05231P Grove - Slide Potentiometer

Page 11: Getting started with Intel IoT Developer Kit

Important – before starting

• The next session can save you a lot of time and trouble – which will count tomorrow when you are trying to finish your project

• We will cover step by step how to get started

• Your options:

• C/C++ with Eclipse (recommended)

• JavaScript with XDK (recommended)

• Arduino (recommended)

• Visual programming with Wyliodrin – if you are new to programming

• Vi/terminal – if you are more comfortable with command line environment

Page 12: Getting started with Intel IoT Developer Kit

Online documentation for reference

This presentation: http://slidesha.re/1uuFgBH

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

http://intel.com/edison/getstarted

Page 13: Getting started with Intel IoT Developer Kit

Setting up the Galileo board

Page 14: Getting started with Intel IoT Developer Kit

Setup the Galileo board

Distributed micro SD cards already prepared with latest image – just plug them in

Why do we need a micro SD and an image?

- Provide easy way to permanently store application on board

- Provides extra libraries and bindings

- Supports multiple programming languages

Note: For future updates, please refer to online documentation.Ref.: https://software.intel.com/en-us/iot-c-eclipse , Appendix

Page 15: Getting started with Intel IoT Developer Kit

Setup the Edison board

Distributed Edison already updated

If not, update software: https://communities.intel.com/docs/DOC-23192

Page 16: Getting started with Intel IoT Developer Kit

Setting up the developer environment

Page 17: Getting started with Intel IoT Developer Kit

Connect the SD card in your computer – copy the IDE file correspondent to your OS; for Windows, copy win-driver too

Page 18: Getting started with Intel IoT Developer Kit

Windows & Arduino – extract and install the contents of win-driver

Page 19: Getting started with Intel IoT Developer Kit

Now connect your environment

microUSB <-> USB

Ref.: https://communities.intel.com/docs/DOC-23147

Page 20: Getting started with Intel IoT Developer Kit

Now connect your environment

USB <-> Serial cable

Ethernet

SD Card

Power

Serial

3

1

2

4

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 21: Getting started with Intel IoT Developer Kit

USB-Serial on Gen2 – black wire means ground

Page 22: Getting started with Intel IoT Developer Kit

Connect board via serial – discover port on Windows

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 23: Getting started with Intel IoT Developer Kit

Connect board via serial – discover port on MacOS

After connecting the serial cable, check if you have /dev/cu.usbserial(*)

If not, you may need to install a serial-USB FTDI driver.

Example:

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 24: Getting started with Intel IoT Developer Kit

Connect via serial – putty, goSerial or minicom

User: root, no passwordRef.: https://software.intel.com/en-us/iot-c-eclipse

Page 25: Getting started with Intel IoT Developer Kit

Connecting Edison – configure_edison --setup

Configure password

Configure wifi

Galileo should automatically set up an IP address.

Page 26: Getting started with Intel IoT Developer Kit

Find your Galileo/Edison IP address and write it down: command `ip a`

Ping between board and your laptop to check connectivity

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 27: Getting started with Intel IoT Developer Kit

Shortcut – if you feel comfortable with vi

If you have experience coding directly from the command line, you have:

• Busybox/vi

• Gcc

• Python

• Node.js

But we will continue with the IDEs, keep paying attention

Vim: https://github.com/IntelOpenDesign/MakerNode/tree/master/iotkd_libs

Page 28: Getting started with Intel IoT Developer Kit

Time to chose your path:

C/C++:

• Eclipse

Javascript:

• XDK

Arduino

• Arduino IDE for Galileo

Visual Programming (Blocky)

• Wyliodrin

Page 29: Getting started with Intel IoT Developer Kit

Arduino for Galileo/Edison

Page 30: Getting started with Intel IoT Developer Kit

Arduino for Galileo or Edison

https://communities.intel.com/docs/DOC-23242

Page 31: Getting started with Intel IoT Developer Kit

C/C++/Eclipse

Page 32: Getting started with Intel IoT Developer Kit

Eclipse(C/C++) – setting up

Copy to your computer

Extract the file you copied previously (iotdk-ide-${yourOS}.7z) with 7z Treats long paths better, needed for this file.

If you need to download: http://www.7-zip.org/

Note: Better to extract the file to C:\ on Windows

Execute devkit-launcher.bat

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 33: Getting started with Intel IoT Developer Kit

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 34: Getting started with Intel IoT Developer Kit

Click on Remote System Explorer

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 35: Getting started with Intel IoT Developer Kit

Fill the IP address on (3)

Ref.: https://software.intel.com/en-us/iot-c-eclipse

Page 36: Getting started with Intel IoT Developer Kit

Running a sample - Click back on C/C++

Ref.: https://software.intel.com/en-us/node/519969

Page 37: Getting started with Intel IoT Developer Kit

Galileo - Right click 4_cpp_onboard_led

Ref.: https://software.intel.com/en-us/node/519969

Page 38: Getting started with Intel IoT Developer Kit

Click Run, select 4_cpp_onboard_led

Ref.: https://software.intel.com/en-us/node/519969

Page 39: Getting started with Intel IoT Developer Kit

JavaScript/Node.js/XDK

Page 40: Getting started with Intel IoT Developer Kit

Install the file copied from the SD card, XDK directory

Ref.: https://software.intel.com/en-us/html5/xdk-iot

Page 41: Getting started with Intel IoT Developer Kit

Login/create your account

Page 42: Getting started with Intel IoT Developer Kit

Start with a Sample (under IoT Projects) – click on “Use this Template”

Page 43: Getting started with Intel IoT Developer Kit

Should look like this

Page 44: Getting started with Intel IoT Developer Kit

Select Galileo/Edison board

Page 45: Getting started with Intel IoT Developer Kit

Toggle the console

Page 46: Getting started with Intel IoT Developer Kit

Click Manage your daemon/IoT device menu in the bottom taskbar. Select sync PC time w/ clock on target board to avoid computer and device timing issues.

Page 47: Getting started with Intel IoT Developer Kit

Click Install/Build to fetch node modules specified in package.json and install them on device; 1st time click Build

Page 48: Getting started with Intel IoT Developer Kit

Click Upload to upload the current project to the Galileo board

Page 49: Getting started with Intel IoT Developer Kit

Click Run to run the project on the device. The LED should be blinking.

Page 50: Getting started with Intel IoT Developer Kit

Devkit library (MRAA) and sensor repository (UPM)

Page 51: Getting started with Intel IoT Developer Kit

MRAA lib - https://github.com/intel-iot-devkit/mraaMRAA – 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);

Page 52: Getting started with Intel IoT Developer Kit

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

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

}

Page 53: Getting started with Intel IoT Developer Kit

Just remember to use the correspondent library

Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous

Page 54: Getting started with Intel IoT Developer Kit

UPM API documentation – which library to use?

Page 55: Getting started with Intel IoT Developer Kit

Creating new app

Page 56: Getting started with Intel IoT Developer Kit

If using Eclipse

Page 57: Getting started with Intel IoT Developer Kit

Create your first app – copy&paste an existing sample

Page 58: Getting started with Intel IoT Developer Kit

Creating your first app – if you use UPM repository

Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous

Page 59: Getting started with Intel IoT Developer Kit

If using XDK

Page 60: Getting started with Intel IoT Developer Kit

Node.js

Find the library name – example: libupm-grove

-> replace “lib” for “js” and you have it: jsupm_grove

Code:

require(“jsupm_grove”);

Page 61: Getting started with Intel IoT Developer Kit

If using Python

Page 62: Getting started with Intel IoT Developer Kit

Python

Find the library name – example: libupm-grove

-> replace “lib” for “py” and you have it: pyupm-grove

Code:

import pyupm_grove

Page 63: Getting started with Intel IoT Developer Kit

If using Arduino

Page 64: Getting started with Intel IoT Developer Kit

Go to IDZ IoT page, find your sensor

Page 65: Getting started with Intel IoT Developer Kit

Under References, follow Grove Wiki

Page 66: Getting started with Intel IoT Developer Kit

Recap – navigating IDZ IoT - https://software.intel.com/iot

Page 67: Getting started with Intel IoT Developer Kit

Now, who has problems???


Recommended