Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Getting started with Intel IoT Developer Kit

16.512 Aufrufe

Veröffentlicht am

Learn what is, how to set up and create applications with the Intel IoT Developer Kit.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Getting started with Intel IoT Developer Kit

  1. 1. Getting Started with Intel IoT Developer Kit – Dev kit Setup, Installing, Hello World and Sensors testing Sulamita Garcia – Developer Evangelist - @sulagarcia Munich, October 18 2014
  2. 2. Agenda • Devkit components: hardware and software • Setting up Galileo/Edison • Setting up developer environment • Running sample codes • Creating your application • Dev kit library (MRAA) and sensors repository (UPM)
  3. 3. Important – before starting Intel Galileo Gen 1 -> 5V power supply Intel Galileo Gen 2 -> 12V power supply Intel Galileo Gen 1 + 12V power supply =
  4. 4. Devkit components
  5. 5. Dev kit components Software • Linux (Yocto) image to be used with micro SD card on Galileo; already installed on Edison • IDEs for cross platform development • MRAA and UPM libraries for abstracting complexity when using sensors and actuators Hardware • Intel Galileo Gen 2 or Edison • Grove Starter Kit – Intel IoT Edition • Micro SD • Serial cable • Ethernet cable • Sensors and components
  6. 6. 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) Ref.: http://maker.intel.com
  7. 7. 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 Ref.: http://maker.intel.com
  8. 8. Intel® Edison - Arduino Expansion 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) Ref.: http://maker.intel.com
  9. 9. Grove Starter Kit Plus - Intel® IoT Edition Base Shield Buzzer Button Grove-LED Sound Sensor Rotary Angle Sensor Touch Sensor Smart Relay Light Sensor Temperature Sensor Grove Cables Mini Servo 9V to Barrel Jack Adapter - 126mm DIP LED Blue-Blue DIP LED Green-Green DIP LED Red-Red LCD RGB Backlight
  10. 10. Extra sensors available depending on your project SEN04031P Grove - Piezo Vibration Sensor SEN01111P Grove - Air quality sensor SEN11425P Grove - 125KHz RFID Reader ACC90453O 4 pin grove adapter (5 per pack) KIT80949P Wireless Sensor Node - Solar Kit ROB08211P Grove Mini Servos SEN04051P Grove - 3-Axis Digital Accelerometer SEN11763P Grove - 3-Axis Digital Gyro SEN12753P Grove - 3-Axis Digital Compass COM22639P Grove - Relay COM05231P Grove - Slide Potentiometer
  11. 11. Important – before starting • The next session can save you a lot of time and trouble – which will count tomorrow when you are trying to finish your project • We will cover step by step how to get started • Your options: • C/C++ with Eclipse (recommended) • JavaScript with XDK (recommended) • Arduino (recommended) • Visual programming with Wyliodrin – if you are new to programming • Vi/terminal – if you are more comfortable with command line environment
  12. 12. Online documentation for reference This presentation: http://slidesha.re/1uuFgBH https://software.intel.com/en-us/iot/getting-started http://intel.com/edison/getstarted
  13. 13. Setting up the Galileo board
  14. 14. Setup the Galileo board Distributed micro SD cards already prepared with latest image – just plug them in Why do we need a micro SD and an image? - Provide easy way to permanently store application on board - Provides extra libraries and bindings - Supports multiple programming languages Note: For future updates, please refer to online documentation. Ref.: https://software.intel.com/en-us/iot-c-eclipse , Appendix
  15. 15. Setup the Edison board Distributed Edison already updated If not, update software: https://communities.intel.com/docs/DOC-23192
  16. 16. Setting up the developer environment
  17. 17. Connect the SD card in your computer – copy the IDE file correspondent to your OS; for Windows, copy win-driver too
  18. 18. Windows & Arduino – extract and install the contents of win-driver
  19. 19. Now connect your environment microUSB <-> USB Ref.: https://communities.intel.com/docs/DOC-23147
  20. 20. Now connect your environment USB <-> Serial cable Ethernet Power SD Card Serial 3 1 2 4 Ref.: https://software.intel.com/en-us/iot-c-eclipse
  21. 21. USB-Serial on Gen2 – black wire means ground
  22. 22. Connect board via serial – discover port on Windows Ref.: https://software.intel.com/en-us/iot-c-eclipse
  23. 23. Connect board via serial – discover port on MacOS After connecting the serial cable, check if you have /dev/cu.usbserial(*) If not, you may need to install a serial-USB FTDI driver. Example: Ref.: https://software.intel.com/en-us/iot-c-eclipse
  24. 24. Connect via serial – putty, goSerial or minicom User: root, no password Ref.: https://software.intel.com/en-us/iot-c-eclipse
  25. 25. Connecting Edison – configure_edison --setup Configure password Configure wifi Galileo should automatically set up an IP address.
  26. 26. Find your Galileo/Edison IP address and write it down: command `ip a` Ping between board and your laptop to check connectivity Ref.: https://software.intel.com/en-us/iot-c-eclipse
  27. 27. Shortcut – if you feel comfortable with vi If you have experience coding directly from the command line, you have: • Busybox/vi • Gcc • Python • Node.js But we will continue with the IDEs, keep paying attention  Vim: https://github.com/IntelOpenDesign/MakerNode/tree/master/iotkd_libs
  28. 28. Time to chose your path: C/C++: • Eclipse Javascript: • XDK Arduino • Arduino IDE for Galileo Visual Programming (Blocky) • Wyliodrin
  29. 29. Arduino for Galileo/Edison
  30. 30. Arduino for Galileo or Edison https://communities.intel.com/docs/DOC-23242
  31. 31. C/C++/Eclipse
  32. 32. Eclipse(C/C++) – setting up Copy to your computer Extract the file you copied previously (iotdk-ide-${yourOS}.7z) with 7z  Treats long paths better, needed for this file.  If you need to download: http://www.7-zip.org/ Note: Better to extract the file to C: on Windows Execute devkit-launcher.bat Ref.: https://software.intel.com/en-us/iot-c-eclipse
  33. 33. Ref.: https://software.intel.com/en-us/iot-c-eclipse
  34. 34. Click on Remote System Explorer Ref.: https://software.intel.com/en-us/iot-c-eclipse
  35. 35. Fill the IP address on (3) Ref.: https://software.intel.com/en-us/iot-c-eclipse
  36. 36. Running a sample - Click back on C/C++ Ref.: https://software.intel.com/en-us/node/519969
  37. 37. Galileo - Right click 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  38. 38. Click Run, select 4_cpp_onboard_led Ref.: https://software.intel.com/en-us/node/519969
  39. 39. JavaScript/Node.js/XDK
  40. 40. Install the file copied from the SD card, XDK directory Ref.: https://software.intel.com/en-us/html5/xdk-iot
  41. 41. Login/create your account
  42. 42. Start with a Sample (under IoT Projects) – click on “Use this Template”
  43. 43. Should look like this
  44. 44. Select Galileo/Edison board
  45. 45. Toggle the console
  46. 46. Click Manage your daemon/IoT device menu in the bottom taskbar. Select sync PC time w/ clock on target board to avoid computer and device timing issues.
  47. 47. Click Install/Build to fetch node modules specified in package.json and install them on device; 1st time click Build
  48. 48. Click Upload to upload the current project to the Galileo board
  49. 49. Click Run to run the project on the device. The LED should be blinking.
  50. 50. Devkit library (MRAA) and sensor repository (UPM)
  51. 51. MRAA lib - 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 %dn", mraa_gpio_read(gpio)); sleep(1); } mraa_gpio_close(gpio);
  52. 52. UPM repository - https://github.com/intel-iot-devkit/upm 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); }
  53. 53. Just remember to use the correspondent library Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  54. 54. UPM API documentation – which library to use?
  55. 55. Creating new app
  56. 56. If using Eclipse
  57. 57. Create your first app – copy&paste an existing sample
  58. 58. Creating your first app – if you use UPM repository Project name (right click) -> Settings -> C/C++ Build -> Settings -> Tool Settings -> Cross G++ Linker -> Miscelaneous
  59. 59. If using XDK
  60. 60. Node.js Find the library name – example: libupm-grove -> replace “lib” for “js” and you have it: jsupm_grove Code: require(“jsupm_grove”);
  61. 61. If using Python
  62. 62. Python Find the library name – example: libupm-grove -> replace “lib” for “py” and you have it: pyupm-grove Code: import pyupm_grove
  63. 63. If using Arduino
  64. 64. Go to IDZ IoT page, find your sensor
  65. 65. Under References, follow Grove Wiki
  66. 66. Recap – navigating IDZ IoT - https://software.intel.com/iot
  67. 67. Now, who has problems??? 

×