What OS for connected

devices?

Whether they are running on development computers like the Raspberry Pi or on an Arduino microcontroller, IoT operating systems are designed to be energy efficient, able to communicate with "objects," various devices in your home or company.

Protocols have been drawn up to manage communication with objects. For example, Google offers Weave with an SDK developer and a server for the cloud (this could be online Raspberry).

Among the functions of this protocol are secure registration of connected devices, a link to online services (Google API in the case of Weave), sending commands to devices.
Weave can connect to a TV, voice assistant, lighting, electric control panel. They can be controlled remotely, outside the home, by connecting to the server.

There are different communication systems and protocols. Not all of them work on the same types of computers.

Here's a comparison of the most popular...

OS License List Development Origin Device
Android Things Apache 2.0 16 MO C/C + +/Java Google Pi 3, Pico, Edison
mbed OS Apache 2.0 32 KB S/Espruino Intel Corporation Mbed, Espruino
Windows IOT Kernel Julia Microsoft 1 GB All/VStudio Microsoft Pi 2, Pi 3, Qualcom cards
TinyOS BSD 16 KB nesC/Atmel Studio Universities Microcontrollers
Contiki OS BSD 16 KB C/Instant Contiki Businessmen Microcontrollers
LiteOS BSD 16 KB C/C + +/Atmel Studio UoL Atmel

Android Things is a lightweight version of Android for light devices. This happens with Weave, a communication protocol between devices and supporting GPIO. The site provides an SDK and complete documentation to run.

Mbed is based on RTX RTOS (Real-Time Operating System) and supports real-time multitasking. The Espruino system allows you to use Node.js and JavaScript. Then 32 MB of memory is required, not 32KO. Espruino microcontroller cards can be purchased in the same order as Raspi.

Windows IOT Core is a minimalist version of Windows originally shipped on Raspberry, but has since been available on several Qualcom or Intel processor-based boards. Allwinner cards are not guaranteed. The license belongs only to Microsoft. Development is specifically supported in Visual Studio Express. This is a complete OS of the same type as Raspbian, so it gives complete freedom for the installed software, but this excludes the use of Arduino on cards.

TinyOs was created jointly by several US universities and Intel. Application programming language, nesC - a smaller version of C, adapted to microcontrollers (like the Arduino language). It uses a simple task-based competitor model.

Contiki OS is similar to TinyOS, created in 2002 and developed by several electronics manufacturers. Its C development system, Instant Contiki, requires VMWare Reader, which is free but installation is complicated.

LiteOs, created by the University of Illinois, is a Unix like for microcontrollers that allows programming on both events and threads.
The version was announced by Huwei as ultra light and running without configuration, the source code of which is available on GitHub, but to date has 2 comics. The original LiteOS works with its AVR Studio development environment, and it is a bit common.

Further information