Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Intel® System Studio 2018 Beta User Guide for Internet of Things (IoT) Java development

24 Oct 2017 2  
This guide contains steps to create Internet of Things (IoT) projects in Java, using the Intel® System Studio.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

This guide contains steps to create Internet of Things (IoT) projects in Java*, using the Intel® System Studio. The Intel System Studio contains plug-ins for Eclipse* that allows you to connect to, update, and program IoT projects on a compatible board. You can take advantage of the example projects and sample code, manage connections to multiple IoT boards, update the middleware libraries on your board, and more.

The version of the Intel System Studio covered in this guide provides support for the following boards in Java:

  • Intel® IoT Gateway
  • MinnowBoard MAX*

For steps to create and work with C/C++ projects, see the Intel® System Studio User Guide for C/C++.

For more information about Java support for IoT, including compatibility information, building and running Java IoT applications, and known limitations, check the Java* for IoT Reference Guide.

Requirements

  • You have already set up and connected your IoT board to your host computer. For steps, see the following:
  • If you have a Windows host system, it must have Windows* 8 or above.
  • If you have a Linux host system, Ubuntu* 16.04 is supported.
  • You must have an internet connection to run the Intel® System Studio and create projects.

The following table summarizes the IoT platforms, target operating systems, and programming languages supported by the Intel® System Studio.

Platform Target operating system Programming Language
Intel® IoT Gateway (64-bit) Ubuntu C/C++
  Intel® IoT Gateway Software Suite (Wind River* Linux*64-bit) C/C++, Java
Intel® IoT Gateway (32-bit) Intel® IoT Gateway Software Suite (Wind River Pulsar Linux 32-bit) C/C++, Java
Minnowboard MAX Wind River Pulsar* Linux* 7 C/C++
  Yocto-Project built Linux C/C++, Java

Setting up the Intel® System Studio

This guide explains how to set up the Intel® System Studio on a host system with Windows*, Mac*, or Linux*. It assumes that you already have the application installed. For steps to install the Intel System Studio, see the Intel® System Studio 2018 Beta Installation Guide.

See the appropriate link below:

Setting up the Intel® System Studio on Windows*

This guide contains steps to set up your system to use the Intel® System Studio. These steps are for Windows* host computers; see the steps for Mac* or Linux* if your host has a different operating system.

These steps assume that you already have the application installed. For steps to install the Intel System Studio, see the Intel® System Studio 2018 Beta Installation Guide.

You'll perform the following high-level steps:

For steps to create and work with C/C++ projects, see the Intel® System Studio User Guide for C/C++.

Requirements

  • Your host system must have Windows 8 or later. You should have approximately 5GB free space on your Windows host computer, as well as the following:
    • You should have Administrator access on your host computer.
    • Virtualization should be enabled in your host computer's BIOS. In the BIOS, the option name will be listed as Enable Intel VT-x or something similar. Steps to enter your system's BIOS, as well as the name of the option on your computer, may vary from system to system; check the documentation for your host computer for specifics.
    • Minimum 4 GB RAM
  • Java* SE Development Kit 8: To support Java projects, you should have the 64-bit version of Java SE Development Kit 8 (also called JDK version 1.8). Intel® System Studio also supports OpenJDK 1.8 and higher.

    You can download the JDK from Oracle at http://www.oracle.com/technetwork/java/javase/downloads/index.html. Install the 64-bit JDK (indicated by x64 in the download name), not the 32-bit (x86) version.

    If you do not have the correct JDK installed, you may see a warning message similar to the following:

    Example of an error message about installing the JDK

Setting up your host computer (Windows*)

In order to set up your host computer, you'll need to install Docker. Select the following to install the correct version of Docker:

  • For Windows® 10 Pro, Enterprise, or Education: Install Docker for Windows*.
  • For all other supported versions of Windows: You do not have to install Docker by yourself. Intel® System Studio ships a Qemu with Docker solution that will work out of the box.

    If Docker is not running and no alternative Docker is installed, Intel System Studio will start the Qemu with the Docker solution automatically.

  • The startup process will take longer for the first time until Docker is set up. A progress bar in the bottom right will indicate the status.

For host computers with Windows® 10 Pro, Enterprise, or Education

Check if Hyper-V is enabled

  1. Right-click on the Windows button and select Programs and Features.
  2. Select Turn Windows Features on or off.
  3. Scroll down until you see the Hyper-V entry. Selected means that Hyper-V is enabled. If no Hyper-V entry is in the list, it means that Hyper-V is not supported on your Windows system.

If Hyper-V is not enabled

You don’t have to install Docker by your own. Intel® System Studio ships a Qemu with Docker solution that will work out of the box.

If Docker is not running and no alternative Docker is installed, Intel® System Studio will start the Qemu with the Docker solution automatically. The startup process will take longer for the first time until Docker is set up. A progress bar in the bottom right will indicate the status.

If Hyper-V is enabled

  1. Follow the instructions at https://docs.docker.com/docker-for-windows/ to install Docker for Windows. Be sure to pay attention to the steps and requirements, including the following:
  • Your host computer should have virtualization enabled
  • Ensure that the Hyper-V package is enabled.

Once Docker is installed, you'll see a welcome message, as well as the Docker whale icon in the system tray.

For networks with proxy settings

  • In the system tray, right-click the Docker icon and select Settings.

  • From the list on the left, select Proxies.
  • Select the Use proxy server check box, then provide your proxy information in the Web Server (HTTP) and Secure Web Server (HTTPS) fields.
  • Click Apply to apply your changes.

  • Also from the list on the left, select General and select Expose daemon on tcp://localhost:2375 without TLS.

    Caution: Enabling this option in Docker for Windows is necessary in order to build applications using the Docker-based toolchain. However, enabling this option also has some security ramifications that you should be aware of. If you have Intel System Studio installed on a shared Windows host (e.g. Windows Server), other users on the same computer could gain access to your project files despite the normal access permissions you have specified. This applies only to users logged in on the same host computer, not to users logged in to other hosts on your network.

To test whether Docker is working correctly, open a command line window on your host by clicking the Start icon and entering cmd. Enter the command:

docker run hello-world

You should see output similar to the following image. If you don't, recheck the steps above and refer to the FAQfor troubleshooting information.

Now that you have successfully set up your host computer, continue to install and run the Intel® System Studio.

Install and run the Intel® System Studio

Running the IDE

  1. In your Intel® System Studio installation folder, look for the system_studio_2018 folder. You should find a file called iss_ide_eclipse-launcher.bat. Double-click itto run the Intel® System Studio.

    Using the iss_ide_eclipse-launcher file (instead of the Eclipse executable) will launch the Intel® System Studio with all the necessary environment settings. Use the iss_ide_eclipse-launcher file to launch the Intel® System Studio every time.
  2. Wait up to a few minutes for your host to import the appropriate development container and launch the IDE.
  3. On your first time running the Intel® System Studio, you'll need to specify a workspace folder in which to store your projects. Create the workspace in the user home directory, or ensure that the location is shared with Docker.

  4. Click OK to launch the Intel® System Studio. The application opens.
  5. Depending on the type of IoT board you're working with, you may need to run some additional commands on your board to be able to run the code examples in the Intel® System Studio. See Enabling code examples for details.

If this isn't the first time you've installed the Intel® System Studio

You may need to update the Docker images the Intel® System Studio uses to build your projects. Check to see if your previous installation of the Intel® System Studio came with the Platform Support Manager. If so, you'll need to update your Docker images once the application is installed. Open the Platform Manager, as described in Managing installed development platforms. Then remove support for each platform you previously had enabled in the Intel® System Studio. Reselect each platform to update the Docker image for that platform.

Congratulations, you've installed the application!

For networks with proxy settings

This section contains steps to set up network proxy settings in the Intel® System Studio. If you're on an open network, skip these steps.

  1. In the Intel® System Studio, choose Window > Preferences and search for Proxy. Under General on the left, click Network Connections. The Network Connections page is displayed.
  2. From the Active Provider drop-down list, select Manual.
  3. Provide the appropriate proxy information for your network, as shown in the image below. Click OK to apply your changes.

