Building your FirstInternet Of ThingsSolution - a SoftwareDeveloper PerspectiveRaghavendra UralDeveloper EvangelistDeveloper Relationship DivisionIntel [email protected] logo

Agenda The Compute Model Transforms AgainWhere is the opportunity?Architecture of IOTChallengesWhere do “I” fit in?Where Intel can help?Overview of Software developer journey into IOTIntel Internet of Things HardwareTools for app building

The Compute Model TransformsAgain1975198519952005IoT is Driving the Next Compute Transformation2015

Where is the opportunity? 22pt Arial font is used for an introductory lineor paragraph.This text may be a single heading for thebullets below ormultiple sentences when necessary.– 18pt Arial bullet one Sub-bullet– Bullet two– Bullet three

Make everything smartSmart CitySmart Energy GridSmart AgricultureSmart CarSmart TVMany More

IOT ArchitectureApplication LayerAggregation LayerGateway and Network LayerCloud InterfaceSensor6

Challenges Security & Privacy Big Data Explosion Countless components Power efficiency Standards/Interoperability Many more

Where do “I – Software Developer” fit in?Application Layer Tablets, Phablets, Smart Phones, Ultrabook, LaptopsAggregation Layer Embedded applicationsCloud Systems/Interfaces Server PlatformsSensor Layer Building SensorsGateway and Network Layer Network Interfaces

Where Intel can help you?Application Layer Tablets, Phablets, Phones, Ultrabook, Intel Security,Mashery API, etcAggregation Layer Intel Galileo, Intel Edison, MinnowboardMaxCloud Interfaces/SystemsSensor LayerGateway and Network Layer Intel server platforms, Wind River Platforms, BIGData None Intel Network Interface cards, Intel Wifi cards

Let’s get started with Intel IOT IOT Hardware Before you start Software tools APIs Coding and Debugging

Intel Internet of ThingsHardware

Intel Galileo Development Board – Gen 2– 400MHz 32-bit Intel Pentiuminstruction set architecture (ISA)compatible processor– 16 KByte L1 cache– 512 KBytes of on-die embeddedSRAM– Simple to program: Single thread,single core, constant speed– ACPI compatible CPU sleep statessupported– An integrated Real Time Clock(RTC), with an optional 3V “coincell” battery for operation betweenturn on cycles.

Intel Galileo Development Board – Gen 2Board I/O:– Mechanically compatible with Arduino Uno– 20 digital input/output pins including 6 pins asPWM 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)

Intel Edison

Intel Edison - Arduino DevelopmentBoardBoard I/O: Compatible with Arduino Uno (exceptonly 4 PWM instead of 6 PWM)– 20 digital input/output pins including 4 pins asPWM outputs– 6 analog inputs– 1 UART (RX/TX)– 1 I2C– 1 ICSP 6-pin header (SPI)– Micro USB device connector OR (via mechanicalswitch) dedicated standard size USB host Type-Aconnector– Micro USB device (connected to UART)– SD Card connector– DC power jack (7V – 15V DC input)

More and More ShieldsSource:

Grove Starter Kit Plus - Intel IoT Version1Base Shield v22Grove - Buzzer V1.13Grove – Button4Grove-LED v1.35Grove - Sound Sensor V1.26Grove - Rotary Angle Sensor7Grove-Touch Sensor8Grove - Smart Relay9Grove-Light Sensor10 Grove - Temperature Sensor V1.111 26AWG Grove Cable12 Mini Servo13 9V to Barrel Jack Adapter - 126mm14 DIP LED Blue-Blue15 DIP LED Green-Green16 DIP LED Red-Red11 Grove - LCD RGB BacklightUSB, serialand Ethernetcables

