After decades of development, embedded technology has been used in all aspects of our lives, but embedded technology has always been niche and highly professional, which discourages many engineering in non-embedded fields. With the development of the past ten years, the Internet of Things has covered more and more fields, including home furnishing, commerce, industry, agriculture, and other fields. It not only attracted students from the original embedded field but also attracted many students from non-embedded fields to enter the field of the Internet of Things.
From the above development trend, four important changes can be found:
• The Internet of Things involves more and more technical aspects, and the requirements for the development platform of the Internet of Things are getting higher and higher.
• IoT requirements for developers have changed, with a greater emphasis on tools and ease of use.
• The Internet of Things operating system has broken through the scope of the traditional operating system kernel and has begun to integrate more and more capabilities.
• The Internet of Things is integrated with the cloud, has rich application scenarios and business models, and can aggregate more resources.
This article will focus on the four aspects of technology: people, operating system, and business model, detailing the transformation from embedded to the Internet of Things and some of the thinking behind it.
A technology stack change
Embedded and Internet of Things technologies are developed along with single-chip microcomputers, operating systems, cloud computing, artificial intelligence, and other technologies. According to the mode of equipment work, the development of technology is divided into the following stages:
• Devices work independently: This stage started in the 1970s, and the main technical fields involved include single-chip microcomputers, hardware development boards, peripheral drivers, and upper-layer applications. It is mainly used in the fields of industrial control, ratio monitoring, equipment indication, etc. The most famous is the 8-bit, 51-chip single-chip microcomputer.
• Multi-device interconnected work: With the development of wireless communication technologies such as ad hoc, ZigBee (802.15.4), and Bluetooth low energy consumption, embedded devices begin to form a network to work. Mainly used for smart grids, such as meter reading businesses. The main technologies involved include network connection technologies, such as 802.15.4, low-power Bluetooth, etc., and embedded operating systems, such as FreeRTOS, Contiki, TinyOS, etc., in addition to the technology of the individual working stage of the device.
• Cloud-integrated phase: The technical requirements for device control and management continue to increase, and with the development of cloud technology, more and more devices not only need to be connected to each other but also need to be connected to the cloud. Wi-Fi mods appeared, as did Wi-Fi and BT combo mods. The author believes that from this stage on, we have really entered the stage of the Internet of Things. Through gateway technology, MQTT/CoAP, and other technologies, the device can be connected to the cloud, and the device can be managed through the mobile phone. Compared with the technology of multiple device interconnection work stages, more abundant connection technologies, such as MQTT/CoAP, etc., and cloud technologies, such as the Internet of Things cloud platform, have been added.
• IoT smart devices: With the development of technology, the device side is no longer just Wi-Fi and BT-like purely connected smart devices, but smart speakers that have been particularly popular in the past few years, and smart devices such as IP Cameras that ship billions of dollars each year. The main feature of this type of device is that it has multimedia requirements and can consume more cloud resources, including not only storage resources but also computing and artificial intelligence (AI) algorithm resources. Compared with the previous stage, multimedia technology, streaming media network technology, cloud AI technology, etc. have been added, which puts forward higher requirements for the technical breadth and depth of developers of IoT technology capacity building.
From the above analysis, we can see that the content of the technology stack is getting richer and more demanding. At this time, the question arises. With so many technologies, what do developers of the Internet of Things have to understand to be able to develop and innovate? The author's answer is, of course, no, and the author's understanding of the requirements of IoT developers will be explained in detail below.
Developers change
The author divides the developers of the Internet of Things into two categories: one is the developer who builds the capabilities of the IoT platform, and the other is the developer who provides capabilities based on the IoT platform.
The author divides the developers of the Internet of Things into two categories: one is the developer who builds the capabilities of the IoT platform, and the other is the developer who provides capabilities based on the IoT platform.
The first type of developer needs to understand the technologies that are needed in the entire Internet of Things field. With the development of IoT technology, very high requirements are placed on such developers. Such developers need to understand the full link technology from the device end to the cloud and find their place in it. If you do not systematically understand IoT technology from the perspective of cloud integration but follow the traditional embedded way of thinking, it will gradually be eliminated with the continuous development of technology. An important purpose of this type of developer developing the IoT platform is to attract more and more second-type developers to come in and prosper the IoT ecosystem together.
Compared with the first type of developer, the challenges of the second type of developer are not small. There are two main sources of such developers: traditional embedded developers and Internet developers. These developers need to gain more knowledge to be able to better develop based on the IoT platform. Traditional embedded developers need to understand more multimedia, cloud, artificial intelligence, and other technologies. Internet developers need to understand the various limitations of embedded devices and better engineer technologies such as cloud, multimedia, and AI into IoT scenarios.
The author feels that the mission of the first type of developers is to help more and more second-type developers enter the field of IoT. The key is for the first type of developer to achieve the following two points:
• Rich functional components include various hardware modules, device-side and cloud software function modules, and supporting development and debugging tools.
• Low-code development: The full use of Python and JavaScript scripting languages in the IoT field can greatly reduce the barriers to entry for developers.
With the continuous development and maturity of Internet of Things technology and the continuous improvement of basic platforms and development tools, the author thinks that the first type of developer will be less and less, while the second type of developer will be more and more. In this way, IoT development is no longer like embedded development, which is a matter for a small number of professional developers. School students, front-end developers, product managers, technology enthusiasts, etc. are all contributors to the Internet of Things.
operating system changes
Since the operating system is an important basic technology in the field of the Internet of Things, and the current Internet of Things operating system is in full bloom, let's talk about the thinking of the operating system. According to the continuous development stage of embedded systems and the Internet of Things and the characteristics of the operating system, the author divides the operating system into the following four stages:
• No operating system: Early embedded devices do not need an operating system due to their single logic.
• Simple operating system: Developed to the stage of interconnection of multiple devices, operating systems specifically for IoT devices have emerged, such as Contiki and TinyOS. This type of operating system is designed for devices to report data and events. It is very simple, and the most notable feature is based on event-driven design. When an event needs to be reported, it can respond quickly, and the programming logic is also designed according to this idea.
• Real-time operating system: With the continuous development of the embedded field, an embedded operating system for the real-time field has emerged, the most typical representative being FreeRTOS. Compared with Linux, this type of operating system is characterized by better real-time performance and more comprehensive kernel functions, but it does not have a strong ecosystem, and there are few upper-layer applications that support it.
• Internet of Things operating system: With the emergence of the Internet of Things, since the real-time operating system mainly provides the capabilities of the system kernel, it is difficult to meet the requirements of the network, multimedia, distribution network tools, and application ecology. The Internet of Things operating system has emerged, including RT Thread, LiteOS, AliOS Things, etc., and also includes Linux and Android. The author believes that within a period of time, so many operating systems will coexist that it will be difficult to be unified. The main reason is that, at present, the original chip manufacturers have no motivation to unify. They just choose one that suits them. No matter which operating system they actively switch to, the advantages that can be exchanged are very limited.
Some people believe that to solve the fragmentation problem of the Internet of Things, we must start with the unification of the operating system, and the fragmentation of the Internet of Things can be solved by unifying the operating system. The author does not agree with this point of view. The Internet of Things is fragmented. This is the challenge, but it also has its charm. Here is an extreme example to demonstrate the author's point of view. If the operating system can unify the problem of fragmentation in the Internet of Things, then it would be good to unify it directly at the chip level. But obviously, it's basically impossible to do. The greatest value of an IoT operating system lies in achieving extreme performance and cost advantages through the deep integration of software and hardware. Since there are already a variety of IoT operating systems, let them exist. The solution to the fragmentation problem of the IoT is not in the operating system.
changes in the business model
The traditional embedded field mainly relies on selling hardware to make money, and it is difficult to support a listed company, let alone a company with a market value of tens of billions or even hundreds of billions of dollars. However, in the Internet of Things field, due to its device-cloud integration feature, the entire business model has undergone tremendous changes, from a one-time hardware sale in the embedded field to an operational money-making model, such as selling cloud storage, cloud services, and content. In addition to the operating benefits brought by itself, the Internet of Things is also a strong moat for the mobile phone ecosystem, further increasing the added value of the mobile phone as a super terminal. I believe that there will be more Internet of Things companies with a market value of tens of billions or even hundreds of billions of dollars. Companies with a market value of tens of billions or even hundreds of billions of dollars must have solved the fragmentation problem of the Internet of Things, formed a strong ecosystem, and completed explosive growth.
summary
With the evolution from embedded to IoT, the technical complexity is getting higher and higher, but for IoT developers, the threshold will be lower and lower. More developers can develop innovative products based on simple scripting languages, rich ecological libraries, and tools to meet everyone's needs for a convenient life and efficient production. At the same time, the development of the Internet of Things is not only the evolution of technology but also the evolution of business models. Through technological innovation, the threshold for developers has been lowered, so that IoT development is no longer the domain of niche and geeky embedded development but a base for the public to develop and innovate. Due to this change, combined with the rapid development of cloud technology, the business model of the Internet of Things is no longer like embedded development boards but has changed to selling services, selling cloud resources, and selling innovative products. This kind of massive and high-value-added business has supported the emergence of tens of billions or even hundreds of billions of companies in the Internet of Things.