A Light-Weight Operating System for Internet of Things Devices
MetadataShow full item record
Nowadays, all around of us has been surrounded by wireless devices. More than a decade, engineers have been using these wireless devices in industry to measure environmental data. Large networks, which are formed by hundreds or thousands sensor nodes, are not easy to build, maintain and observe. Moreover, with the trending concept called Internet of Things, devices have gained different functionalities and the different type of networks started to develop. In order to design an efficient and low cost sensor and IOT network, a different type of architecture in both network side and low-level software side must be developed. Designing a specific operating system motivated us earlier part in this project. After detailed investigation, it is revealed that resource-constrained embedded devices need a new type of embedded operating system specifically developed for sensor and IOT network. Moreover, in the market, there are many choice for embedded operating systems. However, an open-source operating system for embedded devices in the sensor and IOT networks is needed and could be useful for educational purposes as well as commercial purposes. In the light of the motivations that is mentioned at the paragraph above, a light-weight embedded operating system has been designed and developed from scratch in this thesis. In addition to that, a radio protocol and an IOT service layer which act as middleware in the network have been designed and implemented into the embedded operating system. All the background lies behind this project and the designing steps are explained in detail in this thesis. In addition to this, a conference paper about the operating system particularly IOT service layer is being written. Keil uVision5 software development platformwas used to develop the mentioned operatingsystem in this project. Detailed investigation and research were done about embedded systems, operating systems, distributed systems and wireless communication before the project. Afterwards, entire software libraries for the kernel and hardware drivers were developed from scratch by using C and Assembly language. Since the project is focused on embedded devices, one of the low-power processor architectures called ARM Cortex-M0 architecture has been used as the target platform. An SOC from Nordic Semiconductor called NRF51822, which contains this processor architecture, is used inside of the devices in this project. In order to test and validate the results and functionality of the system, two different development kits have been used provided by the vendor company. Detailed tests scenarios have been tried and a small working sensornetwork/cluster has been formed by using these devices and the operating system. At the end of the project, a small size operating system which requires around 8Kb of flash memory and 7Kb of RAM, has been created. Tasks which is given to devices has been efficiently executed without causing any overhead or failure. In addition to this, functionality which is provided by the IOT layer has been achieved as well. Two types of device are introduced with the proposed IOT layer. A standard component for sensor and IOT networks called node device and supervisor component of the network called manager device are tested. After tests and verifications, it has been seen that resource and information sharing across the network is achieved. In this thesis project, resource-constrained low profile embedded devices and architectures selected as the target device group. It is revealed that using a specifically design operating system, these types of devices could be used in many applications with reasonable prices. Moreover, the proposed operating system layer could bring a new way of thinking on the sensor and IOT device networks and could be used as the solution for problems and challenges. Furthermore, with the user-friendly design particular operating system could be very useful in educational purposes.