Advertisement

Creating embedded systems enhanced with IoT

Engineering a bridge between the physical world and the online universe

Content provided by AspenCore and IBM

Engineers have gained some design flexibility with the advent of the Internet of Things (IoT) and the many options for product enhancement that it provides. For example, an industrial control system can now be greatly enhanced in near real-time with the information gathering of cloud applications and information gathered by an IoT-type hardware/software combination.  

Thirty years ago, a design for machine control was a mostly electromechanical one — with a programmable logic controller (PLC) changing settings based on time and using no software at all (well, a little programming of the controller). Later on, engineers had a specially designed microprocessor-based system with some C and assembly code and a rather simple man-machine interface.  

Modern-day engineers develop in a bigger dimension. Machine-control systems are connected to the universe of the Internet, supported with a cloud-based infrastructure. This new approach opens many dramatic possibilities, a true digital disruption of the physical world and a whole new way of looking at things. Today, we design systems of systems. And if, let’s say, you are an engineer designing a factory control system, adding IoT and its benefits could very well be a competitive requirement.  

The advent of the IoT brings with it new markets and opportunities. It is accelerating the number of products that incorporate software and the amount of software they contain. It is also accelerating the need for design that is responsive to operational insight, to make the best use of the enhancements available and to improve on current products and drive new system designs. But the system design — including security, updates, reliability, and user experience for the industrial control system — can get pretty complicated. All of those pieces are hard to keep straight and system tools can make the designers life a lot easier.  

Embedded software for industrial control systems has always been developed by the product engineering team, or a software team that closely interacts with it. Their concerns, historically speaking, have always been: Do I have the right processor and memory, and do I have the right amount of software to deliver the functionality that the machine needs? These are the typical systems engineering trade-off questions.  

Adding IoT to an industrial system can be extremely beneficial, but there are concerns that didn’t exist before IoT technology became so readily accessible. Specifically, the IoT side of the design is really an information technology (IT) function, and for this type of development, the design engineers and IT groups must work hand-in-glove with one another.  

However, in many companies, this collaboration is not the case. To aid in making use of IoT opportunities that help reduce dev time, automate testing and documentation, and recognize reuse opportunities, Engineers have many easy-to-use tools available. A number of companies offer design tools for embedded systems and for systems that use IoT, including some from the microcontroller or microprocessor makers.  

In looking at the available tools, it is always a good idea to acquire them from the same place, rather than attempt to fit them together from different places. Having a single tool or set of tools brings consistency to the user interface and reduces problems with differing library functions.

IBM offers a platform that removes much of the difficulty and risk from system development for just this sort of thing. This offering brings technology advancements, standardization, and dramatically lower costs to the task of integrating the Internet of Things and puts the enhancements offered by the IoT within the grasp of businesses in every industry. IBM uses the term “continuous engineering” for a collection of capabilities that help a design team analyze multiple systems to develop more efficient embedded software to support the system as a whole. The Bluemix environment, a cloud-based platform-as-a-service (PaaS), is an online integrated set of development tools that supports several programming languages and services. The tool brings packages to build, run, deploy, and manage applications on the cloud. Bluemix, which is based on Cloud Foundry open technology and runs on the SoftLayer infrastructure, comes with a catalog of applications from IBM and third-party software houses.  

Value from Composable Solutions

If an engineering team wants to build an IoT application without having to build infrastructure to go with it, IBM Bluemix is just the ticket. When you start to use Bluemix, you can use an Eclipse interface or a command-line interface. You can choose from a number of programming languages, including Java, Node, Nova, PHP, Python, or Ruby. You also have access to “Build Packs” for languages not otherwise supported.    

The designer can go to the Bluemix catalog IoT area for services — the building blocks of web and mobile apps. They provide various functions ready for use in the user’s code, including chat, for example.  Additionally, you can use the Data and Analytics area here for another large collection of pre-built apps. There is also Watson. The services in Watson involve deep learning and cognitive computing and include such applications as speech-to-text, visual recognition, and extensive relationship extraction functions.

