SlideShare una empresa de Scribd logo
1 de 67
Getting Started with Intel IoT Developer Kit – Dev 
kit 
Setup, Installing, Hello World and Sensors testing 
Sulamita Garcia – Developer Evangelist - @sulagarcia 
Munich, October 18 2014
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)
Important – before starting 
Intel Galileo Gen 1 -> 5V power supply 
Intel Galileo Gen 2 -> 12V power supply 
Intel Galileo Gen 1 + 12V power supply =
Devkit components
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
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 
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
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
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
Online documentation for reference 
This presentation: http://slidesha.re/1uuFgBH 
https://software.intel.com/en-us/iot/getting-started 
http://intel.com/edison/getstarted
Setting up the Galileo board
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
Setup the Edison board 
Distributed Edison already updated 
If not, update software: https://communities.intel.com/docs/DOC-23192
Setting up the developer environment
Connect the SD card in your computer – copy the IDE 
file correspondent to your OS; for Windows, copy win-driver 
too
Windows & Arduino – extract and install the contents of win-driver
Now connect your environment 
microUSB <-> USB 
Ref.: https://communities.intel.com/docs/DOC-23147
Now connect your environment 
USB <-> Serial cable 
Ethernet 
Power 
SD Card 
Serial 
3 
1 
2 
4 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
USB-Serial on Gen2 – black wire means ground
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(*) 
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 
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  
Vim: https://github.com/IntelOpenDesign/MakerNode/tree/master/iotkd_libs
Time to chose your path: 
C/C++: 
• Eclipse 
Javascript: 
• XDK 
Arduino 
• Arduino IDE for Galileo 
Visual Programming (Blocky) 
• Wyliodrin
Arduino for Galileo/Edison
Arduino for Galileo or Edison 
https://communities.intel.com/docs/DOC-23242
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.: https://software.intel.com/en-us/html5/xdk-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?
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 
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 
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
Recap – navigating IDZ IoT - https://software.intel.com/iot
Now, who has problems??? 

Más contenido relacionado

La actualidad más candente

Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Omer Kilic
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
Omer Kilic
 

La actualidad más candente (20)

Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2
 
Boards for the IoT-Prototyping
Boards for the IoT-PrototypingBoards for the IoT-Prototyping
Boards for the IoT-Prototyping
 
Rdl esp32 development board trainer kit
Rdl esp32 development board trainer kitRdl esp32 development board trainer kit
Rdl esp32 development board trainer kit
 
Interfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the WorldInterfacing the Raspberry Pi to the World
Interfacing the Raspberry Pi to the World
 
Intel galileo 101 ngesa n. marvin
Intel galileo 101 ngesa n. marvinIntel galileo 101 ngesa n. marvin
Intel galileo 101 ngesa n. marvin
 
Raspberry Pi introduction
Raspberry Pi introductionRaspberry Pi introduction
Raspberry Pi introduction
 
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing WorldCloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World
 
Espressif Introduction
Espressif IntroductionEspressif Introduction
Espressif Introduction
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
 
IOT Talking to Webserver - how to
IOT Talking to Webserver - how to IOT Talking to Webserver - how to
IOT Talking to Webserver - how to
 
Asus Tinker Board
Asus Tinker BoardAsus Tinker Board
Asus Tinker Board
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 Webinar
 
Esp8266 basics
Esp8266 basicsEsp8266 basics
Esp8266 basics
 
Geek Pic-Nic Master Class
Geek Pic-Nic Master ClassGeek Pic-Nic Master Class
Geek Pic-Nic Master Class
 
Arduino & NodeMcu
Arduino & NodeMcuArduino & NodeMcu
Arduino & NodeMcu
 
A Quick Introduction to Programmable Logic
A Quick Introduction to Programmable LogicA Quick Introduction to Programmable Logic
A Quick Introduction to Programmable Logic
 
Zynq 7010
Zynq 7010Zynq 7010
Zynq 7010
 
IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionUltra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
 
Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1
 

Destacado

Destacado (19)

