Humans have thrived for thousands of years because of our one inherent quality, human to human interactions. It is not so surprising for us to expect our devices and gadgets to interact more intelligently. The ability of gadgets not only to connect to each other or to a network, but to gather and make sense of data of their environments is what takes them a step closer to being smart. In the not-so-far future world of IoT, gadgets come with tiny brains, eyes, ears and a plethora of senses. They speak a common language, communicating w i t h o n e another and with higher capability systems. They make quite an impact to our lives, in the way we live, work and play. Things like home deliveries, instant cab bookings, easy and well secured financial transactions and even remote medical consultations are now at our fingertips – thanks to advanced smart technologies. IoT is the integration of sensors and edge computing, secure connectivity and Machine Learning (ML). IoT with secure connectivity allows data protection, privacy and accessibility from anywhere around the globe. Machine learning and artificial intelligence enable devices to gain a shade of human-like intelligence and adapt to different user environments.
In this paper presentation, we will delve into the rapid development of science and technology in the field of IoT. We will discuss the challenges of building the next-generation of IoT and how to overcome these challenges with the help of a real-world example – a cost effective integrated Smart home solution offering the best performance and system security.
Challenges of Designing an IoT System
The IoT applications are endless and innovators are continuously identifying more interesting and useful ways to harness sensors, monitoring data and controlling the system. IoT devices are wide spread in various domains including wearables, cars, homes, industrials, and even cities. These creative innovations demand the end product to be excellent energy efficient, highly secured, aesthetically more pleasing, having the applications wrapped around intuitive software enabling easy-to-use devices, etc.
Let us first understand the challenges in designing these innovation IoT applications and then we will explore how modern devices and software helps IoT designers overcome these challenges with the help of Smart Home Solution example. The Figure 1 below shows the key challenges.
1.Time to Market:
The number of devices connecting to the Internet each year is growing at an exponential rate. In order to keep up with the competition, time to market is the key and choosing the right IoT platform plays a huge role in the development time and cost. Choosing the right platform that enables easy and fast development could cut production time significantly. With the plethora of protocols involved in building real-world IoT applications, the software needs to handle the underlying complexities of the various protocols that help the application interact seamlessly in the world of IoT. The need of the hour is to have software that abstracts the application from hardware changes.
2. Ease of Use:
To support the complex computation demand for IoT Applications, microcontrollers (MCUs) have also become more complex to provide more processing power, higher security and intelligent logic, endless peripherals to implement additional capabilities like audio & speech recognition, interfacing with external memory, motor control, etc. In addition to this, MCUs have an additional task of managing the wireless connectivity as well. Software solutions that support both the embedded and wireless connectivity under one umbrella can save an invaluable amount of development time and enhance user-friendliness. These software solutions have the biggest challenge of not just to hide the hardware complexity but to also provide an easy to use GUI based development platform to make life easier for IoT designers. To overcome these challenges, development platforms provide various GUI based tools and configurators to perform most of the heavy lifting tasks involved in application development – project creation, importing libraries, configuring peripherals, etc. The underlying code for the GUI based configurations is automatically generated and built along with the project so that users can develop applications with very minimal coding effort.
3. Development Platform:
(a) IoT Development Tools: A complete software development solution is required to build an IoT application. These software tools include Integrated Development Environment (IDE), Command Line Interface (CLI), utility tools, Software Development Kits (SDK) that bundles libraries or APIs that are tailor-made for IoT developers. These software development tools can be used on top of IoT development platforms or in conjunction with them. Easy and intuitive development platforms provide flexibility to IoT developers by giving the options to develop entirely using the vendor’s IDE and tools or develop applications on any other IDE of one’s choice like IAR Embedded Workbench, Arm Microcontroller Development Kit, and Microsoft Visual Studio Code in conjunction with the vendor provided tools. The platforms also provide well documented template applications to enable easy and faster application development.
(b) Choice of OS: IoT encompasses devices ranging from small to large. Choosing an operating environment for an IoT solution is one of the crucial tasks that affect the firmware development approach. The important requirements of an IoT OS include tiny memory footprint, energy efficient and highly secure solutions, connectivity features, hardware agnostic operation, and real-time processing capabilities. IoT operating environments range from bare-metal to an embedded OS and then to a full-featured OS to cater to the different needs of IoT solutions.
There is a plethora of development platforms for embedded IoT solutions like Mbed OS, Amazon FreeRTOS, etc. Apart from these platforms, the embedded and connectivity device vendors sometimes provide additional libraries to support custom-made features for the IoT applications. These libraries/ platforms complement the development OS to provide both embedded and wireless features for an easy and intuitive IoT development experience. The combination of the featurerich libraries provided by the device vendors and the OS of choice based on the application, provides the IoT developers a comprehensive development platform for IoT solutions.
4. Ability to connect to cloud of your choice:
With more and more embedded devices getting connected in the world of IoT, there are lots of cloud service providers that offer cloud computing and connectivity solutions. Anyone planning to develop real-world IoT applications can pick and choose a combination of any of the cloud services for various tasks. Therefore, the embedded software must be highly flexible to support various cloud services (AWS, Azure, AliOS, etc.) and platforms. The software must let the users design it their way rather than limiting them to certain options. The hardware agnostic software architecture is the key to solve this problem and the software ecosystems that provide this feature offer a great deal of flexibility to the developers.
5. Security: A non-negotiable element:
Once a device is connected to a network, the possibility of being attacked also opens up. Thus, the security of IoT devices is a non-negotiable element, whether the device is a personal wearable device or a connected car. Data protection is needed at all levels, including storage, processing, and during communications to protect system reliability and data privacy. Definitely, the security starts with hardware and devices designed for IoT applications needs to have all the elements to develop highly secure and safe applications. In addition to hardware security, software needs to also complement these hardware secure elements.
Tackling the Challenges in an Embedded IoT System
The heartbeat and the nerve of most of the Embedded IoT systems are Microcontrollers and the connectivity devices. To build such an application you will need an ultra-low power microcontroller designed with IoT applications in mind (E.g. PSoC 6 MCU) and a low-power wireless connectivity device (E.g. AIROC CYW43012 Wi-Fi/Bluetooth combo device). For an easy and efficient development of the IoT application, we need a software platform that enables development and debugging of these embedded and wireless devices together seamlessly with a single solution. ModusToolbox™ is one such great easy to use Software development environment.
Making IoT Work (Smart Home Solution Example):
With people all across the world spending more time at home than ever – the market for connected, intelligent, and intuitive Home Automation / Smart Home devices and appliances is booming. Users want seamless remote control, rich graphical and audio interfaces, and helpful information and insights pushed to them to improve the quality of their everyday lives. Manufacturers want to be able to analyse their products deployed in the field so as to improve performance and suggest preventive maintenance measures to their customers. And for all stakeholders – the biggest challenge is to build an integrated solution providing best performance along with system security without increasing the overall system cost. Smart controller/processor and connectivity devices are required to implement functionalities needed by these Smart Home devices. The demand is to use microcontrollers that integrate as much of features possible, to design a unique solution at the best cost. Most important features include display with rich graphical user interface, touch and sense to take inputs from users and environment, connectivity to exchange data and cloud processing, secure execution environment for data logging, attested and encrypted application execution, secured over the air (OTA) updates etc., as shown in Figure 2.
- Display Interface: Display with rich Graphical User Interface (GUI). MCUs provide interfaces such as RGB, Intel 8080, SPI, I2C, MIPI DSI etc. for driving displays.
- Touch and sense to take inputs from users and the environment. The need is to have MCUs with integrated touch capability and flexible peripherals for analog and digital sensor interfaces.
- Processing Capability: MCUs need to have a processor core like Cortex M4 for handling the processing needs of Smart home applications.
- Connectivity to exchange the data with cloud and other devices in the household. Wi-Fi and Bluetooth are the most popular interface for cloud and local connectivity.
- And finally, it should offer Secure Execution Environment (SEE) for storage, operation and communication.
Consider a use case, where there are multiple sensors monitoring humidity, temperature, soil moisture etc. across the home and multiple controllers such as thermostats, humidifiers, plant water controller using the data from these sensors. These sensors and controllers within the house can use Bluetooth or Bluetooth Low Energy (BLE) connectivity for communicating with each other and user Smartphone or a unified controller running Google Home or Amazon Alexa. This controller would in turn connect the sensor network to internet enabling remote control and monitoring. While the sensors located in corners of the room may be power-constrained, the controllers may have access to wall-supply. This would determine the type of devices we select for each device in the Smart home environment. Sensors could use an ultra-low power BLE controller such as PSoC 6 BLE, whereas controllers can include System In Package (SIP) with MCU, Wi-Fi and BT in a single package such as CYW9P62S1-43012EVB-01 SIP packages for providing additional processing and functionalities demanded by the controller application.
The future of embedded devices is all about making things smarter with enhanced efficiency and ease of use. The foundation to that stems from the technologies such as the Internet of Things (IoT), Big Data and Artificial Intelligence (AI). The IoT enables even the tiniest of device / appliance to get connected to a network with the help of secure connectivity. This enables the device to be able to perform its operations in a smart and efficient manner. Big data refers to the large amount of data that these connected devices gather over time. The powerful algorithms that process this data falls under the field of AI / ML. This field has the potential to transform business models by helping companies to move from concentrating on products & services to companies that give the best outcomes. By impacting organizations’ business models, the blend of IoT-enabled devices & sensors with ML creates a collaborative world that aligns itself around results & innovation.
Jaya Bindra works as a Sr Manager Applications Engr at Infineon Technologies where she is managing the Embedded Applications Group and Solutions Development using the PSoC and Wi-Fi/BT platform. She has 17+ years of experience in the Semiconductor Industry. She earned her MBA credential from IIM, Bangalore and holds a bachelor’s degree in Electronics Engineering from the Kurukshetra University. Jaya can be reached at [email protected]