Electronic Design
IoT Development Tools Run on the Cloud

IoT Development Tools Run on the Cloud

Development tools are no longer rooted on your PC. Doing IoT development often means using the cloud to access your IDE.

Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.

Running conventional development tools on the cloud is easy using virtual machines, but creating web-based tools is a major undertaking. These usually take the form of Infrastructure as a Service (IaaS) or Platform as a Service (PaaS). On the other hand, vendors see significant advantages to providing tools in the cloud. It minimizes setup and configuration time for new users. It allows developers access to the latest versions and possibly companion products like operating systems and IoT frameworks.

For developers, a cloud-based solution allows the cloud to do the (often-considerable) heavy lifting for large applications—especially for tasks like unit or regression testing. Development platforms can be lightweight hardware like Chromebooks.

Fig. 1
The mbed IDE runs on the cloud. It can download applications to local hardware for debugging.

Of course, there are potential downsides: Fast, reliable Internet connections are a must. Security is also a major issue, and some environments may not allow code to be located offsite. Customization and updates can additionally be problematic. For example, a production environment may require a fixed version of the IDE and toolset. Many systems do automatic updates, and setting up multiple users on the same version—if it is not the latest one—can be a challenge.

Cloud-based development has been common for apps that target smartphones, but more platforms targeting embedded solutions have appeared. ARM mbed includes a cloud-based IDE (see figure), although that is just one aspect of the mbed environment (see "Development Tools Move To The Cloud"). The mbed environment includes an IoT framework and its own operating system, mbed OS. It targets ARM platforms and it supports partners like IBM that provide IoT services (see "mbed IoT Starter Kit Links to IBM's Cloud").

The mbed targets embedded applications that run on ARM Cortex-M microcontrollers, so it is a more focused development environment. It can be used for standalone applications running on devices without communication links, as well as connected IoT applications. ARM has announced the mbed Client, a set of libraries that will allow mbed OS programs to be ported to Cortex-A platforms running Linux. The IoT communication support standard protocols like MQTT, CoAP, and LWM2M (see "Engineering Essentials: IoT Standards and Frameworks"). These run on top of interfaces like Bluetooth, 6LoWPAN, IPv4, and IPv6.

Wind River’s Helix is another portfolio of software and services similar to mbed, but targeting a wider range of devices (including x86 architectures). The Helix Device Cloud is the cloud-based portion of Wind River’s IoT support providing device management. Wind River was showing new additions to Helix at the 2015 Intel Developers Forum, including a cloud-based IDE integrated with remote hardware and debug tools. It will also be useable with Wind River’s Simics virtualized hardware simulation support. Simulation can require heavy-duty hardware, but this is where the cloud has the advantage over local tools.

Cloud-based collaboration using existing desktop IDEs is another way to take advantage of the cloud. There are a number of platforms that use this approach, such as Microsoft's Visual Studio Online. Of course this works with Microsoft’s Visual Studio but is a team project system that works with projects written in any language using any IDE. For example, Visual Studio Online also supports Eclipse, a popular open-source IDE.

Visual Studio Online provides everything except the IDE from version control to agile development collaboration support. It is extensible using REST APIs and OAuth 2.0. OAuth 2.0 is an authorization framework that is used by a wide range of applications, including Google APIs.

Visual Studio Online also provides services like load testing. IoT applications need to scale and this feature can help make sure an application does scale properly.

Desktop IDEs are not going away, but they are no longer the only alternative—even for embedded development.

Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.
Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish