SlideShare a Scribd company logo
Getting Started with Intel IoT Developer Kit – Dev 
kit 
Sulamita Garcia – Developer Evangelist – Twitter @sulagarcia 
Milano, November 28 2014
“If we’re not a part of this, 
we’re going to miss where the 
future of computing is going.” 
Brian Krzanich, Intel CEO 
Rome Maker Faire Oct 2013
3 
VALUE PROPOSITION 
The Intel® Edison development 
platform is designed to lower the 
barriers to entry for a range of 
Inventors, Entrepreneurs and 
consumer product designers to rapidly 
prototype and produce IoT and 
wearable computing products. 
Intel Confidential
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)
Devkit components
Intel® IoT Developer Kit Components 
LibMraa UPM (Sensor/Actuator library repository) 
Intel Galileo 
Gen 1 & 2 
Board 
API Bindings C/C++, Node JS, Python 
Yocto based Linux OS image 
Intel Edison 
Arduino 
Development 
Board 
NodeJS 
Support 
C/C++ 
Tool Chain 
Wyliodrin 
Agent 
IoT Cloud 
Agent 
Hard Ware 
S/W Image on IoT platform 
Intel XDK IoT 
Edition 
(coming soon) 
Eclipse IDE 
+ 
ISS 
(Optional) 
Wyliodrin 
(Visual 
Programming) 
Cloud 
Analytics / 
Mashery 
IDE/ Tools 
(Win, Mac, Linux) 
Sensors / Actuators 
Arduino IDE
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
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 card 
Ref.: http://maker.intel.com
Intel® Edison - Arduino Expansion Board and Mini 
Breakout 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
Grove Starter Kit Plus - Intel® IoT Edition 
Base 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
Target audience and developer path 
Arduino 
Developer 
Arduino 
Developer 
Visual Programming 
(* Galileo Only) 
JavaScript 
Developer 
Wind River 
(*Galileo only) 
C / C++ 
Developer 
Target 
Audience 
Maker Beginner Intermediate Advanced 
Advanced 
Professional 
OS / 
Boot Image 
Tools/ Libraries 
Yocto Linux 
SPI 
Yocto Linux Yocto Linux Yocto Linux VxWorks 
Arduino LIbraries Wyliodrin XDK ISS 
IDE 
Dev Env 
Arduino IDE 
Win / Mac/ Linux 
Wyliodrin 
Web 
XDK 
Win/ Mac/ Linux 
Eclipse 
Win/ Mac / Linux 
WR Eclipse 
Win / Linux 
Programming 
Language 
Arduino Sketch 
C++ 
Visual 
Python 
JavaScript 
(Node JS) 
C/ C++ C / C++ 
Work Bench / ISS 
Cloud IoT Cloud Analytics 
IoT Cloud Analytics 
Widget 
IoT Cloud Analytics 
Mashery/ 3rd party 
IoT Cloud Analytics 
Mashery/ 3rd Party 
WR Cloud
Intel Cloud Analytics
13 
Store, visualize and 
analyze 
your IoT data in the cloud 
Keep track of your devices 
Graph data from your devices 
Invite others to see your device 
data 
Send messages to your devices 
Create rules to notify you when 
your data gets interesting 
Download your data for further 
analysis
Links 
14 
The Web Site – www.enableiot.com 
Getting Started - software.intel.com/iot 
Getting started Guides / Intel IoT Cloud Analytics Guide 
The API – github.com/enableiot/iotkit-api
Online documentation for reference 
This presentation: http://slidesha.re/1uuFgBH 
https://software.intel.com/en-us/iot/getting-started 
http://intel.com/edison/getstarted
Demos
Connecting your environment 
microUSB <-> USB 
Ref.: https://communities.intel.com/docs/DOC-23147 
Power / Arduino / flashing 
OS 
Serial port
Arduino for Galileo/Edison
Arduino for Galileo or Edison 
https://communities.intel.com/docs/DOC-23242
Setting up other developer environments
Connect board via serial – discover port on Windows 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Connect board via serial – discover port on MacOS 
After connecting the serial cable, check if you have /dev/cu.usbserial(*) 
LINUX - /dev/ttyUSB0 
If not, you may need to install a serial-USB FTDI driver. 
Example: 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Connect via serial – putty, goSerial or minicom 
Linux – minicom –D /dev/ttyUSB0 –s 115200 
User: root, no password 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Connecting Edison – configure_edison --setup 
Configure password 
Configure wifi 
Galileo should automatically set up an IP address.
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
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 
Time to chose your path: 
C/C++: 
• Eclipse 
Javascript: 
• XDK 
Arduino 
• Arduino IDE for Galileo 
Visual Programming (Blocky) 
• Wyliodrin
Python and Node.js demo
C/C++/Eclipse
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
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Click on Remote System Explorer 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Fill the IP address on (3) 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Running a sample - Click back on C/C++ 
Ref.: https://software.intel.com/en-us/node/519969
Galileo - Right click 4_cpp_onboard_led 
Ref.: https://software.intel.com/en-us/node/519969
Click Run, select 4_cpp_onboard_led 
Ref.: https://software.intel.com/en-us/node/519969
JavaScript/Node.js/XDK
Install the file copied from the SD card, XDK directory 
Ref.: http://xdk.intel.com/iot
Login/create your account
Start with a Sample (under IoT Projects) – click on “Use this 
Template”
Should look like this
Select Galileo/Edison board
Toggle the console
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.
Click Install/Build to fetch node modules specified in 
package.json and install them on device; 1st time click Build
Click Upload to upload the current project to the Galileo 
board
Click Run to run the project on the device. The LED should 
be blinking.
Devkit library (MRAA) and sensor repository (UPM)
MRAA lib - 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 %dn", mraa_gpio_read(gpio)); 
sleep(1); 
} 
mraa_gpio_close(gpio);
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); 
}
Just remember to use the correspondent library 
Project name (right click) 
-> Settings -> C/C++ 
Build -> Settings -> Tool 
Settings -> Cross G++ 
Linker -> Miscelaneous
UPM API documentation – which library to use?
Recap – navigating IDZ IoT - https://software.intel.com/iot
Creating new app
If using Eclipse
Create your first app – copy&paste an existing sample
Creating your first app – if you use UPM repository 
Project name (right click) 
-> Settings -> C/C++ 
Build -> Settings -> Tool 
Settings -> Cross G++ 
Linker -> Miscelaneous
If using XDK
Node.js 
MRAA 
var mraa = require(“mraa”) 
UPM 
Find the library name – example: libupm-grove 
-> replace “lib” for “js” and you have it: jsupm_grove 
Code: 
require(“jsupm_grove”);
If using Python
Python 
MRAA 
import mraa 
UPM 
Find the library name – example: libupm-grove 
-> replace “lib” for “py” and you have it: pyupm-grove 
Code: 
import pyupm_grove
If using Arduino
Go to IDZ IoT page, find your sensor
Under References, follow Grove Wiki
//Load i2clcd module 
var LCD = require('jsupm_i2clcd'); 
//Initialize Jhd1313m1 at 0x62 (RGB_ADDRESS) and 0x3E (LCD_ADDRESS) 
var myLcd = new LCD.Jhd1313m1 (0, 0x3E, 0x62); 
myLcd.setCursor(0,0); 
myLcd.write('Hello World');
Now, who has problems??? 