Setting up the Intel® System Studio on Mac*

This guide contains steps to set up the Intel® System Studio. These steps are for OS® X host computers; see the steps for Windows* or Linux* if your host has a different operating system.

These steps assume that you already have the application installed. For steps to install the Intel System Studio, see the Intel® System Studio 2018 Beta Installation Guide.

You'll perform the following high-level steps:

For steps to create and work with C/C++ projects, see the Intel® System Studio User Guide for C/C++.

Requirements

  • You should have approximately 5GB free space on your OS X host computer.
  • Java* SE Development Kit 8: To support Java projects, you should have the 64-bit version of Java SE Development Kit 8 (also called JDK version 1.8). Intel® System Studio also supports OpenJDK 1.8 and higher.

    You can download the JDK from Oracle at http://www.oracle.com/technetwork/java/javase/downloads/index.html. Install the 64-bit JDK (indicated by x64 in the download name), not the 32-bit (x86) version.

    If you do not have the correct JDK installed, you may see a warning message similar to the following:

    Example of an error message about installing the JDK

Setting up your host computer (OS X)

For users with El Capitan and newer:

  1. Download the Docker for Mac installer from the Docker for Mac documentation site. Click the Get Docker for Mac (stable) button.
  2. Double-click Docker.dmg to open the installer, then drag the Docker icon to the Applications folder.
  3. When prompted, authorize Docker.app with your system password.
  4. Double-click Docker.app to start Docker. The whale image in the top status bar indicates that Docker is running, and accessible from a terminal.

For networks with proxy settings

This section contains steps for users behind a corporate proxy. If you're on an open network, skip these steps.

  1. Once Docker for Mac is installed, you can find the Docker icon in your toolbar. To set the proxy settings, click on this icon and select Preferences from the menu.

  2. In the dialog box that pops up, click on the Proxies icon, select Manual proxy configuration, and enter your proxy settings. Click Apply & Restart to apply your proxy settings. Please also restart the Intel System Studio IoT Edition if it is already running.

For OS X releases older than El Capitan:

  1. Download the Docker Toolbox installation from the following location: https://www.docker.com/products/docker-toolbox.
  2. Install Docker Toolbox with the default configuration settings. You can simply click Next and Install until the installation is finished.

For networks with proxy settings

This section contains steps for users behind a corporate proxy. If you're on an open network, skip these steps.

  1. Launch Spotlight by pressing Cmd + Space.
  2. Type terminal.
  3. Select the Terminal app.
  4. In the Terminal window, enter the command, with the appropriate information for your network:
    docker-machine create -d virtualbox 
    --engine-env HTTP_PROXY=http://example.com:911 
    --engine-env HTTPS_PROXY=https://example.com:912 
    --engine-env NO_PROXY=example2.com default

    Wait for the command to finish running. If asked to allow VirtualBox Interface to make changes to your computer, select Yes. You may need to do this several times.

  5. Next, run the Docker Quickstart Terminal once to ensure everything is properly set up. From your desktop, double-click the Docker Quickstart Terminal icon. If asked to allow VirtualBox Interface to make changes to your system, click Yes.

    Note: If you don't see the Docker Quickstart Terminal icon on your desktop, enter the following command in the command-line interface to run the Quickstart Terminal:

    /Applications/Docker/Docker\ Quickstart\ Terminal.app/Contents/MacOS/applet

Launch the Intel® System Studio

Running the IDE

  1. Navigate to the Intel® System Studio installation directory and run the iss_ide_eclipse-launcher file.
  2. Wait up to a few minutes for your host to import the appropriate development container and launch the IDE. If asked to allow VirtualBox Interface to make changes to your system, click Yes. You may be prompted multiple times.
  3. On you first time running the Intel® System Studio, you'll need to specify a workspace folder in which to store your projects. Create the workspace in the user home directory, or ensure that the location is shared with Docker Toolbox.
  4. Click OK to launch the Intel® System Studio. The application opens.
  5. Depending on the type of IoT board you're working with, you may need to run some additional commands on your board to be able to run the code examples in the Intel® System Studio. See Enabling code examples for steps.

Congratulations, you've installed the application!

For networks with proxy settings

This section contains steps to set up network proxy settings in the Intel® System Studio. If you're on an open network, skip these steps.

  1. In the Intel® System Studio, choose Window > Preferences and search for Proxy. Under General on the left, click Network Connections. The Network Connections page is displayed.
  2. From the Active Provider drop-down list, select Manual.
  3. Provide the appropriate proxy information for your network, as shown in the image below. Click OK to apply your changes.

Setting up the Intel® System Studio on Linux*

This guide contains steps to set up the Intel® System Studio on a host computer with Linux*. These steps are for Linux* host computers; see the steps for Windows* or Mac* if your host has a different operating system.

These steps assume that you already have the application installed. For steps to install the Intel System Studio, see the Intel® System Studio 2018 Beta Installation Guide.

You'll perform the following high-level steps:

  • Set up your host computer: Install dependencies and set up Docker access permissions required to connect to your board.
  • Launch the Intel® System Studio: Run the IDE and configure your workspace.

For steps to create and work with C/C++ projects, see the Intel® System Studio User Guide for Java*.

Requirements

  • Your host machine must have Ubuntu 16.04 or later. You should have approximately 5GB free space on your Linux host computer.
  • Java* SE Development Kit 8: To develop Java-based projects, you should have the 64-bit version of Java SE Development Kit 8 (also called JDK version 1.8). Intel® System Studio also supports OpenJDK 1.8 and higher.

    You can download the JDK from Oracle at http://www.oracle.com/technetwork/java/javase/downloads/index.html. Install the 64-bit JDK (indicated by x64 in the download name), not the 32-bit (x86) version.

    If you do not have the correct JDK installed, you may see a warning message similar to the following:

    Example of an error message about installing the JDK

Setting up the host computer

If you are behind a proxy, enter the following command, supplying your own proxy information:

sudo apt-key adv --keyserver-options http-proxy=http://proxy-example.com:911/ --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo shutdown -r now
sudo docker run hello-world

You should see a brief "Hello, World" message from Docker.

  1. Log into your machine as a user with sudo or root privileges.
  2. Open a Terminal window.
  3. Enter the following commands to update package information, then ensure that APT works with the https method and that CA certificates are installed:
    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates
  4. Add the new GPG key (if you are not behind a proxy):

    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  5. Open the /etc/apt/sources.list.d/docker.list file in your favorite editor. If the file doesn’t exist, create it.
  6. Remove any existing entries in the docker.list file.
  7. In the docker.list file, add an entry for your Ubuntu operating system -- Ubuntu Xenial 16.04 (LTS):
    deb https://apt.dockerproject.org/repo ubuntu-xenial main
  8. Save and close the docker.list file.
  9. Update the APT package index:
    sudo apt-get update
  10. Use the following command to install docker-engine:
    sudo apt-get install docker-engine
  11. Verify that APT is pulling from the right repository:
    apt-cache policy docker-engine

    From now on when you run apt-get upgrade, APT pulls from the new repository, which you specified earlier.

    Note: For details on using Docker behind a proxy, follow the guide on https://docs.docker.com/engine/admin/systemd/#http-proxy.

  12. Start the docker daemon:

    sudo systemctl enable docker
  13. You'll need elevated permissions to interact with the Docker daemon and use Docker. On Ubuntu, create the group `docker` with the requisite permissions by entering the command, where username is your user name:

    sudo usermod -aG docker username
  14. Reboot your machine:
  15. Verify Docker is installed correctly:
  16. If you plan on creating projects for development on Ubuntu* OS, load the Docker image without root privileges:

    docker pull inteliotdevkit/intel-iot-ubuntu

    Note: The Ubuntu Docker image may also be downloaded from within the Intel® System Studio. Choose Intel® IoT > Manage installed development platforms... and select the appropriate options to do so.

  17. If you plan to develop Java-based projects and you don't already have the JDK from Oracle installed, install Open JDK 8 as follows:

    sudo apt-get install openjdk-8-jdk
  18. If the intro page is not shown correctly, you need to install the libwebkitgtk library. This allows Eclipse to render web content.
    sudo apt-get install libwebkitgtk-1.0.0