IBM - IoT 1

All of these services allow the engineer to easily design the “cloud side” applications so that the hardware/software can be quickly connected on the machine (in the case of machine control design we have been thinking about); this, in turn, allows a quick simulation or baseline of the complete application to determine if it will work as expected. The designer can be very creative with this capability, and explore all sorts of ideas very quickly to learn how and what the machine might communicate using model-based technology. This may lead to some new innovative ideas, and the system as a whole can then start to be modeled to decide what should be on the control system and what should be on the cloud.  

After experimenting, the design team can move on to building the system, whereupon they can apply all of this software — some in the machine, some to the cloud. These apps will have to operate together, interact, and communicate on protocols that work together. At that point, more items on the target machine can be measured, collecting data in the cloud. From that data, the designer can do all sorts of things. Things like significantly increasing up-time of the machine by monitoring temperatures, pressures, and run times and using analytics to predict when it might need maintenance. Things like providing key information about raw material types, usage rates, and lead times.  

All of that data can be used to understand how efficiently these machines are running — too fast, too slow, too hot, too cold? Ultimately, the designers will be able to derive more efficiency out of the target system.

IBM - Watson

The Watson part of the tool kit

To help work with all of this added information, IBM’s Watson IoT product adds cognitive analytics and cognitive engineering to help the project design team make (better) decisions. It also aids in requirements analysis, which is key to faster, more accurate system designs. Watson analytics helps to derive insight from operational data to help predict maintenance needs and identify areas for design improvement.  It enables model-based systems engineering, which can automatically generate software code to govern the interactions of complex systems.  Finally, it helps manage test and quality, and ensures traceability between tests and requirements.  

Watson IoT offers a number of easily integrated application program interfaces (APIs), including machine learning, text analytics, video and image analytics, natural language processing, and many others that can be leveraged by the developers. What’s more, the Watson IoT Platform includes:  

IBM Watson IoT PlatformConnect
Connect and manage devices, networks, and gateways  

IBM Watson IoT Platform Information Management
Integrate information, structured and unstructured, from devices, people, and the world around us  

IBM Watson IoT PlatformAnalytics 
Gain insights from information using real-time, predictive, and cognitive analytics   

IBM Watson IoT Platform  Risk Management 
Security analytics, data protection, auditing/logging, firmware updates, key/cert management, org specific security

IBM - Watson IoT Platform

Ensuring you leverage the right information from the right sources and that the right software runs where you need it, Watson IoT Platform can answer your most pressing questions about your systems operation, quickly extract key information from all documents, and reveal insights, patterns, and relationships across data. It is a set of capabilities that learns from and infuses intelligence into the physical world. And it helps to make sense of data that is extremely varied, noisy, time-sensitive, and often confidential.  

Cognitive IoT is not explicitly programmed. It learns from experiences with the environment and interactions with people. It brings true machine learning to systems and processes so they can understand your goals, then integrate and analyze the relevant data to help you achieve them.

IBM - Watson Developer Cloud

Design for Every Embedded System

Every embedded device needs software to operate. Whether we call it firmware or embedded software, it has to control the device and provide the user interface and decision-making for the product to do its job. Designing embedded software is different from traditional software development, because engineers have to deal with custom hardware and very tight constraints in power, memory, storage, and time.  

IBM’s solution helps with embedded software development by uniting the product’s architecture and intended behavior with the realities of its operating environment. As a result, developers are free to focus their creative energies writing solid code without having to worry that they might be missing something important.

IoT products control automotive braking systems, deliver electricity to major metropolitan areas, and perform remote-controlled surgery. Failures in such systems cost more than money; they potentially cost lives.  

IBM’s IoT solutions help with embedded software development by uniting the product’s architecture and intended behavior with the realities of its operating environment. As a result, developers are free to focus their creative energies writing solid code without having to worry that they might be missing something important.  

Why wait, start developing with IBM’s Watson IoT Platform today for free.

Additional Resources:

Advertisement



Learn more about IBM

Leave a Reply