Introduction
Arduino Create* is an online integrated development environment (IDE) that simplifies the process of getting familiar with the UP Squared* Grove* IoT Development Kit. As a cloud-based software development environment, Arduino Create is always up-to-date and provides a streamlined method to configure the UP Squared* (UP2*) board so you can quickly start experimenting with the various sensors provided in the kit.
Many developers may at some point want, or need, to move from Arduino Create to a full-featured production IDE. This article provides guidelines for getting your UP2 board configured for developing applications with Intel® System Studio.
Get familiar with Arduino Create*
The steps outlined in the following sections of this article assume you have already configured your UP2 board and successfully worked through the Arduino Create Blink Application provided in the Grove IoT Development Kit. If not, check out the UP Squared* Grove IoT Development Kit Getting Started Guide before proceeding.
Install Intel® System Studio on Host Computer
Intel® System Studio is the IDE of choice when developing IoT and gateway applications targeting Intel® processors. As you will see on the Intel® System Studio landing page, it provides access to over 400 sensors, enhanced debugger workflows that automate tracing, additional libraries and code samples, and improved data compression and optimizations for small matrix multiplication.
Intel® System Studio is available with a free 90-day renewable commercial license. After registering here, you are given the option of selecting the development and target operating systems. When you register Intel® System Studio you will receive an email with the serial number to use during installation.
In this article our host development computer is equipped with an Intel® Core™ i7 processor, 8 GB RAM, and Windows® 10 Pro. The target operating system is of course Linux*, as the UP2 board comes preconfigured with Ubuntu* 16.04 Server installed, along with some other support libraries.
Once Intel® System Studio is downloaded to your development computer, refer to Developing C/C++ Projects with Intel® System Studio for additional information on installing Docker*, enabling code samples, etc.
Intel® System Studio Dependencies
Docker*
If you installed Intel® System Studio but Docker is not already installed on your system, you will soon discover that it is required for building and uploading projects targeting the UP2 board. Refer to Installing Docker* on a Windows* Host for complete information on installing Docker. In this article we installed Docker for Windows (stable channel) per the linked guide, enabling virtualization in BIOS, etc.
Microsoft .NET Framework*
You may also need to install Microsoft .NET Framework* 3.5 if it is not already installed on your system. You can download the installer here.
PuTTY*
Although PuTTY* is not strictly a requirement, you will likely find it useful for remotely accessing the UP2 board. You can download PuTTY here.
Configure the UP2 Board* Target Environment
The UP2 board includes HDMI and USB connectors, making it convenient to plug in a monitor, keyboard and mouse for local configuration changes. The instructions below assume you are working locally in this manner, rather than over remote SSH connection. (Note: both the default username and password for the UP2 board is upsquared.)
Ubuntu* 16.04 Server Image
As previously mentioned, the UP2 board comes with Ubuntu 16.04 Server preinstalled, so you should be good to go right out of the box. However, in the unlikely event the OS becomes corrupted, or if you simply want to start fresh with a clean installation, you can download and flash the board by following the directions provided here: UP Squared IoT Grove Development Kit Ubuntu 16.04 Server Image.
Configure Root Access on the UP2 Board*
In order for Intel® System Studio to synchronize libraries between the host computer and target board, the UP2 board will need to be configured for root access. One way to achieve this is by entering the following commands to create a root password and unlock the account on the UP2 board:
sudo passwd root sudo passwd -u root
Next, open the SSH configuration file:
nano /etc/ssh/sshd_config
Locate and change the following line:
From: PermitRootLogin without-password
To: PermitRootLogin yes
Save the file and then then restart SSH:
service ssh restart
You can verify remote root access by using PuTTY (assuming you installed it as recommended above). In PuTTY, specify SSH for the connection type using Port 22, and enter the UP2 board’s IP address. Once a connection is made to the UP2 board, enter root for the username along with the password you created in the steps above. Close the PuTTY session once you have verified connectivity.
Build and Upload a Sample Program
In this section we will test our development environment by running the On-Board LED Blink example included in the Intel® System Studio installation. Assuming you have successfully worked through the Arduino Create Blink Application provided in the Grove IoT Development Kit, you should be familiar with the board setup shown in Figure 1. If not, refer to the instructions provided here for more information on how to connect the Grove LED module to the Grove Pi+* breakout board.
Figure 1. UP2 board with Grove Pi+* and LED module
- Open Intel® System Studio and select File – New – Project.
- Under Application Development select Project for building in a container and running on Linux– Next.
- In the next window select Ubuntu Linux 16.04 64-Bit (GCC)– Next.
- In the next window select C++– Basic – On-Board LED Blink– Finish.
- Install platform support if not already installed.
- Run the project by following the directions provided here. Note: When prompted for login information to access the UP2 board, use the root account information created in the last section.
Migrate an Arduino Create* Project to Intel® System Studio
Instructions for migrating an Arduino Create project to Intel® System Studio are contained in the article“Transfer Your Project from Arduino Create* to Intel® System Studio 2018”.
Conclusion
Arduino Create is a great framework for getting up to speed quickly with the UP Squared Grove IoT Development Kit, and it may prove to be your IDE of choice for developing IoT applications for the UP2 board. For other developers, migrating to a full-featured production IDE like Intel® System Studio may be desirable or necessary. Hopefully this short primer will assist you in making the transition.
Notices
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. Check with your system manufacturer or retailer or learn more at intel.com.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications, and roadmaps.
The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.
Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting www.intel.com/design/literature.htm.
Intel, the Intel logo, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
© 2018 Intel Corporation
Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.