Launch the Intel® System Studio

Running the IDE

  1. In the Terminal window, navigate to the folder in which you installed the Intel® System Studio (for example, /opt/intel/system_studio_2018). This folder should contain the iss_ide_eclipse-launcher.sh file. To run the application, enter the command:
    ./iss_ide_eclipse-launcher
  2. On your first time running the Intel® System Studio, you'll need to specify a workspace folder in which to store your projects. Please choose a local folder on the hard drive. To share the workspace with the Docker container, the root user needs to have access to this folder.



     
  3. Click OK to launch the Intel® System Studio. The Intel® System Studio opens.


  4. Depending on the type of IoT board you're working with, you may need to run some additional commands on your board to be able to run the code examples in the Intel® System Studio. See Enabling code examples for steps.

Congratulations, you've installed the application!

For networks with proxy settings

This section contains steps to set up network proxy settings in the Intel® System Studio. If you're on an open network, skip these steps.

  1. In the Intel® System Studio, choose Window > Preferences and search for Proxy. Under General on the left, click Network Connections. The Network Connections page is displayed.
  2. From the Active Provider drop-down list, select Manual.
  3. Provide the appropriate proxy information for your network, as shown in the image below. Click OK to apply your changes.

Enabling code examples

In order to make use of some of the code samples that come with the Intel® System Studio, you may need to run some additional commands. These commands must be run from the command line on your board, through either a serial communication session or SSH. For steps to access your board, refer to the documentation for your board:

See the sections below for any commands required for your IoT platform.

For a 64-bit Intel® IoT Gateway with Ubuntu* 16.04 LTS

While the examples for the Grove* Starter Kit Plus and the Basic examples work out of the box, you'll need to perform the following steps to get the other examples to work. If you've already configured SSH on your IoT platform, you can skip these steps and continue to create and run projects.

  1. From the command line on your IoT platform, enter the following commands to install the OpenSSH server application and other dependencies:
    sudo apt-get install software-properties-common python-software-properties net-tools apt-utils ca-certificates curl gdbserver gcc g++ openssh-server
  2. Because you'll be making changes to the /etc/ssh/sshd_config file on your gateway, you should make a copy of the original file in case you need to restore the original version. To do so, use the following commands:
    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
    sudo chmod a-w /etc/ssh/sshd_config.original
  3. Replace the current contents of the /etc/ssh/sshd_config file with the following (you can also use the vi editor with the sudo vi /etc/ssh/sshd_config command to open and edit the file):
    #   $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
    # This is the sshd server system-wide configuration file.  See
    # sshd_config(5) for more information.
    # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
    # The strategy used for options in the default sshd_config shipped with
    # OpenSSH is to specify options with their default value where
    # possible, but leave them commented.  Uncommented options change a
    # default value.
    #Port 22
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    # The default requires explicit activation of protocol 1
    Protocol 2
    # HostKey for protocol version 1
    #HostKey /etc/ssh/ssh_host_key
    # HostKeys for protocol version 2
    #HostKey /etc/ssh/ssh_host_rsa_key
    #HostKey /etc/ssh/ssh_host_dsa_key
    #HostKey /etc/ssh/ssh_host_ecdsa_key
    #HostKey /etc/ssh/ssh_host_ed25519_key
    # Lifetime and size of ephemeral version 1 server key
    #KeyRegenerationInterval 1h
    #ServerKeyBits 1024
    # Ciphers and keying
    #RekeyLimit default none
    # Logging
    # obsoletes QuietMode and FascistLogging
    #SyslogFacility AUTH
    #LogLevel INFO
    # Authentication:
    #LoginGraceTime 2m
    PermitRootLogin yes
    StrictModes no
    #MaxAuthTries 6
    #MaxSessions 10
    RSAAuthentication yes
    PubkeyAuthentication yes
    # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
    # but this is overridden so installations will only check .ssh/authorized_keys
    AuthorizedKeysFile .ssh/authorized_keys
    #AuthorizedPrincipalsFile none
    #AuthorizedKeysCommand none
    #AuthorizedKeysCommandUser nobody
    # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
    #RhostsRSAAuthentication no
    # similar for protocol version 2
    #HostbasedAuthentication no
    # Change to yes if you don't trust ~/.ssh/known_hosts for
    # RhostsRSAAuthentication and HostbasedAuthentication
    #IgnoreUserKnownHosts no
    # Don't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts yes
    # To disable tunneled clear text passwords, change to no here!
    PasswordAuthentication yes
    PermitEmptyPasswords yes
    # Change to no to disable s/key passwords
    ChallengeResponseAuthentication no
    # Kerberos options
    #KerberosAuthentication no
    #KerberosOrLocalPasswd yes
    #KerberosTicketCleanup yes
    #KerberosGetAFSToken no
    # GSSAPI options
    #GSSAPIAuthentication no
    #GSSAPICleanupCredentials yes
    # Set this to 'yes' to enable PAM authentication, account processing,
    # and session processing. If this is enabled, PAM authentication will
    # be allowed through the ChallengeResponseAuthentication and
    # PasswordAuthentication.  Depending on your PAM configuration,
    # PAM authentication via ChallengeResponseAuthentication may bypass
    # the setting of "PermitRootLogin without-password".
    # If you just want the PAM account and session checks to run without
    # PAM authentication, then enable this but set PasswordAuthentication
    # and ChallengeResponseAuthentication to 'no'.
    UsePAM no
    #AllowAgentForwarding yes
    #AllowTcpForwarding yes
    #GatewayPorts no
    X11Forwarding yes
    #X11DisplayOffset 10
    #X11UseLocalhost yes
    PermitTTY yes
    #PrintMotd yes
    #PrintLastLog yes
    #TCPKeepAlive yes
    #UseLogin no
    UsePrivilegeSeparation sandbox # Default for new installations.
    #PermitUserEnvironment no
    Compression no
    ClientAliveInterval 15
    ClientAliveCountMax 4
    #UseDNS yes
    #PidFile /var/run/sshd.pid
    #MaxStartups 10:30:100
    #PermitTunnel no
    #ChrootDirectory none
    #VersionAddendum none
    # no default banner path
    #Banner none
    # override default of no subsystems
    Subsystem sftp /usr/lib/openssh/sftp-server
    # Example of overriding settings on a per-user basis
    #Match User anoncvs
    #   X11Forwarding no
    #   AllowTcpForwarding no
    #   PermitTTY no
    #   ForceCommand cvs server
    PermitRootLogin yes
    PasswordAuthentication yes
    PermitEmptyPasswords yes
  4. Save your changes and close the file.
  5. Restart the sshd server application to apply your changes:
    sudo systemctl restart sshd.service

For an Intel® IoT Gateway with the Intel® IoT Gateway Software Suite

The How-to Code samples and Cloud samples require manual installation of several packages. From the command line on your IoT platform, run the following:

For 64-bit gateways:

smart channel -y --add  intel_repository name="Intel Repository" type=rpm-md baseurl="https://download.01.org/iotgateway/rcpl25/x86_64/"
smart update
smart install -y upm mraa azure-iot-sdk ibm-iotf-ebeddedc openssl-dev
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
export prefix=/usr; make install

For 32-bit gateways:

smart channel -y --add  intel_repository name="Intel Repository" type=rpm-md baseurl="https://download.01.org/iotgateway/rcpl25/i586/"
smart update
smart install -y upm mraa azure-iot-sdk ibm-iotf-ebeddedc openssl-dev
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
export prefix=/usr; make install

For a MinnowBoard MAX* with Wind River Pulsar* Linux* 7

Be sure that your board has the latest 64-bit firmware installed: https://firmware.intel.com/projects/minnowboard-max

