06 Jun 2016
Internet of Things transforms the development process
Prashant Dubal of Wind River looks at how the Internet of Things, IoT will change the way development projects are run.
The embedded systems market can look forward to a sustained period of growth thanks to the Internet of Things (IoT).
The forecast billions of devices, typically called edge nodes, make up a considerable part of the IoT, and in some cases, simple devices are key to unlocking new business models and increasing operating efficiency.
Harnessing vast volumes of data in this system-of-systems is crucial to providing the insight within the hidden data and bringing about real-time decision making.
Every aspect of the IoT relies on reliable connectivity, cloud service provision and the constant stream of data from the embedded edge nodes. These embedded devices will exhibit a lot of diversity, some being simple sensors reading temperature, humidity etc., while others will be more complex and involve more decision making intelligence and systems control. For these more intelligent devices, it is highly likely they will require an operating system (OS) or for even more sophisticated devices a real-time operating system (RTOS).
Whatever the purpose or architecture that a particular IoT application takes, the manufacturers of such embedded systems need to juggle a number of business and design considerations in order to bring their solutions to market quickly. Given the openness of the IoT it will be particularly important for connected devices to be brought to market as quickly as possible in order to drive broad market adoption. And at the same time, these products need to have features and capabilities that help differentiate them from other competitor products. From the technical perspective, device security will be paramount. Suffice to say that managing these above challenges, while aiming to keep development costs and risks to a minimum, will be keep engineering teams busy.
Using pre-certified compute and wireless modules will significantly aid developers with the hardware challenge, and using an OS/RTOS might well assist in developing a secure, modular and scalable operating environment on which to base their design.
IoT & development process
The IoT is also responsible for challenging the traditional development process. The need to rapidly develop, deploy and maintain embedded applications has made many companies revaluate the traditional tools and methods they use. Linking the development process to the on-going deployment and update process as well has being able to remotely manage the IoT edge devices can yield significant advantages thought the whole life cycle. An example of this is the Helix Cloud Portfolio from Wind River. See Figure 1.
Figure 1 – Wind River Helix Cloud elements
The component elements of the Helix cloud provide access to tools, simulation labs and management platforms that simplify, streamline and automate how organizations create and run IoT systems. Wind River Helix Device cloud is used to manage the devices themselves, Helix App Cloud provides an environment to test and develop applications for a specific target platform while Helix Lab Cloud provisions application, both hardware and software, simulation.
The Helix App Cloud, in addition to providing a cloud-based IDE provides tight integration to OS/RTOS components that might be required for a specific design. An example RTOS is Wind River’s Rocket, a free scalable RTOS designed for 32-bit MCUs and is ideal for building sensor, industrial actuator and wireless gateway applications. Tuned for memory and power constrained devices, Rocket features priority-based multi-threading, inter-thread data passing and dynamic memory allocation.
Developments can be commenced with speed, even initially without having to purchase any hardware, giving the ability to share code and project tasks with collaboration partners in addition. Wind River Rocket also has a developer forum, accessible from within App Cloud, that provides a number of template IoT sensor designs to facilitate even faster application development.
Figure 2 Wind River App Cloud – initial starting screen
Wind River App Cloud is a free-to-use cloud IDE. Figure 2 illustrates the starting screen once you have signed up. Selecting ‘Create a new device’ takes you selecting the device target and operating system menu as shown in Figure 3.
Figure 3 – Select a new device
It really is that simple. Just select the combination of target device and operating system to commence your design. Figure 4 then prompts the developer to name their application and a project template on which to base the new application. A variety of analog and digital interface designs accommodate most simple IoT sensor requirements or you can set up a blank C application.
Figure 4 – Naming your application and selecting a base template
Figure 5 – Wind River App Cloud IDE showing the application example
Figure 5 illustrates the Wind River App Cloud IDE and the application example. Once you have incorporated your specific code into the application you can build (compile), test and debug the application within the IDE. The ‘Run project’ command within the IDE initiates the transfer to the target board, in this example an Intel Galileo, by means of a Virtual Gateway.
Using this approach IoT applications can be developed in the shortest time possible using pre-certified compute platforms. Sensors and actuators can be attached via GPIO/ADC ports as required by the design. This technique also allows delivers to establish a platform-based approach to their overall IoT edge device design strategy. Rather than use multiple different board configurations, basing the design on a validated design ensures that support costs and unnecessary truck-rolls are kept to an absolute minimum during the lifecycle of the edge node
For many developers and engineering teams, the attraction of establishing a platform approach for all your IoT devices, whether edge node sensors, gateways or data servers makes a lot of business sense. Being able to provide a broad product portfolio catering for small form factor single-application devices to large-scale more complex systems means that you need to select a single RTOS that can scale accordingly. A single RTOS that can scale to meet the unique memory footprint, functionality, and processing power requirements of multiple product classes can help manufacturers of embedded systems increase the return on their operating system investment, cut development costs by leveraging the economies of scope, and reduce time to market.
The platform approach mentioned above also has another pragmatic reason for consideration, that of scalability. Clearly, IoT topology can be very diverse. The edge devices may comprise hundreds or even thousands of simple sensors or actuators ranging from environmental sensors such as temperature or humidity through to electromechanical or hydraulic actuators. Such devices will most likely communicate to the cloud either directly, or more likely, via a gateway.
The gateway itself might do some local data storage and/or processing prior to passing data to a cloud-based analytics application. Many sensors are likely to be battery-powered with wireless connectivity and, consequently, will need a power management capability together with basic network stacks. When you consider the challenges associated with scalability; from a simple MCU-based sensor through to, potentially, a multicore gateway the benefits of using the same RTOS becomes a wise choice.
The era of the Internet of Things requires a modular, configurable and expandable RTOS. It will add enhanced scalability, connectivity, security, safety, and an extended feature set to the solid real-time performance, low latency and multi-core processor support already needed today. Such an RTOS for your future embedded applications will give them a competitive edge in the world of IoT by enabling them to bring industry-leading devices to market faster while reducing risks and development and maintenance costs.
Page 1 of 1
About the author
Prashant Dubal is a director of product management at Wind River managing VxWorks, development tools and infrastructure products. He has held several roles at Wind River, including technical account manager and solution architect. Dubal has 14+ years of experience in the embedded industry, and holds a Bachelor’s Degree in Electronics Engineering from Mumbai University, India.
Wind River, a wholly owned subsidiary of Intel Corporation, is a world leader in delivering software for the Internet of Things (IoT). The company’s comprehensive product portfolio, Wind River Helix™, addresses the emerging needs of the IoT, from the secure and managed intelligent devices at the edge, to the gateway, into the critical network infrastructure, and up into the cloud. Wind River technology is found in nearly 2 billion devices and is backed by world-class professional services, award-winning customer support, and the industry’s broadest partner ecosystem. Wind River delivers the technology and expertise that not only enables the deployment of safe, secure, and reliable intelligent systems, but also harnesses the intelligence in those systems to drive innovation and business transformation.
Most popular articles in Design principles
Share this page
Want more like this? Register for our newsletter