3. 3
Intel® Developer Zone
All Things Software –
From Development to Distribution.
DEVELOPMENT RESOURCES: Get tools,
technical articles, code samples, and services
BUSINESS RESOURCES: Access direct consumer
sales channel, co-marketing opportunities, and
funding
ENGAGED COMMUNITY: Connect with Intel
experts and industry peers to share knowledge, get
support, and build relationship
INTEL® DEVELOPER
ZONE
software.intel.
com
ANDROID
INTERNET OF
THINGS
PERCEPTUAL
COMPUTING
(REALSENSE)
HTML5
CHROME
WIN 8
AIO/2n1
4. 4
IoT Roadshows - F2F training and
distributing Dev Kits, training videos,
technical resources and Meet-Ups
Intel® IoT Developer Kit based on
Galileo & Edison boards together with
easy to use hardware, software, tools,
cloud services
IoT On-line Community and Forums
for learning, building, sharing on Intel
Developer Zone for IoT.
University Programs to enable IoT
courseware.
4
Intel IoT Developer Program
A comprehensive program for hobbyists, students and entrepreneurial
developers that delivers everything a software developer needs to quickly and
easily turn ideas into solutions for the Internet of Things (IoT)
SW Solutions – Development tools
within the same development
framework: (Yocto) Linux image, C
/C++ JavaScript, Wyliodrin (visual
programming) , IoT Cloud Analytics+
Mashery Tools (GDB, GCC, XDK,
Eclipse plug-in)
Softwar
e
Training
Hardwar
e
Commu
nity/Aca
demic
IoT
software.intel.co
m/IoT
6. 6
Intel® Edison - Arduino Development 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)
7. 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)
8. Grove Starter Kit Plus - Intel® IoT Version
8
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
10. 11
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
11. Developer Kit JavaScript Tools
12
JavaScript I/O Libraries for
Galileo
• mraa – open source library for Galileo/Edison used
API similar to the *MBED api (Intel Iot Devkit )
• io-js- open source library for Galileo/Edison used
API similar to the Arduino API (Intel Labs China )
• johnny-five – Open source I/O library with plugins
for various boards including Galileo (Gen2 demo
upstairs)
• on/off – open source i/o library that can be used to
manipulate ‘raw’ GPIO/PWM via sysfs interface
• i2c – node.js i2c library (uses sysfs)
• .
13. Developer Kit Python JavaScript Tools
There is one IDE for Intel® Galileo
board. Works with Generation 1 and 2.
14
GUI based online python
development from Wyliodrin
Wyliodrin agent pre-installed in
IoT devkit SD image.
(Galileo only for now)
14. Raw filesystem IO using Bash.
• Not for the faint of heart.
• GPIO filesystem mappings vary from board to board.
• Pin Direction, Drive , Value all need to be set for each pin.
15
• # Initializing digital output pin number 8
• echo -n "26" > /sys/class/gpio/export
• echo -n "out" > /sys/class/gpio/gpio26/direction
• echo -n "strong" > /sys/class/gpio/gpio26/drive
• echo -n "0" > /sys/class/gpio/gpio26/value
• echo -n "26" > /sys/class/gpio/unexport
15
16. 17
Libmraa
Defines the capabilities of GPIO pins,
Autodetection of Gen 1, Gen 2 and
Edison Arduino boards
Libupm
Defines the interaction of high level
sensors.
Buttons, Buzzers, LCD, LED, Light
Sensor, Servos, Rotary Angle Sensor,
Relays, Sound Sensors, temperature
sensors … more are added continually.
Purpose of Each Library
17. Libmraa – Object API (node.js)
Playing with GPIO is easy
var m = require("mraajs") # Import maajs 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
18 18
19. 20
Introducing the Intel® IoT Developer Program - https://software.intel.com/iot
Introducing the Intel Developer Program
for IOT
20. 21
Final Reminders
• Come to a Intel® Internet of Things Roadshow
• Download the software pieces you need, buy a sensor kit
• Build a project, publish on Instructables, and we will demo it at our roadshows and
meetups
• Learn more at the Intel Developer Zone at http://software.intel.com/iot
21. Links
Intel® Galileo Documentation and Getting Started Guides
https://software.intel.com/en-us/iot/getting-started
Intel® IoT Developer Kit – Sensor and Actuator Documentation
https://software.intel.com/en-us/iot/sensors
Internet Connectivity - Galileo
https://software.intel.com/en-us/internet-connectivity-galileo
Intel at Instructables.com
http://www.instructables.com/id/Intel/
Intel® IoT Developer Kit Cloud-based Analytics User Guide
https://software.intel.com/en-us/intel-iot-developer-kit-cloud-based-analytics-user-guide
2222
22. 23
IoT Roadshows - F2F training and
distributing Dev Kits, training videos,
technical resources and Meet-Ups
Intel® IoT Developer Kit based on
Galileo & Edison boards together with
easy to use hardware, software, tools,
cloud services
IoT On-line Community and Forums
for learning, building, sharing on Intel
Developer Zone for IoT.
University Programs to enable IoT
courseware.
23
Intel IoT Developer Program
A comprehensive program for hobbyists, students and entrepreneurial
developers that delivers everything a software developer needs to quickly and
easily turn ideas into solutions for the Internet of Things (IoT)
SW Solutions – Development tools
within the same development
framework: (Yocto) Linux image, C
/C++ JavaScript, Wyliodrin (visual
programming) , IoT Cloud Analytics+
Mashery Tools (GDB, GCC, XDK,
Eclipse plug-in)
Softwar
e
Training
Hardwar
e
Commu
nity/Aca
demic
IoT
software.intel.co
m/IoT
25. Rick Waldron: Mr Johnny Five*
JavaScript: A Digital Clock with Johnny-Five
JavaScript: Current Detection and Measurement with Johnny-Five on Node.js
JavaScript: LED Matrix Display with Johnny-Five on Node.js
JavaScript: ESC Programming and Brushless Motors on Intel Galileo
JavaScript: Laser Intrusion Detection with Johnny-Five on Node.js
JavaScript: Verifying Analog Write on Intel Galileo
JavaScript: Relay Control with Johnny-Five on Node.js
JavaScript: Tilt Sensor with Johnny-Five on Node.js
On-Board: Intel Galileo Programming with JavaScript and Node.js
* (imho)
2266
26. https://github.com/gomobile: XDK examples
iotapp-touch-notifier iotapp-local-temperature
Read digital data from a Grove Touch Sensor, or a Temperature Sensor, start a web server and communicate wirelessly using WebSockets.
iotapp-template-pwm
Write values to fade a LED using a Digital pin (Pulse Width Modulation) on the Intel boards.
iotapp-template-onboard-led-blink iotapp-template-digital-write iotapp-template-digital-read
Digital Read and Write Examples .
iotapp-template-analog-read
Read data from Analog pins on the Intel boards
2277
28. IoT Devkit for Edison vs. Galileo
29
OS/ Image
LibMraa/ UPM
C/C++ (Eclipse)
Java script (XDK)
Visual (Wyliodrin)
Arduino
VxWorks
Intel System Studio
Edison
Unified OS Image
Galileo Gen 1/Gen 2
Independent OS Image
S/W package for Edison EGLibC OS Image (Yocto 1.6)
Access to low-level I/O + Sensor libs -
Included in Edison S/W stack
Eclipse IDE (64-bit) for C/C++ dev
on Win, Linux, Mac
Node JS Support. Included in Edison
S/W stack. Coming Soon (Sept 30th )
Future
Access to low-level I/O + Sensor libs
Eclipse IDE (64-bit) for C/C++ dev on
Win, Linux, Mac
Node JS Support
Coming Soon (Sept 30th )
Wyliodrin Component
Included in Edison S/W stack
Multi-lib support for Arduino
Future (TBD) Vx Works + Work bench
Advanced optimization tools for IoT
Advanced optimization tools for IoT
IoT Cloud Analytics IoT Cloud Analytics component
- Included in Edison S/W stack
IoT Cloud Analytics component
29