More Related Content

What's hot (20)

PPTX
Nio100 product guide 20150520
和得 王
 
PDF
Road to Republic of IoT - ESP32 Programming and LoRa
Andri Yadi
 
PDF
Perceptual Computing Workshop in Munich
BeMyApp
 
PDF
Boards for the IoT-Prototyping
Lars Gregori
 
PDF
Perceptual Computing Workshop à Paris
BeMyApp
 
PPTX
Arduino i rremote 1112
馬 萬圳
 
PDF
DeviceHub - First steps using Intel Edison
Gabriel Arnautu
 
PDF
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Intel® Software
 
PPTX
Open Source Home Automation with LinkSprite.IO
Jingfeng Liu
 
PDF
Esp8266 basics
Eueung Mulyana
 
PPTX
Arduino1.0 RC
馬 萬圳
 
PPTX
IOT Talking to Webserver - how to
Indraneel Ganguli
 
PPTX
IoT on Raspberry Pi
John Staveley
 
PPTX
IoT with openHAB on pcDuino3B
Jingfeng Liu
 
PPTX
pcDuino Presentation at SparkFun
Jingfeng Liu
 
PPTX
pcDuino tech talk at Carnegie Mellon University 10/14/2014
Jingfeng Liu
 
PDF
MediaTek Linkit Smart 7688 Webinar
MediaTek Labs
 
