Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components...
Transcript of Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components...
![Page 1: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/1.jpg)
Building your First Internet Of Things Solution - a Software Developer Perspective
Raghavendra UralDeveloper Evangelist
Developer Relationship Division
Intel Software
@ragural
Your logo
![Page 2: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/2.jpg)
Agenda
• The Compute Model Transforms Again
• Where is the opportunity?
• Architecture of IOT
• Challenges
• Where do “I” fit in?
• Where Intel® can help?
• Overview of Software developer journey into IOT
• Intel® Internet of Things Hardware
• Tools for app building
![Page 3: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/3.jpg)
The Compute Model Transforms Again
IoT is Driving the Next Compute Transformation
1975 1985 1995 2005 2015
![Page 4: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/4.jpg)
• 22pt Arial font is used for an introductory line or paragraph.This text may be a single heading for the bullets below ormultiple sentences when necessary.
– 18pt Arial bullet one
• Sub-bullet
– Bullet two
– Bullet three
Where is the opportunity?
![Page 5: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/5.jpg)
Make everything smart
Smart CitySmart Energy GridSmart AgricultureSmart CarSmart TVMany More
![Page 6: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/6.jpg)
6
IOT Architecture
Sensor
Aggregation Layer
Gatew
ay and
Netw
ork Layer
Application Layer
Cloud Interface
![Page 7: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/7.jpg)
Challenges
• Security & Privacy
• Big Data Explosion
• Countless components
• Power efficiency
• Standards/Interoperability
• Many more
![Page 8: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/8.jpg)
Where do “I – Software Developer” fit in?
• Tablets, Phablets, Smart Phones, Ultrabook, LaptopsApplication Layer
• Embedded applicationsAggregation Layer
• Server PlatformsCloud Systems/Interfaces
• Building SensorsSensor Layer
• Network InterfacesGateway and Network Layer
![Page 9: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/9.jpg)
Where Intel® can help you?
• Tablets, Phablets, Phones, Ultrabook, Intel Security, Mashery API, etc
Application Layer
• Intel Galileo, Intel Edison, MinnowboardMaxAggregation Layer
• Intel server platforms, Wind River Platforms, BIG Data
Cloud Interfaces/Systems
• NoneSensor Layer
• Intel Network Interface cards, Intel Wifi cardsGateway and Network Layer
![Page 10: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/10.jpg)
Let’s get started with Intel IOT
IOT Hardware
Before you start
Software tools
APIs
Coding and Debugging
![Page 11: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/11.jpg)
Intel® Internet of Things Hardware
![Page 12: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/12.jpg)
Intel® Galileo Development Board – Gen 2
– 400MHz 32-bit Intel® Pentium instruction set architecture (ISA)-compatible processor
– 16 KByte L1 cache
– 512 KBytes of on-die embedded SRAM
– Simple to program: Single thread, single core, constant speed
– ACPI compatible CPU sleep states supported
– An integrated Real Time Clock (RTC), with an optional 3V “coin cell” battery for operation between turn on cycles.
![Page 13: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/13.jpg)
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)
![Page 14: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/14.jpg)
Intel® Edison
![Page 15: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/15.jpg)
Intel® Edison - Arduino Development BoardBoard 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)
![Page 16: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/16.jpg)
More and More Shields
Source: sparkfun.com
![Page 17: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/17.jpg)
Grove Starter Kit Plus - Intel® IoT Version
1 Base Shield v2
2 Grove - Buzzer V1.1
3 Grove – Button
4 Grove-LED v1.3
5Grove - 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
![Page 18: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/18.jpg)
Intel® IoT Developer Kit Components
Intel Galileo Gen 1 & 2
Board
Intel EdisonArduino
Development Board
Yocto based Linux OS image
API Bindings C/C++, Node JS, Python
UPM (Sensor/Actuator library repository)LibMraa
NodeJSSupport
C/C++ Tool Chain
WyliodrinAgent
IoT Cloud Agent
Ha
rd W
are
S/W
Im
ag
e o
n I
oT
pla
tfo
rm
Intel XDK IoT Edition
Eclipse IDE +
ISS (Optional)
Wyliodrin(Visual
Programming)
Cloud Analytics / Mashery
IDE
/ T
oo
ls
(Win
, Ma
c, L
inu
x)
Sensors / Actuators
Arduino IDE
![Page 19: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/19.jpg)
Before you start
Update Galileo Firmware• Download latest IDE from
http://arduino.cc/en/main/software
• Extract the content to a folder
• Power up the board and then (then only) connect the
USB to USB client
• Open Arduino IDE
• Go to Help and click on Firmware Update
Be Patient, it might take sometime. It might even disconnect itself from your computer.
DONT UNPLUG THE cable.It might take time but works!!!
![Page 20: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/20.jpg)
Boot the Development Environment
Use PuTTy to connect to the board and execute
commands.
You can use WinSCP to transfer files to the board.
Login for Intel Galileo BoardUsername: root
Password: There is no password
![Page 21: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/21.jpg)
Software Tools
![Page 22: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/22.jpg)
Developer Kit C++ Tools
• One IDE for all three supported boards
• Ready to run sample code
• SSH Connection to developer board for remote GBD server.
• Eclipse tools also work for Arduino Sketch code build and debug
![Page 23: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/23.jpg)
Developer Kit JavaScript Tools
• 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)
•
JavaScript I/O Libraries for Galileo
![Page 24: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/24.jpg)
Developer Kit Python Tools
There is one IDE for Intel® Galileo board. Works with Generation 1 and 2.
GUI based online python development from Wyliodrin
Wyliodrin agent pre-installed in IoTdevkit SD image.
(Galileo only for now)
![Page 25: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/25.jpg)
It’s Show Time
![Page 26: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/26.jpg)
Intel® GalileoNetwork Setup
![Page 27: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/27.jpg)
Enable WiFi
Hardware setup:
1. Connect the board through FTDI cable or through Ethernet cable.
2. Connect Intel Centrio N135 wifi card to PCi slot
We use connection manager “connman” in DevKit
$ connmanctlconnmanctl>enable wificonnmanctl>scan wificonnmanctl>services*Ac Wired ethernet_984fee0081e8_cable
Raghs wifi_0cd292d9b3a4_5261676873_managed_pskwifi_0cd292d9b3a4_hidden_managed_wep
connmanctl> agent onAgent Registeredconnmanctl>connect wifi_0cd292d9b3a4_5261676873_managed_pskParaphrase?<enter your password>
![Page 28: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/28.jpg)
Eclipse* Setup
![Page 29: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/29.jpg)
Intel® XDK Setup
![Page 30: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/30.jpg)
Overview of “libmraa” and
“libupm”
![Page 31: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/31.jpg)
Libmraa
• Defines the capabilities of GPIO pins,
Autodetection of Gen 1, Gen 2 and Edison DVT
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
![Page 32: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/32.jpg)
Using libmraa for the Blinky Light Demo
![Page 33: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/33.jpg)
Using libupm for the Blinky Light Demo
![Page 34: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/34.jpg)
Libmraa Error Codes…
![Page 35: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/35.jpg)
Read a Potentiometer
![Page 36: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/36.jpg)
Write to an LCD
![Page 37: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/37.jpg)
Buttons
![Page 38: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/38.jpg)
Light Sensor
![Page 39: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/39.jpg)
Mini Servo
![Page 40: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/40.jpg)
Temperature Sensor
![Page 41: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/41.jpg)
Call for action
![Page 42: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/42.jpg)
Intel® Internet of ThingsDeveloper Program
![Page 43: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/43.jpg)
Intel® Internet of Things Developer Program
A comprehensive developer program for hobbyists, students and entrepreneurial developers with outreach, training and tools required to rapidly develop, test and deploy applications for the Internet of Things (IoT).
Program includes:• Developer kit based on Intel® Galileo and Edison Technology
with package of easy to use hardware, software tools, libraries and cloud services
• 10 City IoT Roadshow distributing 1,000 kits• On-line community for learning, building, sharing
Join the community today at software.intel.com/IoT
![Page 44: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/44.jpg)
Join us @ The Lalit Ashok, Bangalore
Nov 22 & 23, 2014
Sign up at iotroadshow.intel.com
#IntelMaker
![Page 45: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/45.jpg)
Questions?
![Page 47: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/47.jpg)
Resources
http://software.intel.com/iot
https://github.com/intel-iot-devkit
![Page 48: Building your First Internet Of Things Solution - a ... · Intel® IoT Developer Kit Components Intel Galileo Gen 1 & 2 Board Intel Edison Arduino Development Board Yocto based Linux](https://reader033.fdocuments.net/reader033/viewer/2022053005/5f08e0b77e708231d42428a0/html5/thumbnails/48.jpg)