The samples require manual installation of several packages. From the command line on your IoT platform, run the following:

smart channel -y --add upm_mraa_channel type=rpm-md name="MRAA/UPM" baseurl=http://iotdk.intel.com/repos/pulsar/7/x64
smart update
smart install -y mraa upm openssl-dev

The Cloud samples require manual installation of several packages, as follows:

smart channel -y --add cloud_channel type=rpm-md name="Cloud" baseurl=http://iotdk.intel.com/repos/iot-cloud/pulsar/7/
smart update
wget https://iotdk.intel.com/misc/iot_pub.key
rpm -import iot_pub.key
smart install -y packagegroup-cloud-azure packagegroup-cloud-ibm packagegroup-cloud-aws

Creating and running projects

This section contains steps to create and run projects.

Creating a new C/C++ project

See this section for steps to create a new C/C++ project.

Running a project

See this section for steps to connect to your board and run a project.

This topic contains steps to create a new Java* project in the Intel® System Studio.

If your project includes sample code, and your board is an Intel® IoT Gateway, you may need to modify the pin numbers in the example code to accommodate the pin numbering for your board. For example, when you are programming an Intel® IoT Gateway and want to access pins on the Arduino 101* (branded Genuino 101* outside the U.S.) board, you must add a pin offset of 512 to the pin number. To initialize pin 13 on the Arduino 101 board (the onboard LED), you would actually initialize pin 525.

Requirements

Setting Maven proxy settings

If your network includes a corporate proxy, you should set your Maven proxy settings before creating a new Java project. Steps are included in https://maven.apache.org/guides/mini/guide-proxies.html. A sample settings.xml file is included below:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <proxies>
    <proxy>
      <id>central-http</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.com</host>
      <port>911</port>
      <nonProxyHosts>127.0.0.1|localhost</nonProxyHosts>
    </proxy>
    <proxy>
      <id>central-https</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>proxy.example.com</host>
      <port>912</port>
      <nonProxyHosts>127.0.0.1|localhost</nonProxyHosts>
    </proxy>
  </proxies>
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <profiles/>
  <activeProfiles/>
</settings>

Creating a new project

  1. Choose File > New > Project… from the menu. The Create a New Project page displays.
  2. Expand Application Development and select Project for building in a container and running on Linux.
  3. The Intel® System Studio supports building projects for more than one operating system. You'll be given the option to select an OS from the Select Target OS drop-down list, as seen below.

    In the table below you can see which of the OS supports are supported for creating a Java project.

    Platform Target operating system Programming Language
    Intel® IoT Gateway (64-bit) Ubuntu C/C++
      Intel® IoT Gateway Software Suite (Wind River* Linux*64-bit) C/C++, Java
    Intel® IoT Gateway (32-bit) Intel® IoT Gateway Software Suite (Wind River Pulsar Linux 32-bit) C/C++, Java
    Minnowboard MAX Wind River Pulsar* Linux* 7 C/C++
      Yocto-Project built Linux C/C++, Java
  4. Select one of the OSes that support Java, then click Next.

  5. When prompted to select a project type, select Intel® IoT Java Maven Project. Click Next.

  6. Enter the name of the project in the Name field. In the Examples list, browse for and select the type of project to create. A short description of the selected project type is displayed in the Description area. Click Next.
  7. Click Finish.

  8. Your project is created and displayed. If asked whether you want to install platform support for the type of board you selected, click Yes to proceed. This may take several minutes.

Creating a new project by importing an IoT example

  1. Choose Intel® IoT > Import IoT Examples. The Intel® System Studio Examples tab opens, with a list of project examples grouped by programming language.
  2. In the list of examples, browse for and select the example to use.

    A description of the selected example is displayed on the Description tab.

  3. Click Import Example. The Create a new project based on an example dialog box opens.
  4. Select the appropriate options for your target OS, type a name for the new project in the Name field, then click Finish. Your project is created and displayed in the Project Explorer panel.

Running a project

This section contains steps to run a project in the Intel® System Studio. Note that when you create a project, you are creating a project for a specific operating system. If you try to run a project on your board and run into incompatibility error messages, it is likely that you are trying to run a project on the wrong kind of board. For steps to convert a project to a different (and compatible) target OS, see Changing a project's target OS.

For more information on running and debugging programs in Eclipse*, see the documentation on the Eclipse web site.

To run a Java project

Requirement

Create a new connection as described in the section: Creating, viewing, and connecting to your board using an SSH/TCF Agent connection

To run a project

  • Selecting the target connection for a project

    The connection that your project uses when you run or debug the project is called the target connection. By default, all projects in the Intel® System Studio use the same target connection. Follow the steps below to set the target connection for the selected project.

  • Click on the arrow next to the target drop down and select your connection.
  • Ensure that your target is selected in the drop-down list.
  • From the Run drop-down list in the toolbar, select the name of your project.

    Running a project
  • You might get prompted for the Password or SSH private key. See Creating an_SSH/TCF Agent_connection for more details.
  • If a warning message about host authenticity displays, click Yes to upload and run your project.

    Example of the host authenticity warning
  • If your target board has versions of the MRAA and UPM libraries that are no longer supported by the Intel® System Studio (listed under "target version" in the image below), you are prompted to update the libraries to the minimum supported version.

    Click Update libraries on target to update the target libraries on your board.

     
  • Any dependencies (besides MRAA and UPM) that you've added to your project are uploaded onto your board as needed. Your project runs. When finished, click the Terminate icon from the Console panel to end the currently running process and clear the contents of your sketches folder.

    Click the Terminiate icon to end the currently running process

Managing projects and connections

This section contains steps to manage projects in the Intel System Studio.

Changing a project's target OS

This section contains steps to change the OS of an Internet of Things (IoT) project in the Intel® System Studio. When you create a new project, you are creating a project for a specific operating system (for example, a project for Ubuntu*). Thus, if you try to run a project on your board and run into incompatibility error messages, it is likely that you are trying to run a project on the wrong kind of OS. You can change the project's target OS to ensure that your project is compatible with your board. This allows the Intel System Studio to switch to the appropriate toolchain for your IoT device.

How do I tell what my project's target OS is?

In the Project Explorer, click the name of the project to select it. Once you've selected a project, you can also tell what OS the project is for. For example, if [Wind River Linux 64-Bit] is displayed next to the name, the project is for boards with Wind River* Linux* 64-bit installed.

Changing a project's target OS

  1. From the list of projects in the Project Explorer, right-click the name of the project. Select Properties. The Properties dialog box opens.

  2. From the left, select OS Management.
  3. From the list of Docker toolchains, select a target OS.
  4. Click OK. The project now supports the specified target OS.

Working with multiple projects in the Intel® System Studio

By default, your projects are listed in the Project Explorer tab. When you click the Run and Debug icons in the menu bar, the Intel® System Studio runs the currently selected project using the project's target connection. Steps are below to choose the selected project and target connection:

Selecting a project

You can determine which project to run or debug by default when you click the Run and Debug icons in the menu bar. This is called the selected project. Note that sensors and headers that you add to your project from the IoT Sensor Support tab are added to the selected project only, not to all projects on the Project Explorer tab.

Steps are below to select a project manually. If you run or debug a project (for example, through the Run drop-down menu), the project is automatically selected.

  1. On the Project Explorer tab, locate the name of your project.
  2. Click the name of the project to select. The word [selected] is displayed next to the project name to signal that it is selected.

Once you've selected a project, you can also tell what target OS the project is for. For example, if [Ubuntu 16.04 64-Bit] is displayed next to the name, as shown in the image below, the project is for targets with Ubuntu 16.04 64-Bit.

Selecting the target connection for a project

The connection that your project uses when you run or debug the project is called the target connection. By default, all projects in the Intel® System Studio use the same target connection. Follow the steps below to set the target connection for the selected project.

  1. Click on the arrow next to the connection drop-down list and select your connection.
  2. Ensure that your target is selected in the drop-down list.

Working with sensors in the Intel® System Studio