PDF
Iot Bootcamp - abridged - part 1
Marcus Tarquinio
 
PDF
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Alwin Arrasyid
 
PDF
Geek Pic-Nic Master Class
MediaTek Labs
 
Nio100 product guide 20150520
和得 王
 
Road to Republic of IoT - ESP32 Programming and LoRa
Andri Yadi
 
Perceptual Computing Workshop in Munich
BeMyApp
 
Boards for the IoT-Prototyping
Lars Gregori
 
Perceptual Computing Workshop à Paris
BeMyApp
 
Arduino i rremote 1112
馬 萬圳
 
DeviceHub - First steps using Intel Edison
Gabriel Arnautu
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Intel® Software
 
Open Source Home Automation with LinkSprite.IO
Jingfeng Liu
 
Esp8266 basics
Eueung Mulyana
 
Arduino1.0 RC
馬 萬圳
 
IOT Talking to Webserver - how to
Indraneel Ganguli
 
IoT on Raspberry Pi
John Staveley
 
IoT with openHAB on pcDuino3B
Jingfeng Liu
 
pcDuino Presentation at SparkFun
Jingfeng Liu
 
pcDuino tech talk at Carnegie Mellon University 10/14/2014
Jingfeng Liu
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Labs
 
Iot Bootcamp - abridged - part 1
Marcus Tarquinio
 
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Alwin Arrasyid
 
Geek Pic-Nic Master Class
MediaTek Labs
 

Similar to Lab Handson: Power your Creations with Intel Edison! (20)

PPTX
Начало работы с Intel IoT Dev Kit
Intel® Developer Zone Россия
 
PPT
Developing new zynq based instruments
Graham NAYLOR
 
PPTX
Tac Presentation October 72014- Raspberry PI
Cliff Samuels Jr.
 
PDF
Internet of Things Conference - Bogor city
Andri Yadi
 
PDF
Programming objects with android
firenze-gtug
 
PDF
ESP32 WiFi & Bluetooth Module - Getting Started Guide
handson28
 
PPTX
Starting Raspberry Pi
LloydMoore
 
PPTX
Android Things - The IoT platform from Google
Emmanuel Obot
 
PDF
Intel galileo
Sofian Hadiwijaya
 
PDF
How to Hack Edison
Shotaro Uchida
 
PDF
Arduino Development For Beginners
FTS seminar
 
PPT
Beagle board101 esc-boston-2009b
Michael Hallak-Stamler
 
PDF
Userspace drivers-2016
Chris Simmonds
 
PDF
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Andri Yadi
 
PDF
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
Samsung Open Source Group
 
PDF
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
WithTheBest
 
PDF
Smartphone++
mharkus
 
PDF
Hardwear.io 2018 BLE Security Essentials workshop
Slawomir Jasek
 
PDF
Deep Learning Edge
Ganesan Narayanasamy
 
PPT
Android Developer Meetup
Medialets
 