Intel Edison a toda potencia.
Intel Edison a toda potencia.Intel Edison a toda potencia.
Intel Edison a toda potencia.
 
Building a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear ContainersBuilding a Virtualized Continuum with Intel(r) Clear Containers
Building a Virtualized Continuum with Intel(r) Clear Containers
 
State of the Word 2011
State of the Word 2011State of the Word 2011
State of the Word 2011
 
Intel Galileo: 04 - Instalação Linux no cartão de memória
Intel Galileo: 04 - Instalação Linux no cartão de memóriaIntel Galileo: 04 - Instalação Linux no cartão de memória
Intel Galileo: 04 - Instalação Linux no cartão de memória
 
Robotics competition 2016
Robotics competition 2016Robotics competition 2016
Robotics competition 2016
 
Teeth presentation by Nathan Carver
Teeth presentation by Nathan CarverTeeth presentation by Nathan Carver
Teeth presentation by Nathan Carver
 
Eclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel EdisonEclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel Edison
 
Gradle Glam: Plugins Galore
Gradle Glam: Plugins GaloreGradle Glam: Plugins Galore
Gradle Glam: Plugins Galore
 
Intel IoT webinar #1 - Tedison presentation
Intel IoT webinar  #1 - Tedison presentation Intel IoT webinar  #1 - Tedison presentation
Intel IoT webinar #1 - Tedison presentation
 
4G caster na SmartLiving.io platformi
4G caster na SmartLiving.io platformi4G caster na SmartLiving.io platformi
4G caster na SmartLiving.io platformi
 
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
 
2017 02-17 rsac 2017 tech-f02
2017 02-17 rsac 2017 tech-f022017 02-17 rsac 2017 tech-f02
2017 02-17 rsac 2017 tech-f02
 
Getting started with open cv in raspberry pi
Getting started with open cv in raspberry piGetting started with open cv in raspberry pi
Getting started with open cv in raspberry pi
 
Get To Know Galileo
Get To Know GalileoGet To Know Galileo
Get To Know Galileo
 
Using openCV on Raspberry Pi
Using openCV on Raspberry PiUsing openCV on Raspberry Pi
Using openCV on Raspberry Pi
 
Cell Phone Operated Robot for Search and Research of an Object
Cell Phone Operated Robot for Search and Research of an ObjectCell Phone Operated Robot for Search and Research of an Object
Cell Phone Operated Robot for Search and Research of an Object
 
Choosing the right platform for your Internet -of-Things solution
Choosing the right platform for your Internet -of-Things solutionChoosing the right platform for your Internet -of-Things solution
Choosing the right platform for your Internet -of-Things solution
 
IoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak GuptaIoT Knowledge Forum Slides by Deepak Gupta
IoT Knowledge Forum Slides by Deepak Gupta
 
Intel’s core i7
Intel’s core i7Intel’s core i7
Intel’s core i7
 

Similar a Getting started with Intel IoT Developer Kit

Similar a Getting started with Intel IoT Developer Kit (20)

Начало работы с Intel IoT Dev Kit
Начало работы с Intel IoT Dev KitНачало работы с Intel IoT Dev Kit
Начало работы с Intel IoT Dev Kit
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
arduino.pdf
arduino.pdfarduino.pdf
arduino.pdf
 
How to Hack Edison
How to Hack EdisonHow to Hack Edison
How to Hack Edison
 
Innovation with pcDuino
Innovation with pcDuinoInnovation with pcDuino
Innovation with pcDuino
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 
Introduction of Arduino Uno
Introduction of Arduino UnoIntroduction of Arduino Uno
Introduction of Arduino Uno
 
Raspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentRaspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application Development
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guide
 
2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of things
 
IoT Session Thomas More
IoT Session Thomas MoreIoT Session Thomas More
IoT Session Thomas More
 
Cc internet of things @ Thomas More
Cc internet of things @ Thomas MoreCc internet of things @ Thomas More
Cc internet of things @ Thomas More
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instruments
 