You can view a list of sensors supported in the UPM sensor library, access relevant documentation on each sensor, and quickly add a sensor to your selected project. For steps, see the appropriate section below:

Viewing supported sensors

  1. Choose Intel® IoT > Sensor Support View. The IoT Sensor Support tab displays.

    Example of the IoT Sensor Support tab

The supported sensors are displayed in categories, such as Analog Inputs or Displays. You can expand a category to see the list of supported sensors in the category. You can also type a search term in the type filter text field to search for a specific sensor. Information on each sensor includes a description, manufacturer, and connection type, such as I2C or SPI.

Searching for a sensor

  • You can view the UPM sensor library documentation for the sensor. To do so, click the icon for the sensor under the Doc category.
  • You can view relevant wiki information for the sensor, if available. To do so, click the icon for the sensor under the Wiki category.

Example of viewing the information for a sensor

Adding a sensor to your source file

You can add a sensor to your project. Note that the sensor is added to the selected project only, not to every project in the Project Explorer tab.

  1. In the Project Explorer tab, click the name of the project to select it. The word [selected] is displayed next to the project name.
  2. On the IoT Sensor Support tab, navigate to the sensor and select the check box next to its name. This sets all the options you need to use the sensor in your project, such as the linker flag.

    Select the check box next to the sensor name.
  3. If a message is displayed asking you if you want to add the header for the sensor library to the project source file, click Yes.

    Click Yes to add the header to the source file.

    The header file for the sensor is added to the main project file in an include statement. The header is added to the selected project.
    Example of the include statement for a sensor

Adding sensor headers to your project

If you've added sensors to your project but haven't added their headers to the currently selected project, you can do so quickly as follows:

  1. Right-click the main project file, then point to Add Sensor Header.
  2. Select the headers to add.

Example of the sensor context menu

Creating, viewing, and connecting to your board using an SSH/TCF Agent connection

You can create a new connection to your IoT board, connect to your board using an existing connection, and more. For steps, see the appropriate link below.

Important: Please read!

Intel® System Studio is using the Eclipse TCF framework and TCF Agent to connect to the target. On first connection, the TCF Agent is copied to the target. This agent will allow connection without any credentials. Please make sure that your target is on a separate network before connecting to it. After every restart, the agent needs to be copied again.

Caution: When you connect to your target system this way, Intel System Studio copies a TCF agent to your target, which is listening for connections from any computer on your local network. Even though the IDE asks for authentication credentials, the agent does NOT have any authentication. Therefore, any user can connect to it and can use the agent to run arbitrary code on your target device.

The copy process of the TCF Agent is done using an SSH connection. This connection can be established using either a username and password or a public key authentication. See below steps how to create a connection and how to connect to it.

Creating a connection to your board

  1. Click on the arrow next to the connection drop-down list and select New Connection

  2. If you have a full Intel® System Studio installation, the connection wizard opens. Please select Intel® System Studio IoT and click Next. If you have a custom installation with only the Intel® System Studio IoT components, this window will not pop up and you can continue directly with the next step.

  3. Create your connection manually, as follows:
    1. Type a name for the connection in the Connection name field.
    2. Type the board's name or IP address in the Address field.

  4. If you don’t know your target’s IP address you can try to discover it. To do so, click the Browse button.

    In the dialog that pops up, click on your target and then OK to take over the IP address and the connection name.

    Note: If your target does not show up, it might be due to firewall settings or because your target is in a different subnet.

  5. Click OK. Your connection is created and added to the Target Connections drop-down list. It will automatically try to connect to the target.

Viewing connections

  1. Click on the arrow next to the connection drop-down list. You will see all available connections listed in the drop-down list.

The icons next to the selected connection name change the connection status as follows:

  • Disconnect Disconnected icon
  • Connect Connected icon
  • Disconnected state

  • Connected state

Select Open Connection Details to modify the IP address/host name or connection name. See also Changing the connection details for more information.

Connecting to a board

  1. Click on the green icon next to the connection drop-down list.
  2. If a warning message about host authenticity displays, click Yes to continue connecting.

    Example of the host authenticity warning
     
  3. The first time you connect to the target, as well as after every restart of the target, the TCF Agent has to be downloaded. This requires an SSH connection. You can choose between password authentication and public key login.

Authentication by (username and) password

  1. Click on the Login with password tab, if not already selected.
  2. Enter your username and password.
  3. Click OK to connect.
  4. Note that you can save these credentials. This avoids having to be prompted the next time you restart the target and the TCF Agent needs to be downloaded.

Log in using the public key login

  1. Click on the Public key login tab, if not already selected.
  2. Enter your username.
  3. Enter the private key file path or browse to it by using the Browse button.
  4. Enter the passphrase for the private key.

Resetting the login credentials for a connection

If you have changed the user name or password you use to log in to a board, you can reset the saved login credentials that the application uses to connect to the board.

  1. Click on the arrow next to the connection drop-down list.

  2. If you are currently connected to your board and the TCF Agent is not running on it (after restart), you will be prompted for login information.
  3. Choose Clear credentials. The next time you connect to the board, you will be prompted for login information.

Changing the connection details

  1. Click on the arrow next to the connection drop-down list, then click Open Connection Details. Note that the connection needs to be in the disconnected state.

  2. An editor window will open where you can change the connection name, the host name, and IP Address.

  3. Click the Save icon in the toolbar to apply the changes.

Launching a terminal session for a connection

You can create a terminal session with your board to interact with your board in a command line-style interface. This interface allows you to check the version of the firmware installed on your board, change your board's name or the password to use to log in to your board, and more. You can also try out some common Linux* commands to get familiar with the system. Lists of common Linux commands can be found by searching for "basic linux commands" in your favorite search engine.

  1. The connection must be connected to the target. Click on the arrow next to the connection drop-down list.
  2. Click on Launch Terminal. The Terminal tab opens.

When working in the Intel® System Studio, you can determine how to handle adding or removing sensors from a project, when to display Java* compatibility messages, and more. See the appropriate link below for steps:

Determining how to add and remove sensors for a project

By default, when you add or remove a sensor from a project, the Intel® System Studio checks to see if certain options need to be added or removed. For example, if you add a sensor to a C/C++ project, the Intel® System Studio checks to see if the main project file already includes the header for the sensor. If not, the Intel® System Studio displays a confirmation message asking if you would like to add the header.

You can disable these messages and determine how the Intel System Studio handles adding or removing sensors. For example, you can have the Intel System Studio automatically add the appropriate header whenever you add a new sensor to a project.

  1. Choose Window > Preferences.
  2. From the left, select Intel® System Studio. Click the Views and Perspectives tab.
  3. Under Java Sensor Support:
    1. You can determine whether to add the appropriate native load library and imports when you add a new sensor to an IoT project. Under Adding import(s) after deselecting a sensor, do one of the following:
      • To have the user choose how to handle the load library and imports, select Always ask before adding import(s).
      • To add the load library and imports to the project, select Always add import(s) automatically.
      • To add the sensor without adding the load library and imports, select Never add import(s) automatically.
    2. You can determine whether to remove the appropriate native load library and imports each time you add a new sensor to an IoT project. Under Removing import(s) after deselecting a sensor, do one of the following:
      • To have the user choose how to handle the load library and imports, select Always ask before removing import(s).
      • To remove the load library and imports from the project, select Always remove import(s) automatically.
      • To remove the sensor without removing the load library and imports, select Never remove import(s) automatically.
  4. To return to the default settings and have the Intel® System Studio display a prompt each time you add or remove a sensor, click Restore Defaults.
  5. Click OK to apply your changes.

Determining whether to display Java compatibility messages

You can choose whether to have the Intel® System Studio check that you have the correct version of Java installed on your host system, as follows:

  • When you launch the Intel® System Studio
  • When you run and debug Java projects
  1. Choose Window > Preferences.
  2. From the left, select Intel® System Studio. Click the Java/Maven tab.
  3. You can have the Intel® System Studio check for the correct version of Java when you launch the application. Under Compatible JDK, do one of the following:
  • To have the Intel® System Studio display a message if you have not installed the correct version of Java, select the Compatible Java JDK check at Eclipse startup check box.
  • To launch the Intel® System Studio without checking the Java version, clear the Compatible Java JDK check at Eclipse startup check box.