Начало работы с Intel IoT Dev Kit
Intel® Developer Zone Россия
 
Developing new zynq based instruments
Graham NAYLOR
 
Tac Presentation October 72014- Raspberry PI
Cliff Samuels Jr.
 
Internet of Things Conference - Bogor city
Andri Yadi
 
Programming objects with android
firenze-gtug
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
handson28
 
Starting Raspberry Pi
LloydMoore
 
Android Things - The IoT platform from Google
Emmanuel Obot
 
Intel galileo
Sofian Hadiwijaya
 
How to Hack Edison
Shotaro Uchida
 
Arduino Development For Beginners
FTS seminar
 
Beagle board101 esc-boston-2009b
Michael Hallak-Stamler
 
Userspace drivers-2016
Chris Simmonds
 
Echelon Indonesia 2016 - Innovation Through Opportunities in IoT & Arduino
Andri Yadi
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
Samsung Open Source Group
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
WithTheBest
 
Smartphone++
mharkus
 
Hardwear.io 2018 BLE Security Essentials workshop
Slawomir Jasek
 
Deep Learning Edge
Ganesan Narayanasamy
 
Android Developer Meetup
Medialets
 
Ad

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
PPTX
Pastore - Commodore 65 - La storia
Codemotion
 
PPTX
Pennisi - Essere Richard Altwasser
Codemotion
 
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
Pastore - Commodore 65 - La storia
Codemotion
 
Pennisi - Essere Richard Altwasser
Codemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
July Patch Tuesday
Ivanti
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 

