Why Open Source Is So Important for IoT

Why Open Source Is So Important for IoT

Source: OFweek IoT

Author: Old Bird

Published by IoT Think Tank

Please indicate the source and origin when reprinting

—— [Introduction] ——

The Internet of Things (IoT), open source, and operating systems are currently hot topics in the IT industry, and these three terms constitute the IoT open-source operating system.

Why Open Source Is So Important for IoT

For the development of the IoT, “fragmentation” is a major issue, with chips, sensors, communication protocols, and application scenarios varying widely, creating many “mountains and forests”. For instance, there are numerous wireless communication standards such as Bluetooth, Wi-Fi, ZigBee, PLC, Z-Wave, RF, Thread, NFC, UWB, LiFi, NB-IoT, LoRa, etc. Clearly, the lack of unified technical solutions and inconsistent architectures hinders the development of IoT and limits the scope of interoperability.

However, various operating systems can support different hardware, communication standards, and application scenarios. Open source helps break down technical barriers and obstacles, improve interoperability and portability, and reduce development costs, while also facilitating the participation of developers from the open-source community.

Why Open Source Is So Important for IoT

So, how much do you know about open-source operating systems for IoT?

What is an Open Source Operating System?

An open-source operating system is software whose source code is publicly available and follows an open-source license for use, compilation, and redistribution. Under the premise of complying with relevant open-source licenses, anyone can use the software for free and control how it runs. The biggest feature of open-source operating systems is the open source code and the freedom to customize.

The most famous open-source operating system internationally is the “Linux operating system”, which is a general term for computer operating systems. The kernel of the Linux operating system is also called “Linux”. The Linux operating system is also the most famous example of free software and open source development.

The history of open-source operating systems is closely tied to GNU. The GNU project, which started in 1983, aimed to develop a free and complete Unix-like operating system, including software development tools and various applications. By the time the Linux kernel was released in 1991, GNU had almost completed all the essential software development except for the system kernel. With the efforts of Linus Torvalds and other developers, GNU components could run on top of the Linux kernel. The entire kernel is based on the GNU General Public License (GPL), but the Linux kernel is not part of the GNU project. In March 1994, version 1.0 of Linux was officially released, and Marc Ewing founded Red Hat Software Company, becoming one of the most famous Linux distributors.

Here are some advantages of open-source operating systems:

  • Easy to Understand: Open-source operating systems have publicly available source code, making it easier for developers to view and understand the code and gain relevant knowledge.

  • Open and Transparent: Vulnerabilities and defects in the operating system are more easily exposed, and the development and maintenance of the code are also public.

  • Customizable: Users can customize the operating system according to their needs, depending on different hardware platforms and application scenarios.

  • Low Cost: There are no commercial licensing fees, saving related development management and labor costs.

  • Sustainable: Even if the previously developed company can no longer support it for various reasons, the system can still be maintained continuously thanks to the participation of a large number of developers in the open-source community.

  • Crowdsourced Wisdom: Because open-source operating systems are public, more developers can participate in development, concentrating more wisdom and ideas.

Introducing 10 Classic IoT Operating Systems

1. Android Things

Android Things is the IoT operating system that Google just launched last week, an updated version of last year’s “Brillo” operating system. As a branch of the Android system, it is similar to Android Wear used for wearables and smartwatches (which is also an IoT operating system).

It uses a communication protocol called Weave to connect devices to the cloud and interact with services like Google Assistant. Android Things is aimed at all Java developers, regardless of whether they have mobile development experience. This operating system will support a range of computing platforms for IoT devices, including Intel Edison, NXP’s Pico platform, and Raspberry Pi 3.

2. Contiki

Contiki is an open-source, easily portable multitasking operating system suitable for memory-constrained network tasks. The author of the Contiki project is Dr. Adam Dunkels from the Network Embedded Systems Group at the Swedish Institute of Computer Science.

This system requires only a few kilobytes or even hundreds of bytes of memory to provide a multitasking operating system environment and TCP/IP support. It has been ported and successfully run on embedded microcontroller platforms (TI MSP430, Atmel AVR) as well as computers, game consoles, and other platforms. It supports protocols including standard IPv6 and IPv4, as well as low-power network standards: 6lowpan, RPL, CoAP.

3. eLinux

eLinux, also known as Embedded Linux, is an operating system based on the Linux kernel, a trimmed-down version of Linux for embedded systems that supports a wide range of manufacturers, chips, and products. Its wiki homepage provides a series of related information including development, hardware, products, manufacturers, and communities.

4. FreeRTOS

FreeRTOS is a miniature real-time operating system kernel with features including task management, time management, semaphores, message queues, memory management, logging, software timers, and coroutines, which can basically meet the needs of smaller systems.

