internet of things - amazon web...
TRANSCRIPT
Internet of ThingsThe World of Possibilities
Mathew Ockerse – IoT Application Engineer
Nürnberg, June 2015
The idea of the internet of things is …
2
… that instead of having a small
number of powerful computing devices
in your life, you have a large number of
low energy, ubiquitous computing
devices
Intel® Quark
3
Intel® Quark SoC X1000
The first product from the Intel® Quark
technology family of low-power, small-
core products.
Intel® Quark technology will extend
Intel architecture into rapidly growing
areas – from the Internet of Things to
wearable computing in the future.
Past, present, future
4
Portfolio of products
Quark :
IDF 2013
Basis of Galileo Gen1 and Gen2
Edison :
CES 2014
Curie :
CES 2015
More about it in 2H 15
Intel® Edison module
7
22 nm Intel® SoC that includes a dual-
core, dual-threaded Intel® Atom™ CPU
at 500 MHz
32-bit Intel® Quark™ microcontroller at
100 MHz
1 GB LPDDR3 POP memory
Flash storage 4 GB eMMC
WiFi and Bluetooth® Low Energy
35.5 × 25.0 × 3.9 mm (1.4 × 1.0 × 0.15
inches)
40 GPIOs: UART, I2C, SPI, I2S,
GPIO(PWM), USB, SD card
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 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)
Intel® Edison - Arduino Expansion Board
11
Board features
Compatible with Arduino Uno (except only 4 PWM instead of 6 PWM)
20 digital input/output pins including 4 pins as PWM outputs
Micro USB device connector OR (via mechanical switch) dedicated
standard size USB host Type-A connector
Micro USB device (connected to UART)
6 analog inputs
1 UART (RX/TX)
1 I2C
1 ICSP 6-pin header (SPI)
SD Card connector
DC power jack (7V – 15V DC input)
Partner Expansion BoardsE.g.: Sparkfun*
* Other names and brands may be claimed as the property of others.
17
libmraa
• c/c++ library (abstraction layer) with bindings to javascript & python
• Interfaces with IO on Galileo, Edison and other platforms
• With board detection at runtime can be used on multiple platforms
18
mraa - https://github.com/intel-iot-devkit/mraa
MRAA – random letters, doesn’t mean anything
API documentation available – http://iotdk.intel.com/docs/master/mraa/
Examples directory
Minimum code sample:
mraa_gpio_context gpio;
gpio = mraa_gpio_init(6);
mraa_gpio_dir(gpio, MRAA_GPIO_IN);
for (;;) {
fprintf(stdout, "Gpio is %d\n", mraa_gpio_read(gpio));
sleep(1);
}
mraa_gpio_close(gpio);
20
upm – Example of libupm for Grove Temp Sensor
List of supported sensors in C++
API documentation - http://iotdk.intel.com/docs/master/upm/
Examples directory
Minimum code example:
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);
}
21
Developer Environments
• Eclipse (C/C++) - native
• Intel XDK (node.js) - native
• Arduino* (Emulated Environment)
• Wyliodrin* (Browser based coding, uses Javascript & Python)
• Python - native
* Other names and brands may be claimed as the property of others.
Arduino* Visual
ProgrammingNode.JS C / C++
Target
AudienceMaker Beginner Intermediate Advanced
IDE Arduino* IDE Intel® XDK Eclipse* IDE
What to choose
Win/ Mac/ Linux
Wyliodrin*
Win/ Mac/ Linux Win/ Mac / LinuxBrowser platform
Download your IDE of choice• https://software.intel.com/iot/downloads
Gain command line accessPrerequisite for Windows* development systems
• Install USB & FTDI serial drivers
• https://software.intel.com/en-us/installing-drivers-for-intel-edison-board-with-windows
• Options
• Drivers installation is part of an automatic full installation ( incl. image & IDE )
• Standalone drivers downloads
Setting up Arduino IDE
• Download .zip from arduino.cc
• Extract Arduino file (.zip .tgz .7z)
• Move Arduino folder to desired location
(e.g. Root directory)
• Open and run arduino.exe to get to IDE (or other OS executable)
Intel Getting Started Guide
https://software.intel.com/en-us/iot/getting-started
Setting up Arduino IDE
• Choose
Tools>Board>Boards Manager
Intel Getting Started Guide
https://software.intel.com/en-us/iot/getting-started
Setting up Arduino IDE
• Click on „Intel i686 Boards by Intel“ and install
Intel Getting Started Guide
https://software.intel.com/en-us/iot/getting-started
Running a Sketch - Blink
• In IDE
• Click on “File > Examples > Basics > Blink” and this window will open.
Running a sketch – Uploading to Edison
Click “Tools > Board” and select
“Intel® Edison”Select “Tools > Serial Port” (Arduino
IDE uses the Virtual Com Port!)