You can have the Intel® System Studio check whether the versions of the MRAA and UPM libraries on your board are supported whenever you run a Java project. Do one of the following:

  • To check that the MRAA and UPM libraries are supported, select the Check version of supported libraries on Maven project launch check box. If the libraries are too out-of-date, you'll see a message asking you to update these libraries.
  • To launch Java projects without checking, clear the Check version of supported libraries on Maven project launch check box.

Click OK to apply your changes.

Determining whether to check for project compatibility before running a project on an unknown or unsupported target

You can determine whether the Intel® System Studio checks that your project is compatible with your target board before trying to run the project on an unknown or unsupported board.

  1. Choose Window > Preferences.
  2. From the left, select Intel® System Studio > IoT Development. Click the Targets tab.
  3. Under Project compatibility check, select one of the following:
    • To prevent the project from running if it is incompatible with your board, select Never run with an unsupported target but will prompt if the target cannot be identified. If the Intel® System Studio cannot identify your target board when you try to run the project, a message about the issue is displayed.
    • To prompt the user to decide whether to run the project despite any compatibility issues, select Always ask to run the project.
    • To run the project on the target regardless of compatibility issues, select Always run the project.

Adding third-party libraries to a project

If your project requires a third-party library, you can add the library to the project, as described in the steps below.

Adding a third-party library to a Java project

To add a third-party library to a Java project, you add it to the project's pom.xml file. For more information on the pom.xml file, see the Apache* Maven documentation.

To search for third-party libraries, the Maven repository index needs to be downloaded once. Eclipse can download it automatically on startup, but you need to set the preference to enable this feature. Select Window (Eclipse on Mac) -> Preferences, then click on the Maven entry. In the preferences on the right, select Download repository index updates on startup. Please restart Intel System Studio now to update the repository index.

  1. In the Package Explorer, expand the project folder to see its contents. Double-click pom.xml to open it.

  2. In the bottom of the application window, click the Dependencies tab. The library dependencies for the project are displayed. Under Dependencies, click Add.
  3. In the Select Dependency dialog box, provide the dependency information for the library to add to the project, such as the Group Id and Artifact Id.

  4. Click OK to apply your changes. The library is now listed under Maven Dependencies.

  5. You can also click the pom.xml tab to see a listing of the libraries that have been added to the project. If you added sensors to your project from Sensor Support View, the relevant UPM sensor libraries are also listed here.

This section contains steps to run Java* Internet of Things applications on a target.

Building Java* IoT applications