Lab Handson: Power your Creations with Intel Edison!

  • 1. Getting Started with Intel IoT Developer Kit – Dev kit Sulamita Garcia – Developer Evangelist – Twitter @sulagarcia Milano, November 28 2014
  • 2. “If we’re not a part of this, we’re going to miss where the future of computing is going.” Brian Krzanich, Intel CEO Rome Maker Faire Oct 2013
  • 3. 3 VALUE PROPOSITION The Intel® Edison development platform is designed to lower the barriers to entry for a range of Inventors, Entrepreneurs and consumer product designers to rapidly prototype and produce IoT and wearable computing products. Intel Confidential
  • 4. 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)
  • 6. Intel® IoT Developer Kit Components LibMraa UPM (Sensor/Actuator library repository) Intel Galileo Gen 1 & 2 Board API Bindings C/C++, Node JS, Python Yocto based Linux OS image Intel Edison Arduino Development Board NodeJS Support C/C++ Tool Chain Wyliodrin Agent IoT Cloud Agent Hard Ware S/W Image on IoT platform Intel XDK IoT Edition (coming soon) Eclipse IDE + ISS (Optional) Wyliodrin (Visual Programming) Cloud Analytics / Mashery IDE/ Tools (Win, Mac, Linux) Sensors / Actuators Arduino IDE
  • 7. 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
  • 8. 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 card Ref.: http://maker.intel.com
  • 9. Intel® Edison - Arduino Expansion Board and Mini Breakout 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
  • 10. Grove Starter Kit Plus - Intel® IoT Edition Base 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
  • 11. Target audience and developer path Arduino Developer Arduino Developer Visual Programming (* Galileo Only) JavaScript Developer Wind River (*Galileo only) C / C++ Developer Target Audience Maker Beginner Intermediate Advanced Advanced Professional OS / Boot Image Tools/ Libraries Yocto Linux SPI Yocto Linux Yocto Linux Yocto Linux VxWorks Arduino LIbraries Wyliodrin XDK ISS IDE Dev Env Arduino IDE Win / Mac/ Linux Wyliodrin Web XDK Win/ Mac/ Linux Eclipse Win/ Mac / Linux WR Eclipse Win / Linux Programming Language Arduino Sketch C++ Visual Python JavaScript (Node JS) C/ C++ C / C++ Work Bench / ISS Cloud IoT Cloud Analytics IoT Cloud Analytics Widget IoT Cloud Analytics Mashery/ 3rd party IoT Cloud Analytics Mashery/ 3rd Party WR Cloud
  • 13. 13 Store, visualize and analyze your IoT data in the cloud Keep track of your devices Graph data from your devices Invite others to see your device data Send messages to your devices Create rules to notify you when your data gets interesting Download your data for further analysis
  • 14. Links 14 The Web Site – www.enableiot.com Getting Started - software.intel.com/iot Getting started Guides / Intel IoT Cloud Analytics Guide The API – github.com/enableiot/iotkit-api
  • 15. Online documentation for reference This presentation: http://slidesha.re/1uuFgBH https://software.intel.com/en-us/iot/getting-started http://intel.com/edison/getstarted
  • 16. Demos
  • 17. Connecting your environment microUSB <-> USB Ref.: https://communities.intel.com/docs/DOC-23147 Power / Arduino / flashing OS Serial port
  • 19. Arduino for Galileo or Edison https://communities.intel.com/docs/DOC-23242
  • 20. Setting up other developer environments
  • 21. Connect board via serial – discover port on Windows Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 22. Connect board via serial – discover port on MacOS After connecting the serial cable, check if you have /dev/cu.usbserial(*) LINUX - /dev/ttyUSB0 If not, you may need to install a serial-USB FTDI driver. Example: Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 23. Connect via serial – putty, goSerial or minicom Linux – minicom –D /dev/ttyUSB0 –s 115200 User: root, no password Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 24. Connecting Edison – configure_edison --setup Configure password Configure wifi Galileo should automatically set up an IP address.
  • 25. 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
  • 26. 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 
  • 27. Time to chose your path: C/C++: • Eclipse Javascript: • XDK Arduino • Arduino IDE for Galileo Visual Programming (Blocky) • Wyliodrin
  • 30. 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
  • 32. Click on Remote System Explorer Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 33. Fill the IP address on (3) Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 34. Running a sample - Click back on C/C++ Ref.: https://software.intel.com/en-us/node/519969
  • 35. Galileo - Right click 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  • 36. Click Run, select 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  • 38. Install the file copied from the SD card, XDK directory Ref.: http://xdk.intel.com/iot
  • 40. Start with a Sample (under IoT Projects) – click on “Use this Template”
  • 44. 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.
  • 45. Click Install/Build to fetch node modules specified in package.json and install them on device; 1st time click Build
  • 46. Click Upload to upload the current project to the Galileo board
  • 47. Click Run to run the project on the device. The LED should be blinking.
  • 48. Devkit library (MRAA) and sensor repository (UPM)
  • 49. MRAA lib - 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 %dn", mraa_gpio_read(gpio)); sleep(1); } mraa_gpio_close(gpio);
  • 50. 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); }
  • 51. Just remember to use the correspondent library Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  • 52. UPM API documentation – which library to use?
  • 53. Recap – navigating IDZ IoT - https://software.intel.com/iot
  • 56. Create your first app – copy&paste an existing sample
  • 57. Creating your first app – if you use UPM repository Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  • 59. Node.js MRAA var mraa = require(“mraa”) UPM Find the library name – example: libupm-grove -> replace “lib” for “js” and you have it: jsupm_grove Code: require(“jsupm_grove”);
  • 61. Python MRAA import mraa UPM Find the library name – example: libupm-grove -> replace “lib” for “py” and you have it: pyupm-grove Code: import pyupm_grove
  • 63. Go to IDZ IoT page, find your sensor
  • 65. //Load i2clcd module var LCD = require('jsupm_i2clcd'); //Initialize Jhd1313m1 at 0x62 (RGB_ADDRESS) and 0x3E (LCD_ADDRESS) var myLcd = new LCD.Jhd1313m1 (0, 0x3E, 0x62); myLcd.setCursor(0,0); myLcd.write('Hello World');
  • 66. Now, who has problems??? 