SlideShare uma empresa Scribd logo
1 de 74
Getting Started with Intel® IoT Devkit 
Dr. Matthias Hahn 
Moscow Hackathon 
November 22-23 2014
Agenda 
Intel® Edison 
Intel® IoT Developer Kit Overview 
HW components 
Arduino* and Linux native programming 
Intel® IoT Cloud Analytics 
* Other names and brands may be 
claimed as the property of others.
Intel® IoT Developer Kit 
Overview
Important Ingredients 
Development 
• IDEs 
Target Images 
• libmraa: IO abstraction 
• UPM: sensor repo 
• iotkit-agent 
Cloud 
• Intel® IoT Analytics 
Hardware 
• Intel® Galileo or Intel® Edison 
• Grove Sensor Kit
Supporting you 
Arduino* Visual 
Programming 
Node.JS C / C++ 
Target 
Audience 
Maker Beginner Intermediate Advanced 
IDE Arduino* IDE Intel® XDK Eclipse* IDE 
Win/ Mac/ Linux 
Wyliodrin* 
platform Browser Win/ Mac/ Linux Win/ Mac / Linux
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 Chains 
Wyliodrin* 
agent 
Hard Ware Target SW 
Intel® XDK 
IoT Edition 
Eclipse* IDE 
Wyliodrin* 
(Visual 
Programming) 
IDE 
Arduino* IDE 
IoT Developing 
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 
4 GB 
eMMC Intel® SoC / 
1GB LPDDR3 
WiFi / 
BT 
PMIC 
Top Side Bottom Side 
USB 
ULPI 
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* 
• Right now 3.10.17 kernel 
• OTA upgradable 
• libmraa: GPIO abstraction layer 
• UPM repository: sensor libraries 
* Other names and brands may be 
claimed as the property of others.
Caveats – Intel® Edison 
• Not latest libmraa / UPM? 
• Rootfs 
• Partition too small? 
• Partition empty? 
• Wireless 
• interfaces not available? 
• xyz not supported? 
• LE not supported?
Expansion Boards 
Partner 
Expansion Boards 
Intel 
Expansion Boards 
Built to Order 
Expansion 
Boards
Extension Boards 
Intel® Edison 
• 70 pin connector 
• Hirose DF40 Series 
• Easy to build your own board 
Intel currently offers 2 boards 
• Breakout Board 
• Arduino* expansion board 
* Other names and brands may be 
claimed as the property of others.
Intel® Edison – Arduino* Expansion Board 
• Arduino* Uno compatibility (except 4 rather 6 PWM) 
• 20 digital GPIO (incl 4 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 Breakout Board 
• I/O: array of through-hole solder points 
• USB OTG with USB Micro (AB) 
• Battery charger 
• USB micro (B) [UART] 
• DC power supply jack (7 to 15 VDC)
Partner Expansion Boards 
Expl: 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® IoT Version 
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 
For Windows*: first install driver from USB stick 
Ref.: https://communities.intel.com/docs/DOC-23147 
Serial 9600 
Serial 115200
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 for Intel® Edison 
* Other names and brands may be 
claimed as the property of others.
Arduino* IDE 
Sketch  
/sketch/sketch.elf 
• Cross compiler 
• clloader listening on 
/dev/ttyGS0 
• Upload via serial 
• Renaming existing 
sketch.elf 
* Other names and brands may be 
claimed as the property of others.
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/mr 
aa/ 
* Other names and brands may be 
claimed as the property of others.
Libmraa - C API 
Expl: switch on GPIO #8 
mraa_gpio_context gpio; // 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 mraa import * # Import mraa library 
# define a callback function 
def my_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 
var m = require("mraa") # Import mraa module 
var x = 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
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 (int i=0; i < 10; i++) { 
std::cout << s->value() << std::endl; 
sleep(1); 
}
UPM API documentation – which library to use?
Updating libmraa / UPM 
cat > /etc/opkg/mraa-upm.conf <<EOF 
src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic 
EOF 
opkg update 
opkg upgrade 
* 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.
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 
You might have to restart xdk-daemon 
(systemctl restart xdk-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: programming via cloud with www.wyliodrin.com
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
Intel® IoT Analytics 
www.enableiot.com
Intel® IoT Analytics - www.enableiot.com 
RESTful API 
iotkit-agent (UDP / TCP) 
#! /usr/bin/env python 
import socket 
import sys 
UDP_PORT = 41234 
sock = socket.socket(socket.AF_INET, 
socket.SOCK_DGRAM) 
sock.sendto('{"n":"' + component + 
‘","v":"' + value + '"}', ('localhost', UDP_PORT))
Login to IoT Analytics 
Login in to Intel® IoT Analytics Cloud 
https://dashboard.us.enableiot.com 
Various login options
Next steps?
Начало работы с Intel IoT Dev Kit
Начало работы с Intel IoT Dev Kit

Mais conteúdo relacionado

Semelhante a Начало работы с Intel IoT Dev Kit

IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitIoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitVasily Ryzhonkov
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Codemotion
 
Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitSulamita Garcia
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitIntel® Software
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionIntel® Software
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instrumentsGraham NAYLOR
 
Perceptual Computing Workshop à Paris
Perceptual Computing Workshop à ParisPerceptual Computing Workshop à Paris
Perceptual Computing Workshop à ParisBeMyApp
 
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...Hackito Ergo Sum
 
Perceptual Computing Workshop in Munich
Perceptual Computing Workshop in MunichPerceptual Computing Workshop in Munich
Perceptual Computing Workshop in MunichBeMyApp
 
DeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonDeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonGabriel Arnautu
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PICliff Samuels Jr.
 
Raspberry pi technical documentation
Raspberry pi technical documentationRaspberry pi technical documentation
Raspberry pi technical documentationGR Techno Solutions
 
BKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
BKK16-211 Internet of Tiny Linux (io tl)- Status and ProgressBKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
BKK16-211 Internet of Tiny Linux (io tl)- Status and ProgressLinaro
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry PiLloydMoore
 
Raspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentRaspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentCorley S.r.l.
 
Taking the hard out of hardware
Taking the hard out of hardwareTaking the hard out of hardware
Taking the hard out of hardwareRonald McCollam
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016Chris Simmonds
 
[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2Công Hoàng Văn
 

Semelhante a Начало работы с Intel IoT Dev Kit (20)

IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitIoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT Devkit
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer Kit
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
How to Hack Edison
How to Hack EdisonHow to Hack Edison
How to Hack Edison
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instruments
 
Perceptual Computing Workshop à Paris
Perceptual Computing Workshop à ParisPerceptual Computing Workshop à Paris
Perceptual Computing Workshop à Paris
 
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
[HES2013] Hacking apple accessories to pown iDevices – Wake up Neo! Your phon...
 
Perceptual Computing Workshop in Munich
Perceptual Computing Workshop in MunichPerceptual Computing Workshop in Munich
Perceptual Computing Workshop in Munich
 
DeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonDeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel Edison
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
Raspberry pi technical documentation
Raspberry pi technical documentationRaspberry pi technical documentation
Raspberry pi technical documentation
 
BKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
BKK16-211 Internet of Tiny Linux (io tl)- Status and ProgressBKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
BKK16-211 Internet of Tiny Linux (io tl)- Status and Progress
 
Arduino
ArduinoArduino
Arduino
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 
Raspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentRaspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application Development
 
Taking the hard out of hardware
Taking the hard out of hardwareTaking the hard out of hardware
Taking the hard out of hardware
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2
 

Начало работы с Intel IoT Dev Kit

  • 1. Getting Started with Intel® IoT Devkit Dr. Matthias Hahn Moscow Hackathon November 22-23 2014
  • 2. Agenda Intel® Edison Intel® IoT Developer Kit Overview HW components Arduino* and Linux native programming Intel® IoT Cloud Analytics * Other names and brands may be claimed as the property of others.
  • 3. Intel® IoT Developer Kit Overview
  • 4. Important Ingredients Development • IDEs Target Images • libmraa: IO abstraction • UPM: sensor repo • iotkit-agent Cloud • Intel® IoT Analytics Hardware • Intel® Galileo or Intel® Edison • Grove Sensor Kit
  • 5. Supporting you Arduino* Visual Programming Node.JS C / C++ Target Audience Maker Beginner Intermediate Advanced IDE Arduino* IDE Intel® XDK Eclipse* IDE Win/ Mac/ Linux Wyliodrin* platform Browser Win/ Mac/ Linux Win/ Mac / Linux
  • 6. 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 Chains Wyliodrin* agent Hard Ware Target SW Intel® XDK IoT Edition Eclipse* IDE Wyliodrin* (Visual Programming) IDE Arduino* IDE IoT Developing 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 4 GB eMMC Intel® SoC / 1GB LPDDR3 WiFi / BT PMIC Top Side Bottom Side USB ULPI 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* • Right now 3.10.17 kernel • OTA upgradable • libmraa: GPIO abstraction layer • UPM repository: sensor libraries * Other names and brands may be claimed as the property of others.
  • 11. Caveats – Intel® Edison • Not latest libmraa / UPM? • Rootfs • Partition too small? • Partition empty? • Wireless • interfaces not available? • xyz not supported? • LE not supported?
  • 12. Expansion Boards Partner Expansion Boards Intel Expansion Boards Built to Order Expansion Boards
  • 13. Extension Boards Intel® Edison • 70 pin connector • Hirose DF40 Series • Easy to build your own board Intel currently offers 2 boards • Breakout Board • Arduino* expansion board * Other names and brands may be claimed as the property of others.
  • 14. Intel® Edison – Arduino* Expansion Board • Arduino* Uno compatibility (except 4 rather 6 PWM) • 20 digital GPIO (incl 4 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 Breakout Board • I/O: array of through-hole solder points • USB OTG with USB Micro (AB) • Battery charger • USB micro (B) [UART] • DC power supply jack (7 to 15 VDC)
  • 16. Partner Expansion Boards Expl: 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® IoT Version 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 For Windows*: first install driver from USB stick Ref.: https://communities.intel.com/docs/DOC-23147 Serial 9600 Serial 115200
  • 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 for Intel® Edison * Other names and brands may be claimed as the property of others.
  • 28. Arduino* IDE Sketch  /sketch/sketch.elf • Cross compiler • clloader listening on /dev/ttyGS0 • Upload via serial • Renaming existing sketch.elf * Other names and brands may be claimed as the property of others.
  • 29.
  • 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/mr aa/ * Other names and brands may be claimed as the property of others.
  • 35. Libmraa - C API Expl: switch on GPIO #8 mraa_gpio_context gpio; // 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 mraa import * # Import mraa library # define a callback function def my_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 var m = require("mraa") # Import mraa module var x = 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
  • 39.
  • 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 (int i=0; i < 10; i++) { std::cout << s->value() << std::endl; sleep(1); }
  • 41. UPM API documentation – which library to use?
  • 42. Updating libmraa / UPM cat > /etc/opkg/mraa-upm.conf <<EOF src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic EOF opkg update opkg upgrade * 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.
  • 44.
  • 45.
  • 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 You might have to restart xdk-daemon (systemctl restart xdk-daemon)
  • 56. sync host / target time if needed
  • 60. Wyliodrin* * Other names and brands may be claimed as the property of others.
  • 61. Ex: programming via cloud with www.wyliodrin.com
  • 62.
  • 63.
  • 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
  • 68.
  • 69. Intel® IoT Analytics www.enableiot.com
  • 70. Intel® IoT Analytics - www.enableiot.com RESTful API iotkit-agent (UDP / TCP) #! /usr/bin/env python import socket import 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 IoT Analytics Login in to Intel® IoT Analytics Cloud https://dashboard.us.enableiot.com Various login options