Intel Presentation Template 16X9
Total Page:16
File Type:pdf, Size:1020Kb
Internet of Things The World of Possibilities Mathew Ockerse – IoT Application Engineer Nürnberg, June 2015 The idea of the internet of things is … … 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 2 Intel® Quark 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. 3 Past, present, future Portfolio of products . Quark : . IDF 2013 . Basis of Galileo Gen1 and Gen2 . Edison : . CES 2014 . Curie : . CES 2015 . More about it in 2H 15 4 From sensor to cloud Intel Confidential — Do Not Forward 5 Intel IoT hardware Edison & Expansion Boards 6 Intel® Edison module . 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 7 Intel Partner Built to Order Expansion Boards Expansion Boards Expansion Boards 8 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 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) 11 Partner Expansion Boards E.g.: Sparkfun* * Other names and brands may be claimed as the property of others. Intel IoT software Overview of software layers & IDE’s 13 General Software Overview • Onboard Edison • Developer Environments • Cloud Connectivity 14 IoT Development kit components 15 Developer Environments 16 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 17 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); 18 libupm • High level sensor repository • Links to mraa • Sensors represented as classes 19 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); } 20 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. 21 What to choose Arduino* Visual Node.JS C / C++ Programming Target Maker Beginner Intermediate Advanced Audience IDE Arduino* IDE Wyliodrin* Intel® XDK Eclipse* IDE platform Win/ Mac/ Linux Browser Win/ Mac/ Linux Win/ Mac / Linux Download your IDE of choice • https://software.intel.com/iot/downloads Arduino IDE Gain command line access Prerequisite 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 Select “Tools > Serial Port” (Arduino “Intel® Edison” IDE uses the Virtual Com Port!) Full Bleed Image Example software.intel.com/iot Intel Confidential — Do Not Forward 31 Intel IoT on Instructables. 32 .