You can run Java IoT applications outside of the Intel® System Studio by manually compiling the code using javac. For compilation, you need the .jar files corresponding to the MRAA* and UPM* libraries on the device. An archive with the latest stable libraries can be found in iotdk-java-latest.zip (the development versions of the UPM and MRAA .jar files can be found here. In the commands below, the following locations and names are used:

  • PATH_TO_JARS represents the location where the archive with the .jar files has been unpacked.
  • PATH_TO_SOURCE_FILES represents the path to the Java source files.
  • bin/ is the directory where the compiled Java classes are placed.
  • NAME_OF_JAR_FILE is the name given to the .jar file where the compiled Java classes are placed.
  • NAME_OF_MAIN_CLASS is the name of the class that contains the main() method, which is the entry point of the application.
  1. Use the following commands to compile and pack the Java files of the IoT Java application:
    javac -cp PATH_TO_JARS -d bin/ PATH_TO_SOURCE_FILES
    jar cvf NAME_OF_JAR_FILE -C bin/ .
  2. Copy the resulting application .jar file (NAME_OF_JAR_FILE) to your target. On a system with Linux* or OS® X, you can use scp. On a system with Windows*, you can use WinSCP.

    For example, assuming your application is in a Sample.java source file placed in C:\workspace\sample\src\ (PATH_TO_SOURCE_FILES) and the IoTDK .jar files are in C:\upm (PATH_TO_JARS):


     
  3. Copy the files to the board using scp for Linux or OS X, or WinSCP for Windows:

    Example of using WinSCP

Running Java IoT applications on IoT devices

In the IoTDK device images, the .jar files needed on runtime for using MRAA and UPM are located in /usr/lib/java. The Java shared libraries are located in /usr/lib, the default path for shared libraries on Linux systems. Therefore, setting the java.library.path with the "-Djava.library.path=/usr/lib" parameter is not necessary.

  1. To run your Java application on the target device with the MRAA and UPM libraries, use the following command:
    java -cp .:/usr/lib/java/*:NAME_OF_JAR_FILE NAME_OF_MAIN_CLASS

    In the example application below, you you would type:

    java -cp .:/usr/lib/java/*:sample.jar Sample
     

  2. Connect to the board using ssh or PuTTY and run your application. In the sample application above, you would run the Sample class in the sample.jar file. You can view the output in your terminal window, as shown below:
     

Intel® System Studio: Troubleshooting and FAQ

This guide contains troubleshooting information and answers to common questions about programming your board using the Intel® System Studio. For general instructions to install the application, see the Intel® System Studio 2018 Beta Installation Guide. For steps to make sure Docker is working, see Setting up the Intel® System Studio.

Installing and running the Intel® System Studio

Using the Intel® System Studio

Working with sensors

Resolving error messages

How to solve errors using Docker with Intel System Studio

Please go to the following website and follow the guide which leads you to a solution how to solve the errors:

https://software.intel.com/en-us/articles/errors-using-docker-with-intel-system-studio

How do I start and configure a new/sample project?

See the following for steps:

Creating a new IoT Java* project

What do I need to change if I want to use other UPM sensors?

See Working with sensors in the Intel® System Studio.

I looked at all the UPM library files but my sensor is not supported by UPM. Can I still use it?

We’re sorry, but because there are thousands of sensors available, it’s not unlikely you might want to use a sensor that is not currently implemented in UPM.

Your starting point in this situation is to identify what kind of sensor you’re dealing with, as MRAA provides some generic interfaces that might be useful in your quest to get the sensor working. Sometimes it’s as simple as reading a value of an analog pin and processing it, but other sensors are a lot more complicated.

As a general rule of thumb, try to identify a similar sensor to the one you have that already exists in UPM and take a look at the code to see how it works. You will notice that different manufacturers may use the same chip on a similar sensor, in which case the UPM code should work with little or no changes at all. When this is not the case, use the existing sources and examples when possible, but most importantly, refer to the sensor datasheets to get you on your way.

More details, including porting Arduino* examples and building UPM, are here: http://iotdk.intel.com/docs/master/upm/pages.html

I ended up writing a new interface for my sensor. Is it possible to add it to the UPM library?

We actually encourage the community to contribute to the UPM library by adding the new and cool sensors you used in a project. Interface code must adhere to a few guidelines before we add it to the library. Thus we encourage you to read through our contributions guide, as it will speed up the review process. You can find more information here: http://iotdk.intel.com/docs/master/upm/contributions.html

Can I use the Intel® System Studio to build, test, and maintain my new UPM sensors?

This is not an easy task, but is possible with some effort. UPM uses CMake* to generate makefiles that will compile the source code. While there is an Eclipse plugin available for this sort of project (CMakeBuilder), most users report having better success using the existing makefile project type available by default in the Intel® System Studio and running CMake separately. To set this up, you will have to import your UPM clone into the Intel® System Studio as a Makefile project and set the toolchain accordingly. A good way to understand this process is by performing a separate build of UPM first. You can find more about this in the build guide: http://iotdk.intel.com/docs/master/upm/building.html

How do I set C++11?

Follow the steps below, which were tested on Windows* 7, with an Intel® Edison board and the Intel® IoT Developer Kit v1.0 version of the Intel® System Studio.

  1. Choose Project > Properties.
  2. Navigate to C/C++ Build > Settings > Tool Settings > Cross G++ Compiler > Miscellaneous.
  3. Add -std=c++11 to the end in the Other Flags field.

    Source: http://wiki.eclipse.org/CDT/User/FAQ#CDT_does_not_recognize_C.2B.2B11_features.

    Navigate to the Other Flags option
  4. Navigate to C/C++ General > Preprocessor Include Paths, Macros etc. > Providers.

    Source: http://stackoverflow.com/questions/17457069/enabling-c11-in-eclipse-juno-kepler-luna-cdt
  5. Select CDT CROSS GCC Built-in Compiler settings, then add -std=c++11 to the end in the Command to get compiler specs field.

    Type the appropriate text in the Command to get compiler specs field
  6. To rebuild the index, choose Project > C/C++ Index > Rebuild.

    Select Rebuild

Can I use multiple connections to the same board?

No. In each project, you can select only one connection. However, you can create and assign many Remote System Connections to the same IP address (in this case, the IP address of your board).

Can I use a USB/serial cable to transfer data from the Intel® System Studio (without an Internet connection) and run/debug programs?

No. The Intel® System Studio does not provide any functionality to transfer data through USB or serial cable.

How do I rename my project?

  1. Right-click the project in the Project Explorer tab, then select Rename.
  2. Enter a new name for your project.
  3. Right-click the renamed project and select Index > Rebuild.
  4. Right-click the renamed project and select Clean Project.
  5. To rebuild the project, choose Project > Build All.
  6. For C/C++ only:
    1. If you chose to create a launch configuration, choose Run > Debug Configurations… and select the launch configuration with the former name of your project in the C/C++ Remote Application category.
    2. Change the Name of the launch configuration on the top.
    3. Click the Search Project… button to choose the C/C++ application and replace the former project name in the Remote Absolute File Path for C/C++ Application field.
    4. Set the Commands to execute before application to the new project name.

How do I restore the introduction window/Intel® System Studio tab that was shown the first time I ran the application?

Choose Help > Getting Started. To show this tab on the right side of the interface, click the Restore icon in the upper right of the window.

How do I create a new target connection?

See Creating, viewing, and connecting to your board using an SSH connection for steps.

How can I debug my application?

If you chose to create a launch configuration with your project, but skipped the step to set up a new connection, you can do this by following the steps in How do I create a new target connection?.

To debug your application, choose Run > Debug Configurations… and expand the C/C++ Remote Application category. Select the launch configuration that has the same name as your project and click Debug. A dialog box opens and requests the user name and password for connecting to the target device. Enter the user name and password you specified when you set up the board.

Alternatively, you can click the arrow of the run/debug launch configuration button in the toolbar, then select the launch configuration.

I'm running my own programs but started getting an "Error during file upload" message. This worked minutes ago, what should I do?

This usually happens if you leave your program running on the device and try to upload it again, because the application binary is already in use. You can try to stop your program from the console as a first step. Holding down the reset button on an Intel board will clear the sketch folder and running programs.

Another simple fix is to do a software disconnect from the IDE. Choose Window > Show View > Other, then select Remote Systems (under the Remote Systems group, now a default view in newer Intel® System Studio versions). From the new tab, right-click your board and select Disconnect, which will terminate the running process and fix the issue.

Unable to launch - "The selection cannot be launched, and there are no recent launches" message

This message is displayed when the Intel® System Studio is not able to launch the current selection. Please click on an existing project and try again or choose Run > Debug Configurations… and select a launch configuration from the C/C++ Remote Application category.

Can I move the installation to another directory?

No, this is not recommended, and the Intel® System Studio may not work if you move the installation files.

I got the "Failed to connect sshHD on XXX.XXX.XXX.XXX:22" error, even when my IP address is correct. What can I do?

The problem is likely incorrect proxy settings. Do the following to set the correct proxy settings:

  1. Choose Windows > Preferences.
  2. Navigate to General > Network Connections.
  3. If your Intel® Edison board is on the same LAN/WLAN as your computer, select the Direct connection in the proxy settings.

How can I provide feedback?

You can provide feedback in the forum at https://software.intel.com/en-us/forums/internet-of-things.

I can't open the Intel® System Studio

Do you have spaces in any of your folder names?

If the full file path to your Intel® System Studio folder contains spaces, you may not be able to use the batch file to run the Intel® System Studio. If you cannot move the Intel® System Studio folder, you may need to edit iss-iot-launcher.bat file and hardcode the full file path. For example, change the first line:

export DEVKIT_HOME=$(dirname $0)/

To the following (providing the appropriate folder path for your installation):

export DEVKIT_HOME="/my parent folder/my iss iot folder/"

When attempting to launch the Intel® System Studio, the command line window appears and disappears, then nothing happens

The batch file is not working with your current development setup. Run the batch file via the command line to see any error messages and try to manually resolve the issue, as follows:

  1. From the Start menu, select Run.
  2. Enter the command: cmd
  3. In the command line window, navigate to the director where iss-iot-launcher.bat is stored. For example, cd c:\Users\username\Downloads\iss-iot-­win.
  4. Enter the command: iss-iot-launcher
  5. Look closely at the output for error messages.

Intel® System Studio can’t be opened because it is from an unidentified developer" message

You may see this message if you have a system with OS® X. Do the following:

  1. Right­-click iss-iot-launcher.sh and choose Open with > Terminal.
  2. Click Open to run the batch file. You should only have to do this once.

"No Java virtual machine" message

If you see a "No Java virtual machine" message, as shown below, you must install a JRE or JDK.

"No Java virtual machine" message

"Windows cannot find eclipse.exe" message

The "Windows cannot find eclipse.exe" message is displayed when you try to open the development kit package with a 32-­bit Windows* OS. You will need to make some adjustments to your development kit package:

  1. Download and extract the Arduino IDE for Windows from the Software Downloads page.
  2. In the extracted Arduino IDE folder, navigate to hardware\tools\edison\sysroots\ and copy the entire i686­pokysdk­mingw32 directory.
  3. In the iotdk­ide­win folder, go to the \devkit­x86\sysroots folder. Paste the i686­pokysdk­mingw32 folder here.
  4. Edit the iss-iot-­launcher.bat script using Notepad or similar text editor. Change the following line:
    set PATH=%PATH%;%DEVKIT_HOME%\devkit­x86\sysroots\x86_64­pokysdk­mingw32\usr\bin\i586­poky­linux;%DEVKIT_HOME%\iot­devkit\devkit­debugger
    To the following:
    set PATH=%PATH%;%DEVKIT_HOME%\devkit­x86\sysroots\i686­pokysdk­mingw32\usr\bin\i586­poky­linux;%DEVKIT_HOME%\iot­devkit\devkit­debugger
  5. Download the Windows 32­-bit version of the Intel® System Studio for C/C++ Developers from the following location: https://eclipse.org/downloads/packages/release/Kepler/SR2.
  6. Extract the 32­bit version of the Intel® System Studio and use it to replace the version of the Intel® System Studio found in the iotdk­ide­win folder.
  7. Double-click ­liss-iot-launcher.bat to run the Intel® System Studio.

"Failed to connect sshd" error message when running a program in the Intel® System Studio

If your Intel® Edison board is using a Wi-Fi connection, you must have a password set on your board, otherwise you will get a SSH connection error.

  1. To set a password, connect to your board via a serial connection and enter the command: configure_edison ­­password
  2. Follow the on-screen instructions to set your password.

"Wrong or no JDK found" message

Intel® System Studio depends on a Java* Runtime Engine (JRE) to execute. You should have the 64-bit version of Java SE Development Kit 8 (also called JDK version 1.8). Intel® System Studio also supports OpenJDK 8 and higher.

You can download the JDK from Oracle at http://www.oracle.com/technetwork/java/javase/downloads/index.html. Install the 64-bit JDK (indicated by x64 in the download name), not the 32-bit (x86) version.

If you do not have the correct JDK installed, you may see a warning message similar to the following:

Example of an error message about installing the JDK

If the message continues to appear after you have installed the JDK, you may need to manually select your JDK in the Intel® System Studio.

Note: The following steps are relevant if you are developing with Java. You can select the Do not show this message again check box to dismiss the message if you plan to develop with C/C++.

  1. In the Intel® System Studio, choose Window > Preferences.
  2. Expand the Java category and click Installed JREs. A list of installed JREs and JDKs displays.
  3. If your JDK is not included in the list, click Search. Browse to and select the folder that contains the JDK, then click OK. Your JDK is added and displayed in the Installed JREs list.
  4. Select your JDK, then click OK.
  5. Close and relaunch the Intel® System Studio to confirm that the message does not reappear.

"Unsupported target for the launched project" message

This message is displayed if you try to run a project on a device that does not match the project's type. For example, you may see this message if you try to run a project build for Ubuntu on a target with Wind River Linux*. For steps to convert a project to the correct project type, see Changing a project's type.

Unsupported target for the launched project message

Indexing a new project fails

For Windows 8 users: Sometimes indexing will fail when creating a new project. If this happens, you will need to re-index. Right click on the project in the Project Explorer window, and select Index > Rebuild.

Display issues with icons, scrolling, splash screen, and more

The Intel® System Studio is based on Eclipse* Mars, which does not support GTK 3. If your host machine runs Linux and you are using GTK 3, be sure to set the environment variable SWT_GTK3 to 0, as described in Setting up the Intel® System Studio on Linux*.

Note that this is a workaround. You may still experience display issues even with this workaround in place, such as icons partially displayed, scrolling not working correctly, or problems with the application splash screen. These issues should not affect project creation and development as long as you follow the steps in this guide.

The code samples aren't working!

Depending on the type of IoT board you're working with, you may need to run some additional commands on your board to be able to run the code examples in the Intel® System Studio. See Enabling code examples for steps.

I can't create a project!

If you're having trouble creating a project (for example, if you click Finish and the project creation disappears but your project is not created), your Docker image may be corrupted. Try the following:

  1. In Docker QuickStart Terminal (for Windows hosts) or a Terminal Window (for OS X or Linux hosts), run the following commands:
    docker images
    docker rmi <IMAGE ID>

    The IMAGE ID is typically 8-10 characters long with numbers and letters. For example, if your image ID is a2e7c3b0ca22, you'd enter

    docker rmi a2e7c3b0ca22

    If your docker image is in use, you may need to force removal with -f:

    docker rmi -f a2e7c3b0ca22
  2. Next, redownload your Docker image. The command to enter will vary depending on the target OS you're trying to create a project for, as follows:
    Operating system Command
    Yocto Project-built Linux docker pull inteliotdevkit/intel-iot-yocto
    Intel® IoT Gateway Software Suite (64-bit) docker pull inteliotdevkit/intel-iot-wrs-64
    Intel® IoT Gateway Software Suite (32-bit) docker pull inteliotdevkit/intel-iot-wrs-32
    Ubuntu* 16.04 LTS docker pull inteliotdevkit/intel-iot-ubuntu
    Wind River* Linux* docker pull inteliotdevkit/intel-iot-wrs-pulsar-64
  3. Restart the Intel® System Studio and try creating a project again.

Synchronization detection gives me an "Unknown" version message (for Wind River Pulsar* Linux* users)

Please discontinue the synchronization process.

Next, check that your MinnowBoard MAX* with Wind River Pulsar Linux is connected to the Internet. If your connection requires proxy settings, please add the right environment variables inside .bashrc.

After you are sure you have an Internet connection, please try to synchronize your packages again by right-clicking your connection, then selecting Synchronize packages….

I can’t install my packages; the installation fails after three minutes

The package installation process has a timeout process of three minutes. If you wish to install a package that take more time to install, you can install them manually (directly inside the container).

Or, if you are familiar with bash scripts, you can change the timeout inside the ${ISS_IOT_HOME}/iot/script folder:

  • Yocto Project-based Linux (for the Intel® Edison board, Intel® Galileo board, MinnowBoard MAX): Change scripts that begin with "opkg"
  • Intel® IoT Gateway Software Suite and Wind River Pulsar Linux (for 32- and 64-bit Intel® IoT Gateways, MinnowBoard MAX): Change scripts that begin with "smart"
  • Ubuntu (for 64-bit Intel® IoT Gateways): Change scripts that begin with "apt-get"

I cannot synchronize a package: "Package not found" error

This probably means that you don’t have the same package repositories as the ones registered in your Docker container.

To check how to add/remove containers on your Docker container, please see: https://software.intel.com/en-us/how-to-add-repositories

Except for the connection, the same steps for adding a package repository applies on the target.

When creating a Java Maven project, the process fails and produces multiple error messages

If you are trying to create a Java project and are presented with multiple error messages like those below ("Can't build Maven project", "Error updating Maven configuration", "Problem occurred"), try the following:

  1. First, double-check that you have an Internet connection.
  2. If you are behind a proxy, you'll need to change the Maven settings file, following the instructions at: https://maven.apache.org/guides/mini/guide-proxies.html
  3. Close the Intel System Studio, reopen it, then try to create a new Java Maven project.
  4. If the problem persists, please remove the Maven repository folder, located at: ${user.home}/.m2/repository
  5. Close the Intel System Studio, reopen it, then try to create a new Java Maven project. The process should now finish without issues.

I can't install Docker/the Intel® System Studio

If you have issues installing Docker or the Intel® System Studio, you may have success by uninstalling the application and trying again. When uninstalling the Intel® System Studio, be sure to also uninstall Docker and Oracle* VM VirtualBox (if applicable). Afterwards, you can reinstall these components and attempt to install the Intel® System Studio again using the steps for Windows, Mac, or Linux host computers.

For host computers with Windows

Check for the following common installation issues:

  • Virtualization (often referred to as Intel VT-x in the BIOS) must be enabled on your host computer.
  • For host computers with Windows® 10 Pro, Enterprise, or Education, be sure to use Docker for Windows* rather than Docker Toolbox*. For host computers with all other compatible versions of Windows, we have an internal solution and you don’t need to install Docker by yourself.
  • Docker for Windows requires Hyper-V to be enabled.
  • Be sure to run installers as an Administrator (right-click the program and select Run as Administrator).
  • If you are working on a network with a corporate proxy, be sure to follow all instructions to provide the appropriate proxy information to Docker.

Docker Toolbox

If you have installed Docker Toolbox and did not select the Install VirtualBox with NDIS5 driver check box during installation, you need to uninstall and reinstall Docker and any additional components required for the Intel® System Studio, as follows:

  1. Uninstall Docker Toolbox and Oracle VM VirtualBox.
  2. Right-click the Docker Toolbox installer and select Run as Administrator.
  3. Follow the steps in the setup wizard until you reach the Select Additional Tasks page.
  4. Select the Install VirtualBox with NDIS5 driver check box, then continue to install Docker Toolbox.
  5. After the setup process is complete, run Docker Quickstart Terminal and wait for the process to finish. It may take 5-10 minutes. Afterwards, continue to run the Intel® System Studio from the iss_ide_eclipse-launcher.bat file.

When installing the Intel® System Studio on a Windows host, you may run into issues when VirtualBox* tries to create a virtual machine. Try the following:

  1. Open Network Connections.
  2. Right-click the VirtualBox Host-Only Network adapter (created as part of the installation process) and select Properties.
  3. Select the VirtualBox NDIS6 Bridged Networking Drive check box. Click OK.
  4. Right-click the network adapter again, then select Disable.
  5. Right-click the network adapter again, then select Enable.

For more troubleshooting information, refer to http://stackoverflow.com/questions/33725779/failed-to-open-create-the-internal-network-vagrant-on-windows10.

Docker for Windows

If you see the following message when running Docker For Windows, you need to enable Hyper V.

  1. From the Start menu, search for Windows features and select Turn Windows Features on or off from the search results.
  2. In the Windows Features dialog box, make sure that the Hyper-V check box is selected and click OK. You may be prompted to restart your computer to apply these changes.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here