Republic of IoT 2018 - ESPectro32 and NB-IoT Workshop
Republic of IoT 2018 - ESPectro32 and NB-IoT WorkshopRepublic of IoT 2018 - ESPectro32 and NB-IoT Workshop
Republic of IoT 2018 - ESPectro32 and NB-IoT Workshop
 
Arduino
ArduinoArduino
Arduino
 
DeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonDeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel Edison
 
Raspberry pi technical documentation
Raspberry pi technical documentationRaspberry pi technical documentation
Raspberry pi technical documentation
 
ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu
 
Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshop
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Getting started with Intel IoT Developer Kit

  • 1. Getting Started with Intel IoT Developer Kit – Dev kit Setup, Installing, Hello World and Sensors testing Sulamita Garcia – Developer Evangelist - @sulagarcia Munich, October 18 2014
  • 2. 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)
  • 3. Important – before starting Intel Galileo Gen 1 -> 5V power supply Intel Galileo Gen 2 -> 12V power supply Intel Galileo Gen 1 + 12V power supply =
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. Online documentation for reference This presentation: http://slidesha.re/1uuFgBH https://software.intel.com/en-us/iot/getting-started http://intel.com/edison/getstarted
  • 13. Setting up the Galileo board
  • 14. 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
  • 15. Setup the Edison board Distributed Edison already updated If not, update software: https://communities.intel.com/docs/DOC-23192
  • 16. Setting up the developer environment
  • 17. Connect the SD card in your computer – copy the IDE file correspondent to your OS; for Windows, copy win-driver too
  • 18. Windows & Arduino – extract and install the contents of win-driver
  • 19. Now connect your environment microUSB <-> USB Ref.: https://communities.intel.com/docs/DOC-23147
  • 20. Now connect your environment USB <-> Serial cable Ethernet Power SD Card Serial 3 1 2 4 Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 21. USB-Serial on Gen2 – black wire means ground
  • 22. Connect board via serial – discover port on Windows Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 23. 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
  • 24. Connect via serial – putty, goSerial or minicom User: root, no password Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 25. Connecting Edison – configure_edison --setup Configure password Configure wifi Galileo should automatically set up an IP address.
  • 26. 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
  • 27. 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
  • 28. Time to chose your path: C/C++: • Eclipse Javascript: • XDK Arduino • Arduino IDE for Galileo Visual Programming (Blocky) • Wyliodrin
  • 30. Arduino for Galileo or Edison https://communities.intel.com/docs/DOC-23242
  • 32. 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
  • 34. Click on Remote System Explorer Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 35. Fill the IP address on (3) Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 36. Running a sample - Click back on C/C++ Ref.: https://software.intel.com/en-us/node/519969
  • 37. Galileo - Right click 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  • 38. Click Run, select 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  • 40. Install the file copied from the SD card, XDK directory Ref.: https://software.intel.com/en-us/html5/xdk-iot
  • 42. Start with a Sample (under IoT Projects) – click on “Use this Template”
  • 46. 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.
  • 47. Click Install/Build to fetch node modules specified in package.json and install them on device; 1st time click Build
  • 48. Click Upload to upload the current project to the Galileo board
  • 49. Click Run to run the project on the device. The LED should be blinking.
  • 50. Devkit library (MRAA) and sensor repository (UPM)
  • 51. 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);
  • 52. 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); }
  • 53. Just remember to use the correspondent library Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  • 54. UPM API documentation – which library to use?
  • 57. Create your first app – copy&paste an existing sample
  • 58. Creating your first app – if you use UPM repository Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  • 60. Node.js Find the library name – example: libupm-grove -> replace “lib” for “js” and you have it: jsupm_grove Code: require(“jsupm_grove”);
  • 62. Python Find the library name – example: libupm-grove -> replace “lib” for “py” and you have it: pyupm-grove Code: import pyupm_grove
  • 64. Go to IDZ IoT page, find your sensor
  • 66. Recap – navigating IDZ IoT - https://software.intel.com/iot
  • 67. Now, who has problems??? 