SlideShare a Scribd company logo
Getting Started with Intel® IoT Devkit 
Dr. Matthias Hahn 
Moscow Hackathon 
November 22-23 2014
Agenda 
Intel®Edison 
Intel® IoTDeveloper Kit Overview 
HW components 
Arduino* andLinux native programming 
Intel® IoTCloud Analytics 
* Other names and brands may be claimed as the property of others.
Intel® IoT Developer Kit 
Overview
ImportantIngredients 
Development 
•IDEs 
Target Images 
•libmraa: IO abstraction 
•UPM: sensorrepo 
•iotkit-agent 
Cloud 
•Intel® IoTAnalytics 
Hardware 
•Intel® Galileo orIntel® Edison 
•Grove Sensor Kit
Arduino* 
Visual Programming 
Node.JS 
C / C++ 
Target 
Audience 
Maker 
Beginner 
Intermediate 
Advanced 
IDE 
Arduino* IDE 
Intel® XDK 
Eclipse* IDE 
Supporting you 
Win/ Mac/ Linux 
Wyliodrin* 
Win/ Mac/ Linux 
Win/ Mac / Linux 
Browser 
platform
Intel® Galileo 
Gen 1 & 2 
Board 
Intel® Edison 
Arduino Development Board 
Yocto* based Linux OS image 
API Bindings C/C++, Node JS, Python 
UPM (Sensor/Actuator library repository) 
LibMraa 
NodeJSsupport 
C/C++ 
Tool Chains 
Wyliodrin* 
agent 
Hard Ware 
Target SW 
Intel® XDK IoTEdition 
Eclipse* IDE 
Wyliodrin* (Visual Programming) 
IDE 
Arduino* IDE 
IoTDeveloping 
Sensors / Actuators 
* Other names and brands may be claimed as the property of others.
Boards
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) 
* Other names and brands may be claimed as the property of others.
Intel® Edison -Mechanical Layout 
Top Side 
Bottom Side 
4 GBeMMC 
Intel® SoC/ 
1GB LPDDR3 
WiFi/ BT 
PMIC 
USBULPI 
70 pin 
connector 
antenna 
Extern Coax 
35.5 mm 
25mm
Intel® Edison 
Board 
•2 Intel® Atom™ cores @ 500 MHz 
•1 Intel® Quark™ MCU @ 100 MHz 
•35.5 ×25.0 ×3.9 mm 
•1 GB RAM (LPDDR3, 2ch @ 800 MT/s) 
•4 GB eMMC 
•WiFi(a/b/g/n) +BT 4.0 + antenna 
•40 GPIOs: UART, I2C, SPI, I2S, PWM, USB 2.0, SD card, clock out, GPIO 
Software 
•Default OS: Yocto* 1.6 Linux* 
•Rightnow3.10.17 kernel 
•OTA upgradable 
•libmraa: GPIO abstractionlayer 
•UPM repository: sensorlibraries 
* Other names and brands may be claimed as the property of others.
Caveats–Intel® Edison 
•Not latestlibmraa/ UPM? 
•Rootfs 
•Partition toosmall? 
•Partition empty? 
•Wireless 
•interfacesnot available? 
•xyznot supported? 
•LE not supported?
Expansion Boards 
Partner 
Expansion Boards 
Intel 
Expansion Boards 
Built to Order 
Expansion Boards
Extension Boards 
Intel® Edison 
•70 pinconnector 
•HiroseDF40 Series 
•Easy tobuildyourownboard 
Intel currentlyoffers2 boards 
•BreakoutBoard 
•Arduino* expansionboard 
* Other names and brands may be claimed as the property of others.
Intel® Edison –Arduino* Expansion Board 
•Arduino* Uno compatibility (except 4 rather 6 PWM) 
•20 digital GPIO (incl4 PWM) 
•6 analog inputs 
•1 UART (RX/TX) 
•1 I2C 
•1 ICSP 6-pin header (SPI) 
•switchable: Micro USB device | USB host 
•Micro USB device (UART) 
•Mini SD Card connector 
•DC power jack (7V –15V DC input) 
* Other names and brands may be claimed as the property of others.
Intel® Edison BreakoutBoard 
•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)
Partner Expansion BoardsExpl: Sparkfun* Boards 
* Other names and brands may be claimed as the property of others.
Grove* Starter Kit 
Intel® IoT version
Grove* Starter Kit Plus -Intel® IoTVersion 
1 
Base Shield v2 
2 
Grove -Buzzer V1.1 
3 
Grove –Button 
4 
Grove-LED v1.3 
5 
Grove -Sound Sensor_V1.2 
6 
Grove -Rotary Angle Sensor 
7 
Grove-Touch Sensor 
8 
Grove -Smart Relay 
9 
Grove-Light Sensor 
10 
Grove -Temperature Sensor_V1.1 
11 
26AWG Grove Cable 
12 
Mini Servo 
13 
9V to Barrel Jack Adapter -126mm 
14 
DIP LED Blue-Blue 
15 
DIP LED Green-Green 
16 
DIP LED Red-Red 
11 
Grove -LCD RGB Backlight 
USB, serial and Ethernet cables
Setting up the developer environment
Now connect your environment 
Intel® Galileo / Intel® Edison 
ForWindows*: firstinstalldriverfromUSB stick 
Ref.: https://communities.intel.com/docs/DOC-23147 
Serial 115200 
Serial 9600
Connect board via serial –discover port (Windows*) 
Ref.: https://software.intel.com/en-us/iot-c-eclipse
Connect via serial e.g. using PuTTy*, goSerial* or minicom* resp 
User: root, no password 
* Other names and brands may be claimed as the property of others.
Connecting Intel(R) Galileo 
Wifi 
connmanctl, rfkill, wpa_cli, hostapd_cli 
Bluetooth 
connmanctl, rfkill, bluetoothctl, hciconfig, hcidump, btmon 
serial
Connecting Intel(R) Edison 
On Windows* -first install driver from USB stick 
“configure_edison --setup” 
•One central way to set hostname, password and configure wifi 
Wifi 
connmanctl, rfkill, wpa_cli, hostapd_cli 
Bluetooth 
connmanctl, rfkill, bluetoothctl, hciconfig, hcidump, btmon 
Eth over USB 
serial 
* Other names and brands may be claimed as the property of others.
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
Programming
Arduino* IDE forIntel® Edison 
* Other names and brands may be claimed as the property of others.
Arduino* IDE 
Sketch  /sketch/sketch.elf 
•Cross compiler 
•clloaderlisteningon /dev/ttyGS0 
•Upload via serial 
•Renamingexistingsketch.elf 
* Other names and brands may be claimed as the property of others.
IoT Getting Started with Intel® IoT Devkit
Go to IDZ IoT page, find your sensor
Under References, follow Grove Wiki
Recap –navigating IDZ IoT -https://software.intel.com/iot
libmraa & UPM
libmraa -https://github.com/intel-iot-devkit/mraa 
IO abstraction layer (C, C++, Python, Node.JS) 
Used by 
•UPM 
•Intel(R) XDK for IoT 
•Wyliodrin* 
API documentation http://iotdk.intel.com/docs/master/ mraa/ 
* Other names and brands may be claimed as the property of others.
Libmraa-C APIExpl: switch on GPIO #8 
mraa_gpio_contextgpio; // Pointer to GPIO context 
gpio= mraa_gpio_init(8); // Create GPIO context for pin 8 
mraa_gpio_dir(gpio, MRAA_GPIO_OUT); // GPIO direction: out 
mraa_gpio_write(gpio, 1); // Write to GPIO 
mraa_gpio_close(gpio); // Close GPIO
Libmraa-C++ Expl: read analogue value on A0 
mraa::Aio* a0; 
a0 = new mraa::Aio(0); // Create AIO object for pin 0 
std::cout<< a0->read() << std::endl;
Libmraa–Object API (Python) Expl: interrupt triggered on IO #6 
from mraaimport * # Import mraalibrary 
# define a callback function 
defmy_isr(): 
print("Button pressed") 
x = Gpio(6) # Create a GPIO object for pin 6 
x.dir(DIR_IN) # Set GPIO direction to input 
x.isr(EDGE_BOTH, my_isr) # Set callback on BOTH
Libmraa–Object API (Node.js) Expl: did we have this? –switch on IO #8 
varm = require("mraa") # Import mraamodule 
varx = new m.Gpio(8) # Create a GPIO object for pin 8 
x.dir(m.DIR_OUT) # Set GPIO direction to output 
x.write(1) # Write to GPIO
IoT Getting Started with Intel® IoT Devkit
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 
C++ example: 
// Copyright (c) 2014 Intel Corporation. MIT license 
upm::GroveTemp* s = new upm::GroveTemp(0); 
std::cout<< s->name() << std::endl; 
for (inti=0; i < 10; i++) { 
std::cout<< s->value() << std::endl; 
sleep(1); 
}
UPM API documentation –which library to use?
Updatinglibmraa/ UPM 
cat> /etc/opkg/mraa-upm.conf<<EOF 
srcmraa-upmhttp://iotdk.intel.com/repos/1.1/intelgalactic 
EOF 
opkgupdate 
opkgupgrade 
* Other names and brands may be claimed as the property of others.
Eclipse* IDE 
* Other names and brands may be claimed as the property of others.
IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT Devkit
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
Intel(r) XDK for 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 
Youmighthavetorestartxdk- daemon(systemctlrestartxdk- daemon)
Toggle the console
sync host / target time if needed
Install / build
Upload to target
run on target
Wyliodrin* 
* Other names and brands may be claimed as the property of others.
Ex: programmingvia cloudwithwww.wyliodrin.com
IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT Devkit
Please name your board and select Intel Galileo and press Next
Cable (Ethernet) 
WiFi
Your SD Card is already with the Galileo Image, so all you need to do is to download (1) wyliodrin.json 
and (2) write it on the root of the SD Card. Make sure the name is exactly wyliodrin.json 
1 
2
Install the updates and the extra libraries. This make take some time to run
IoT Getting Started with Intel® IoT Devkit
Intel® IoT Analytics 
www.enableiot.com
Intel® IoTAnalytics -www.enableiot.com 
RESTfulAPI 
iotkit-agent (UDP / TCP) 
#! /usr/bin/envpythonimport socketimport sys 
UDP_PORT = 41234 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
sock.sendto('{"n":"' + component + ‘","v":"' + value + '"}', ('localhost', UDP_PORT))
Login to IoTAnalytics 
Login in to Intel® IoTAnalytics Cloud 
https://dashboard.us.enableiot.com 
Variousloginoptions
Next steps?
IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT Devkit

More Related Content

PPTX
Lab Handson: Power your Creations with Intel Edison!
PPTX
DIY Science using the Intel IoT Developer Kit
PDF
Overview of the Intel® Internet of Things Developer Kit
PPTX
Intel Edison: Beyond the Breadboard
PPTX
Developing a NodeBot using Intel XDK IoT Edition
PDF
Interacting with Intel Edison
PPTX
Getting started with Intel IoT Developer Kit
PDF
Rdl esp32 development board trainer kit
Lab Handson: Power your Creations with Intel Edison!
DIY Science using the Intel IoT Developer Kit
Overview of the Intel® Internet of Things Developer Kit
Intel Edison: Beyond the Breadboard
Developing a NodeBot using Intel XDK IoT Edition
Interacting with Intel Edison
Getting started with Intel IoT Developer Kit
Rdl esp32 development board trainer kit

What's hot (20)

PDF
Boards for the IoT-Prototyping
PDF
Road to Republic of IoT - ESP32 Programming and LoRa
PDF
DeviceHub - First steps using Intel Edison
PDF
MediaTek Linkit Smart 7688 Webinar
PDF
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
PDF
Internet Of Things: Hands on: YOW! night
PPTX
Get To Know Galileo
PDF
Esp8266 basics
PPTX
Arduino i rremote 1112
PDF
Perceptual Computing Workshop in Munich
PDF
Perceptual Computing Workshop à Paris
PDF
R U aBLE? BLE Application Hacking
PPTX
Arduino1.0 RC
PDF
Brillo/Weave Part 2: Deep Dive
PDF
Intel Graphics Performance Analyzers (Intel GPA)
PDF
HITBSecConf 2016-Create Your Own Bad Usb
PDF
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
PDF
Home Automation by ESP8266
PPTX
IOT Talking to Webserver - how to
PPTX
Open Source Home Automation with LinkSprite.IO
Boards for the IoT-Prototyping
Road to Republic of IoT - ESP32 Programming and LoRa
DeviceHub - First steps using Intel Edison
MediaTek Linkit Smart 7688 Webinar
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Internet Of Things: Hands on: YOW! night
Get To Know Galileo
Esp8266 basics
Arduino i rremote 1112
Perceptual Computing Workshop in Munich
Perceptual Computing Workshop à Paris
R U aBLE? BLE Application Hacking
Arduino1.0 RC
Brillo/Weave Part 2: Deep Dive
Intel Graphics Performance Analyzers (Intel GPA)
HITBSecConf 2016-Create Your Own Bad Usb
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Home Automation by ESP8266
IOT Talking to Webserver - how to
Open Source Home Automation with LinkSprite.IO
Ad

Viewers also liked (20)

PDF
Wearables Corporate View by Intel 2014
PDF
Augmented Reality - Bread or Circus View by Eligo Vision company June 2014
PDF
Центр мобильных технологий Сколково - программа для проектов
PDF
Internet trends 2014_by Mary Meeker
PDF
Центр мобильных технологий Сколково - Акселерационная программа - Весенний на...
PDF
Wearables and Augmented Reality business trends 2014
PDF
Edison pb 331179-001 (2)
PPTX
Template for-first-investor-pitch
PDF
Lean Startup Accelerator for Enterprises to Create New Businesses
PDF
Futures Studies Timeline
PDF
Body sensor networks: challenges & applications
PDF
Introduction to intel galileo board gen2
PPT
Galileo - Introduction
PDF
Virtual Business Incubator: how it works
PPTX
Robotics workshop PPT
PDF
Cтек технологий и проблем AR VR
PDF
Аналитический отчет о рынке AR & VR в России 2015
PPTX
Intel galileo gen 2
PDF
What may happen in the next hundred years by John Watkins 1900
PDF
Sitran Megatrendit 2016
Wearables Corporate View by Intel 2014
Augmented Reality - Bread or Circus View by Eligo Vision company June 2014
Центр мобильных технологий Сколково - программа для проектов
Internet trends 2014_by Mary Meeker
Центр мобильных технологий Сколково - Акселерационная программа - Весенний на...
Wearables and Augmented Reality business trends 2014
Edison pb 331179-001 (2)
Template for-first-investor-pitch
Lean Startup Accelerator for Enterprises to Create New Businesses
Futures Studies Timeline
Body sensor networks: challenges & applications
Introduction to intel galileo board gen2
Galileo - Introduction
Virtual Business Incubator: how it works
Robotics workshop PPT
Cтек технологий и проблем AR VR
Аналитический отчет о рынке AR & VR в России 2015
Intel galileo gen 2
What may happen in the next hundred years by John Watkins 1900
Sitran Megatrendit 2016
Ad

Similar to IoT Getting Started with Intel® IoT Devkit (20)

PPTX
Начало работы с Intel IoT Dev Kit
PPT
Developing new zynq based instruments
PDF
How to Hack Edison
PDF
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
PPTX
Berlin roadshow eclipse session final
PDF
Pre meetup intel® roadshow london
PDF
Intel galileo
PPTX
IoT on Raspberry Pi
PDF
Intels presentation at blue line industrial computer seminar
PDF
BKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
PDF
Userspace drivers-2016
PPTX
Tac Presentation October 72014- Raspberry PI
PDF
Raspberry pi technical documentation
PPTX
Starting Raspberry Pi
PDF
Geek Pic-Nic Master Class
PDF
Lund Linux Conference 2016, Lund, Sweden - Introduction to Brillo OS & Weave
PPTX
Arduino
PPTX
Raspbeery PI IoT
PDF
Study on Android Emulator
PDF
Taking the hard out of hardware
Начало работы с Intel IoT Dev Kit
Developing new zynq based instruments
How to Hack Edison
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
Berlin roadshow eclipse session final
Pre meetup intel® roadshow london
Intel galileo
IoT on Raspberry Pi
Intels presentation at blue line industrial computer seminar
BKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
Userspace drivers-2016
Tac Presentation October 72014- Raspberry PI
Raspberry pi technical documentation
Starting Raspberry Pi
Geek Pic-Nic Master Class
Lund Linux Conference 2016, Lund, Sweden - Introduction to Brillo OS & Weave
Arduino
Raspbeery PI IoT
Study on Android Emulator
Taking the hard out of hardware

More from Vasily Ryzhonkov (19)

PDF
Goldman Sachs VR & AR report 2015
PDF
ARena Space VR _ VR Parks_ Investment Presentation_June 2017_(eng)
PPTX
ARena Space VR (VR Parks Investment Presentation)_June 2017
PDF
The rise of VR & AR era. Why this time is different?
PDF
Программа акселерации Hardware 2.0 _ Центр мобильных технологий и HaxAsia
PDF
GSMA Global Mobile Economy Report 2015
PDF
IoT transforming industries by Ericsson
PDF
Центр мобильных технологий: акселератор, коворкинг и хакспейс для проектов ра...
PPTX
IoT Challenges & Promissing Trends Sk 2015
PPTX
Интернет Вещей тренды проблемы инвестиции Sk 2014
PDF
Who controls the World?
PDF
Steven Feiner Startup Village WC & AR Technological trends June 2014
PDF
Cisco Internet of Things and WC june 2014
PDF
High tech startups in wearable computing & augmented reality
PDF
Wearable Technology Sep 2013
PDF
IDC Digital Universe 2014
PDF
Future of Wearable Tech 2014 (PSFK, IQ Intel)
PPTX
Virtual Business Incubator Framework for Enriching Innovation Ecosystem 2013
PDF
Russian Internet Dealbook 2012 2013 Fastlane Ventures
Goldman Sachs VR & AR report 2015
ARena Space VR _ VR Parks_ Investment Presentation_June 2017_(eng)
ARena Space VR (VR Parks Investment Presentation)_June 2017
The rise of VR & AR era. Why this time is different?
Программа акселерации Hardware 2.0 _ Центр мобильных технологий и HaxAsia
GSMA Global Mobile Economy Report 2015
IoT transforming industries by Ericsson
Центр мобильных технологий: акселератор, коворкинг и хакспейс для проектов ра...
IoT Challenges & Promissing Trends Sk 2015
Интернет Вещей тренды проблемы инвестиции Sk 2014
Who controls the World?
Steven Feiner Startup Village WC & AR Technological trends June 2014
Cisco Internet of Things and WC june 2014
High tech startups in wearable computing & augmented reality
Wearable Technology Sep 2013
IDC Digital Universe 2014
Future of Wearable Tech 2014 (PSFK, IQ Intel)
Virtual Business Incubator Framework for Enriching Innovation Ecosystem 2013
Russian Internet Dealbook 2012 2013 Fastlane Ventures

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Monthly Chronicles - July 2025
madgavkar20181017ppt McKinsey Presentation.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
GamePlan Trading System Review: Professional Trader's Honest Take
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Transforming Manufacturing operations through Intelligent Integrations
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced Soft Computing BINUS July 2025.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
Network Security Unit 5.pdf for BCA BBA.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

IoT Getting Started with Intel® IoT Devkit

  • 1. Getting Started with Intel® IoT Devkit Dr. Matthias Hahn Moscow Hackathon November 22-23 2014
  • 2. Agenda Intel®Edison Intel® IoTDeveloper Kit Overview HW components Arduino* andLinux native programming Intel® IoTCloud Analytics * Other names and brands may be claimed as the property of others.
  • 3. Intel® IoT Developer Kit Overview
  • 4. ImportantIngredients Development •IDEs Target Images •libmraa: IO abstraction •UPM: sensorrepo •iotkit-agent Cloud •Intel® IoTAnalytics Hardware •Intel® Galileo orIntel® Edison •Grove Sensor Kit
  • 5. Arduino* Visual Programming Node.JS C / C++ Target Audience Maker Beginner Intermediate Advanced IDE Arduino* IDE Intel® XDK Eclipse* IDE Supporting you Win/ Mac/ Linux Wyliodrin* Win/ Mac/ Linux Win/ Mac / Linux Browser platform
  • 6. Intel® Galileo Gen 1 & 2 Board Intel® Edison Arduino Development Board Yocto* based Linux OS image API Bindings C/C++, Node JS, Python UPM (Sensor/Actuator library repository) LibMraa NodeJSsupport C/C++ Tool Chains Wyliodrin* agent Hard Ware Target SW Intel® XDK IoTEdition Eclipse* IDE Wyliodrin* (Visual Programming) IDE Arduino* IDE IoTDeveloping Sensors / Actuators * Other names and brands may be claimed as the property of others.
  • 8. 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) * Other names and brands may be claimed as the property of others.
  • 9. Intel® Edison -Mechanical Layout Top Side Bottom Side 4 GBeMMC Intel® SoC/ 1GB LPDDR3 WiFi/ BT PMIC USBULPI 70 pin connector antenna Extern Coax 35.5 mm 25mm
  • 10. Intel® Edison Board •2 Intel® Atom™ cores @ 500 MHz •1 Intel® Quark™ MCU @ 100 MHz •35.5 ×25.0 ×3.9 mm •1 GB RAM (LPDDR3, 2ch @ 800 MT/s) •4 GB eMMC •WiFi(a/b/g/n) +BT 4.0 + antenna •40 GPIOs: UART, I2C, SPI, I2S, PWM, USB 2.0, SD card, clock out, GPIO Software •Default OS: Yocto* 1.6 Linux* •Rightnow3.10.17 kernel •OTA upgradable •libmraa: GPIO abstractionlayer •UPM repository: sensorlibraries * Other names and brands may be claimed as the property of others.
  • 11. Caveats–Intel® Edison •Not latestlibmraa/ UPM? •Rootfs •Partition toosmall? •Partition empty? •Wireless •interfacesnot available? •xyznot supported? •LE not supported?
  • 12. Expansion Boards Partner Expansion Boards Intel Expansion Boards Built to Order Expansion Boards
  • 13. Extension Boards Intel® Edison •70 pinconnector •HiroseDF40 Series •Easy tobuildyourownboard Intel currentlyoffers2 boards •BreakoutBoard •Arduino* expansionboard * Other names and brands may be claimed as the property of others.
  • 14. Intel® Edison –Arduino* Expansion Board •Arduino* Uno compatibility (except 4 rather 6 PWM) •20 digital GPIO (incl4 PWM) •6 analog inputs •1 UART (RX/TX) •1 I2C •1 ICSP 6-pin header (SPI) •switchable: Micro USB device | USB host •Micro USB device (UART) •Mini SD Card connector •DC power jack (7V –15V DC input) * Other names and brands may be claimed as the property of others.
  • 15. Intel® Edison BreakoutBoard •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)
  • 16. Partner Expansion BoardsExpl: Sparkfun* Boards * Other names and brands may be claimed as the property of others.
  • 17. Grove* Starter Kit Intel® IoT version
  • 18. Grove* Starter Kit Plus -Intel® IoTVersion 1 Base Shield v2 2 Grove -Buzzer V1.1 3 Grove –Button 4 Grove-LED v1.3 5 Grove -Sound Sensor_V1.2 6 Grove -Rotary Angle Sensor 7 Grove-Touch Sensor 8 Grove -Smart Relay 9 Grove-Light Sensor 10 Grove -Temperature Sensor_V1.1 11 26AWG Grove Cable 12 Mini Servo 13 9V to Barrel Jack Adapter -126mm 14 DIP LED Blue-Blue 15 DIP LED Green-Green 16 DIP LED Red-Red 11 Grove -LCD RGB Backlight USB, serial and Ethernet cables
  • 19. Setting up the developer environment
  • 20. Now connect your environment Intel® Galileo / Intel® Edison ForWindows*: firstinstalldriverfromUSB stick Ref.: https://communities.intel.com/docs/DOC-23147 Serial 115200 Serial 9600
  • 21. Connect board via serial –discover port (Windows*) Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 22. Connect via serial e.g. using PuTTy*, goSerial* or minicom* resp User: root, no password * Other names and brands may be claimed as the property of others.
  • 23. Connecting Intel(R) Galileo Wifi connmanctl, rfkill, wpa_cli, hostapd_cli Bluetooth connmanctl, rfkill, bluetoothctl, hciconfig, hcidump, btmon serial
  • 24. Connecting Intel(R) Edison On Windows* -first install driver from USB stick “configure_edison --setup” •One central way to set hostname, password and configure wifi Wifi connmanctl, rfkill, wpa_cli, hostapd_cli Bluetooth connmanctl, rfkill, bluetoothctl, hciconfig, hcidump, btmon Eth over USB serial * Other names and brands may be claimed as the property of others.
  • 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
  • 27. Arduino* IDE forIntel® Edison * Other names and brands may be claimed as the property of others.
  • 28. Arduino* IDE Sketch  /sketch/sketch.elf •Cross compiler •clloaderlisteningon /dev/ttyGS0 •Upload via serial •Renamingexistingsketch.elf * Other names and brands may be claimed as the property of others.
  • 30. Go to IDZ IoT page, find your sensor
  • 32. Recap –navigating IDZ IoT -https://software.intel.com/iot
  • 34. libmraa -https://github.com/intel-iot-devkit/mraa IO abstraction layer (C, C++, Python, Node.JS) Used by •UPM •Intel(R) XDK for IoT •Wyliodrin* API documentation http://iotdk.intel.com/docs/master/ mraa/ * Other names and brands may be claimed as the property of others.
  • 35. Libmraa-C APIExpl: switch on GPIO #8 mraa_gpio_contextgpio; // Pointer to GPIO context gpio= mraa_gpio_init(8); // Create GPIO context for pin 8 mraa_gpio_dir(gpio, MRAA_GPIO_OUT); // GPIO direction: out mraa_gpio_write(gpio, 1); // Write to GPIO mraa_gpio_close(gpio); // Close GPIO
  • 36. Libmraa-C++ Expl: read analogue value on A0 mraa::Aio* a0; a0 = new mraa::Aio(0); // Create AIO object for pin 0 std::cout<< a0->read() << std::endl;
  • 37. Libmraa–Object API (Python) Expl: interrupt triggered on IO #6 from mraaimport * # Import mraalibrary # define a callback function defmy_isr(): print("Button pressed") x = Gpio(6) # Create a GPIO object for pin 6 x.dir(DIR_IN) # Set GPIO direction to input x.isr(EDGE_BOTH, my_isr) # Set callback on BOTH
  • 38. Libmraa–Object API (Node.js) Expl: did we have this? –switch on IO #8 varm = require("mraa") # Import mraamodule varx = new m.Gpio(8) # Create a GPIO object for pin 8 x.dir(m.DIR_OUT) # Set GPIO direction to output x.write(1) # Write to GPIO
  • 40. 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 C++ example: // Copyright (c) 2014 Intel Corporation. MIT license upm::GroveTemp* s = new upm::GroveTemp(0); std::cout<< s->name() << std::endl; for (inti=0; i < 10; i++) { std::cout<< s->value() << std::endl; sleep(1); }
  • 41. UPM API documentation –which library to use?
  • 42. Updatinglibmraa/ UPM cat> /etc/opkg/mraa-upm.conf<<EOF srcmraa-upmhttp://iotdk.intel.com/repos/1.1/intelgalactic EOF opkgupdate opkgupgrade * Other names and brands may be claimed as the property of others.
  • 43. Eclipse* IDE * Other names and brands may be claimed as the property of others.
  • 46. 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
  • 48. Click on Remote System Explorer Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 49. Fill the IP address on (3) Ref.: https://software.intel.com/en-us/iot-c-eclipse
  • 52. Start with a Sample (under IoT Projects) –click on “Use this Template”
  • 54. Select Galileo/Edison board Youmighthavetorestartxdk- daemon(systemctlrestartxdk- daemon)
  • 56. sync host / target time if needed
  • 60. Wyliodrin* * Other names and brands may be claimed as the property of others.
  • 64. Please name your board and select Intel Galileo and press Next
  • 66. Your SD Card is already with the Galileo Image, so all you need to do is to download (1) wyliodrin.json and (2) write it on the root of the SD Card. Make sure the name is exactly wyliodrin.json 1 2
  • 67. Install the updates and the extra libraries. This make take some time to run
  • 69. Intel® IoT Analytics www.enableiot.com
  • 70. Intel® IoTAnalytics -www.enableiot.com RESTfulAPI iotkit-agent (UDP / TCP) #! /usr/bin/envpythonimport socketimport sys UDP_PORT = 41234 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto('{"n":"' + component + ‘","v":"' + value + '"}', ('localhost', UDP_PORT))
  • 71. Login to IoTAnalytics Login in to Intel® IoTAnalytics Cloud https://dashboard.us.enableiot.com Variousloginoptions