FreeRTOS is a fully open-source operating system with publicly available source code, portability, scalability, and flexible scheduling policies. Currently, this operating system is deployed on millions of devices and is claimed to be the “leading embedded real-time operating system on the market,” providing excellent solutions for microcontrollers and microprocessors.

5. mbed OS

This operating system is developed by ARM and is specifically designed for IoT devices running ARM processors. It includes a C++ application network, and the company also provides other development tools and related device servers.

By default, the mbed operating system is an event-driven single-threaded architecture rather than a multi-threaded (real-time operating system) environment. This ensures that it can scale down to the smallest, least expensive, and lowest power-consuming IoT devices.

ARM has a strong market share in mobile devices, so this operating system’s strength and prospects should not be underestimated.

6. Raspbian

Raspbian is an operating system based on Debian designed for Raspberry Pi hardware. This operating system includes a series of basic programs and tools to ensure the operation of Raspberry Pi hardware.

7. RIOT

RIOT calls itself a “friendly IoT operating system,” dedicated to being developer-friendly, resource-friendly, and IoT-friendly, with key features including C/C++ support, multithreading, energy efficiency, and partial compliance with POSIX. The RIOT open-source community has been active since 2008. RIOT can run on various platforms, including embedded devices, PCs, and sensors.

8. Ubuntu Core

Ubuntu is currently the most popular version of Linux, and Ubuntu Core aims to bring Ubuntu to the IoT world. It can run on platforms such as Microsoft Azure, Google Compute Engine, and Amazon Elastic Cloud Computing services, and can also run on hardware such as BeagleBone Black and Raspberry Pi.

9. Huawei LiteOS

Huawei LiteOS is Huawei’s “unified IoT operating system and middleware software platform” built for the IoT field, featuring lightweight (kernel size less than 10k), low power consumption, interoperability, security, and other key capabilities. Huawei LiteOS is mainly used in smart hardware in IoT fields such as smart homes, wearables, vehicle networking, smart metering, and industrial internet, and it can interconnect with hardware within the LiteOS ecosystem to enhance user experience.

LiteOS has characteristics such as low energy consumption, small size, and fast response, and has also established an open-source community, supporting chips such as Huawei’s PLC chip HCT3911, media chip 3798M/C, IPCamera chip Hi3516A, and LTE-M chips.

10. Tizen

Tizen is an open-source operating system developed jointly by the Linux Foundation, LiMo Foundation, Intel, and Samsung Electronics, meeting the needs of the IoT device ecosystem (including device manufacturers, mobile operators, application developers, and independent software service providers), and is applied in phones, TVs, wearables, and other products.

The underlying platform-related APIs of Tizen are exposed in the form of HTML5, and services will cover communication, multimedia, camera, networking, community media, etc. Samsung has sold several products equipped with this operating system, making it its biggest supporter.

Why Open Source Is So Important for IoT

What Problems Do Open Source Operating Systems Solve?

Connection: Operating systems contribute to solving connection problems by integrating common network protocol stacks such as TCP/IP, ZigBee, Bluetooth, and Wi-Fi drivers.

Distinguishing and Identifying Smart Hardware: These two issues seem to have little to do with the operating system, as they can only provide some help for “distinguishing and identifying” products from the same manufacturer.

Communication and Interoperability: The communication and interoperability between objects are largely left to the operating system, which can only provide some help for specific applications developed using the same manufacturer’s development tools; interoperability is mainly limited to smart hardware developed using their development tools, primarily between objects and people; the interoperability between people and objects can be well supported by operating systems that support remote desktop and web server.

Conclusion

In the era of IoT, everyone is talking about IoT operating systems. We need to analyze what the core problems of IoT are, what operating systems can and cannot do for IoT, and how they influence operating system design. To design an operating system that serves IoT applications, we must clearly analyze the problems faced by IoT, focus on solving core issues, and avoid following the crowd blindly.

Why Open Source Is So Important for IoT

Previous Popular Articles (Click the title to read directly):

  • “How Difficult Is It to Make Smart Locks for Shared Bicycles?”

  • “Cognitive Computing, Blockchain IoT, IoT Security… Those Who Understand Will Control the Future”

  • “KUKA, ABB, FANUC, Yaskawa, the Four Industrial Robot Giants Have Long Been Stationed in the IoT Field”

  • “[Heavyweight] IoT Industry Panorama Report, the First Domestic IoT Industry Two-Dimensional Perspective Panorama”

  • “A Comic Explains: Besides WiFi and Bluetooth, What Can the Recently Popular NB-IoT Do?”

  • “A Comic Explains: Behind NB-IoT, What Is LoRa That Everyone Is Talking About?”

Why Open Source Is So Important for IoT

Leave a Comment