Hard WareS/W Image on IoT platformIDE/ Tools(Win, Mac, Linux)Intel IoT Developer KitComponentsEclipse IDE ISS(Optional)Intel XDKIoT EditionNodeJSSupportArduino IDEC/C Tool tics /MasheryWyliodrinAgentIoT CloudAgentUPM (Sensor/Actuator library repository)API Bindings C/C , Node JS, PythonYocto based Linux OS imageIntel GalileoGen 1 & 2BoardIntel EdisonArduinoDevelopmentBoardSensors / Actuators

Before you start Update Galileo Firmware Download latest IDE from Extract the content to a folder Power up the board and then (then only) connect theUSB to USB client Open Arduino IDE Go to Help and click on Firmware UpdateBe Patient, it might take sometime. It might evendisconnect itself from your computer.DONT UNPLUG THE cable.It might take time but works!!!

Boot the DevelopmentEnvironmentUse PuTTy to connect to the board and executecommands.You can use WinSCP to transfer files to the board.Login for Intel Galileo BoardUsername: rootPassword: There is no password

Software Tools

Developer Kit C Tools One IDE for all three supported boards Ready to run sample code SSH Connection to developer board forremote GBD server. Eclipse tools also work for Arduino Sketchcode build and debug

Developer Kit JavaScript ToolsJavaScript I/O Libraries forGalileo mraa – open source library for Galileo/Edison used APIsimilar to the *MBED api (Intel Iot Devkit ) io-js- open source library for Galileo/Edison used APIsimilar to the Arduino API (Intel Labs China ) johnny-five – Open source I/O library with plugins forvarious boards including Galileo (Gen2 demo upstairs) on/off – open source i/o library that can be used tomanipulate ‘raw’ GPIO/PWM via sysfs interface i2c – node.js i2c library (uses sysfs)

Developer Kit Python ToolsThere is one IDE for Intel Galileo board.Works with Generation 1 and 2.Wyliodrin agent pre-installed in IoTdevkit SD image.(Galileo only for now)GUI based online pythondevelopment from Wyliodrin

It’s Show Time

Intel GalileoNetwork Setup

Enable WiFiWe use connection manager “connman” in DevKitHardware setup:1. Connect the board through FTDI cable or through Ethernet cable.2. Connect Intel Centrio N135 wifi card to PCi slot connmanctlconnmanctl enable wificonnmanctl scan wificonnmanctl services*Ac WiredRaghsethernet 984fee0081e8 cablewifi 0cd292d9b3a4 5261676873 managed pskwifi 0cd292d9b3a4 hidden managed wepconnmanctl agent onAgent Registeredconnmanctl connect wifi 0cd292d9b3a4 5261676873 managed pskParaphrase? enter your password

Eclipse* Setup

Intel XDK Setup

Overview of“libmraa” and“libupm”

Purpose of Each LibraryLibmraa Defines the capabilitiesof GPIO pins,Autodetection of Gen 1,Gen 2 and Edison DVTLibupm Defines the interaction ofhigh level sensors. Buttons, Buzzers, LCD, LED,Light Sensor, Servos, RotaryAngle Sensor, Relays, SoundSensors, temperaturesensors more are addedcontinually.

Using libmraa for the Blinky LightDemo

Using libupm for the Blinky LightDemo

Libmraa Error Codes

Read a Potentiometer

Write to an LCD


Light Sensor

Mini Servo

Temperature Sensor

Call for action

Intel Internet of ThingsDeveloper Program

Intel Internet of Things DeveloperProgramA comprehensive developer program for hobbyists,students and entrepreneurial developers with outreach,training and tools required to rapidly develop, test anddeploy applications for the Internet of Things (IoT).Program includes: Developer kit based on Intel Galileo and Edison Technologywith package of easy to use hardware, software tools, librariesand cloud services 10 City IoT Roadshow distributing 1,000 kits On-line community for learning, building, sharingJoin the community today at

Join us @ The Lalit Ashok, BangaloreNov 22 & 23, 2014Sign up at


ContactLinkedIn/Twitter: @raguralEmail: [email protected]