SlideShare a Scribd company logo
1 of 6
Download to read offline
Internet of Things – Contiki
We will look at the topic “Contiki”. Then, we shall go through various topics like
what Contiki is, the communication components of Contiki, its functions,
dynamic module loading, and the Cooja network simulator. Finally, we shall
discuss IoT Contiki OS software applications and some of their features.
What is the IoT Contiki OS?
Contiki is a portable, open-source operating system specifically designed for
IoT devices like wireless sensors, networking devices, and low-power
microcontrollers. In addition, Contiki has various communication components
like uIP, 6LoWPAN, Rime, and more.
Contiki is in high demand because of its lightweight and flexible design for IoT
devices. The vision behind the Contiki operating system is to create a
minimalistic running OS for huge deployment and fulfil the requirements of the
smallest gadgets together.
In 2002, Adam Dunkels created Contiki. Developers from Texas Instruments,
Atmel, Cisco, ENEA, SAP Labs, and Redwire have further developed it to
make it what it is today.
Contiki became such a crowd puller because of its built-in TCP/IP stack and
lightweight preemptive scheduling over an event-driven kernel, a very
motivating feature for IoT.
Communication Components of Contiki
We saw that Contiki’s various communication components were one reason it
became so famous. Let us take a look at the 6 communication components
present inside the IoT Contiki operating system:
1. uIP
We all know that IoT devices have low power, and due to this, IoT devices
can’t implement TCP/IP protocols due to very limited resources. This is where
uIP comes to the rescue. It contains minimised components that are essential
components for the TCP/IP stack.
2. uIPv6
As the name suggests, it offers an IPv6 networking connection and new
internet communication capacities to the Contiki operating system. uIPv6
supports various IoT devices like sensors, actuators, light valves, etc., as it
provides a larger address space.
3. Rime
This communication component provides a set of lightweight communication
primitives used by IoT sensors. Rime was explicitly designed for low-cost
wireless systems.
4. 6LoWPAN
The 6LoWPAN communication stack was designed to apply the internet
protocol to low-power IoT devices. 6LoWPAN allows low-power devices with
lesser processing capabilities to participate in IoT ecosystems. This
communication component has the perfect characteristics that dominate the
market, such as smart homes, sensors, and actuators.
5. CoAP
CoAp can be utilised with constrained nodes and constrained networks in IoT.
Moreover, it is a web transfer protocol that is heavy for memory-constrained
devices.
6. RPL
RPL communication is essentially an IPv6 routing protocol designed for lossy
networks and low-power networks.
Functions of IoT Contiki OS
1. Process and Memory Management
The IoT Contiki operating system supports malloc(), a standard C
programming memory allocation function that helps in memory block
allocation. Protoheads are in C programming language, supporting the low
system requirement and reducing the overhead of multithreading
programming.
2. Communication Management
We already saw that the Contiki operating system supports the Ipv6 and Ipv4
communication stack implementations. It also includes other communication
components like TCP, HTTP, and many more protocols.
3. File System Management
Every IoT device doesn’t need to have large and persistent memory storage
such as flashes. However, the coffee file system offered by Contiki supports
IoT devices with low memory. This file system is best suitable for devices with
an external flash memory chip.
What is Dynamic Module Loading in Contiki?
Contiki OS supports the dynamic loading of programming modules to make
programming easier. Currently, Contiki has 2 programming interfaces to load a
program. They are ELF (Executable Linkable Format) and NEF (Native
Executable Format). You can also write the dynamic module in the flash
memory if you are using the coffee file system.
What is the Cooja network simulator in
Contiki?
Contiki contains a network simulator named Cooja. It stimulates networks on
nodes that support Contiki. The programming model of Contiki has several
prototypes to run a small memory system remotely. These prototypes include
multithreading to achieve low memory overhead as they are memory-efficient
programs.
Software Applications of Contiki OS
Numerous applications are included in Contiki. For example, there is a
lightweight browser and web servers, shell, calculators, telnet to manage
devices remotely, email clients and users, vnc viewer, and many more
applications.
However, if you want to develop an application, you can look for tools like the
Cooja simulator. Contiki’s software package includes a UNIX-style debugging
shell and an Operating System interface. In Contiki OS, measuring the power
of various applications is also possible. As a result, it helps developers to
make power-sensitive applications.
Features of IoT Contiki OS
Contiki offers lots of features. For example, it supports per-process optional
preemptive multithreading, inter-process communication using message
passing through events, and an optional GUI subsystem. Here are some more
features of the IoT Contiki OS:
1. Contiki’s kernel is capable of multitasking.
2. Optional per-application multithreading.
3. Comes with protothreads.
4. Communication components.
5. Comes with Windows system and GUI.
6. Networked remote display using virtual network computing.
7. Has the world’s smallest web browser.
8. Provides us with serverdam Dunkels.
9. Includes a telnet client.
10. Cooja simulator.
Summary
As you have read, Contiki is a portable and open-source operating system
specifically designed for IoT devices like wireless sensors, networking
devices, and low-power microcontrollers. In this article, we looked at topics
like what Contiki is, the communication components of Contiki, its functions,
dynamic module loading, the Cooja network simulator, and more.

More Related Content

Similar to Internet of Things – Contiki.pdf

Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iaetsd Iaetsd
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge ComputingLiz Warner
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioGünter Obiltschnig
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability TestBoris Adryan
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linuxjohngt
 
Survey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentSurvey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentEswar Publications
 
Internet of Things 101 - For software engineers
Internet of Things 101 - For software engineersInternet of Things 101 - For software engineers
Internet of Things 101 - For software engineersKashif Ali Siddiqui
 
Service composition for IP smart object using realtime Web protocols
Service composition for IP smart object using realtime Web protocolsService composition for IP smart object using realtime Web protocols
Service composition for IP smart object using realtime Web protocolsmaryam dana
 
Seminar on Intelligent Personal Assistant based on Internet of Things approach
Seminar on Intelligent Personal Assistant based on Internet of Things approachSeminar on Intelligent Personal Assistant based on Internet of Things approach
Seminar on Intelligent Personal Assistant based on Internet of Things approachKarthic C M
 
Internet of Things.pptx
Internet of Things.pptxInternet of Things.pptx
Internet of Things.pptxEshwar Prasad
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
 
Lecture 5: Software platforms and services
Lecture 5: Software platforms and services Lecture 5: Software platforms and services
Lecture 5: Software platforms and services PayamBarnaghi
 
Google global Cache operations for youtube
Google global Cache operations for youtubeGoogle global Cache operations for youtube
Google global Cache operations for youtubeShahinAlam930521
 

Similar to Internet of Things – Contiki.pdf (20)

Facebook_TIP_Nov
Facebook_TIP_NovFacebook_TIP_Nov
Facebook_TIP_Nov
 
Facebook and Telecom
Facebook and TelecomFacebook and Telecom
Facebook and Telecom
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability Test
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
Survey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentSurvey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT Environment
 
Lab introduction
Lab introductionLab introduction
Lab introduction
 
Internet of Things 101 - For software engineers
Internet of Things 101 - For software engineersInternet of Things 101 - For software engineers
Internet of Things 101 - For software engineers
 
Designing Internet of things
Designing Internet of thingsDesigning Internet of things
Designing Internet of things
 
Service composition for IP smart object using realtime Web protocols
Service composition for IP smart object using realtime Web protocolsService composition for IP smart object using realtime Web protocols
Service composition for IP smart object using realtime Web protocols
 
Seminar on Intelligent Personal Assistant based on Internet of Things approach
Seminar on Intelligent Personal Assistant based on Internet of Things approachSeminar on Intelligent Personal Assistant based on Internet of Things approach
Seminar on Intelligent Personal Assistant based on Internet of Things approach
 
KNoT Manifesto
KNoT ManifestoKNoT Manifesto
KNoT Manifesto
 
Internet of Things.pptx
Internet of Things.pptxInternet of Things.pptx
Internet of Things.pptx
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
IoT
IoTIoT
IoT
 
Lecture 5: Software platforms and services
Lecture 5: Software platforms and services Lecture 5: Software platforms and services
Lecture 5: Software platforms and services
 
Google global Cache operations for youtube
Google global Cache operations for youtubeGoogle global Cache operations for youtube
Google global Cache operations for youtube
 

More from SudhanshiBakre1

Float Data Type in C.pdf
Float Data Type in C.pdfFloat Data Type in C.pdf
Float Data Type in C.pdfSudhanshiBakre1
 
IoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdfIoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdfSudhanshiBakre1
 
Java abstract Keyword.pdf
Java abstract Keyword.pdfJava abstract Keyword.pdf
Java abstract Keyword.pdfSudhanshiBakre1
 
Collections in Python - Where Data Finds Its Perfect Home.pdf
Collections in Python - Where Data Finds Its Perfect Home.pdfCollections in Python - Where Data Finds Its Perfect Home.pdf
Collections in Python - Where Data Finds Its Perfect Home.pdfSudhanshiBakre1
 
File Handling in Java.pdf
File Handling in Java.pdfFile Handling in Java.pdf
File Handling in Java.pdfSudhanshiBakre1
 
Types of AI you should know.pdf
Types of AI you should know.pdfTypes of AI you should know.pdf
Types of AI you should know.pdfSudhanshiBakre1
 
Annotations in Java with Example.pdf
Annotations in Java with Example.pdfAnnotations in Java with Example.pdf
Annotations in Java with Example.pdfSudhanshiBakre1
 
Top Cryptocurrency Exchanges of 2023.pdf
Top Cryptocurrency Exchanges of 2023.pdfTop Cryptocurrency Exchanges of 2023.pdf
Top Cryptocurrency Exchanges of 2023.pdfSudhanshiBakre1
 
Epic Python Face-Off -Methods vs.pdf
Epic Python Face-Off -Methods vs.pdfEpic Python Face-Off -Methods vs.pdf
Epic Python Face-Off -Methods vs.pdfSudhanshiBakre1
 
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdfDjango Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdfSudhanshiBakre1
 
Benefits Of IoT Salesforce.pdf
Benefits Of IoT Salesforce.pdfBenefits Of IoT Salesforce.pdf
Benefits Of IoT Salesforce.pdfSudhanshiBakre1
 
Epic Python Face-Off -Methods vs. Functions.pdf
Epic Python Face-Off -Methods vs. Functions.pdfEpic Python Face-Off -Methods vs. Functions.pdf
Epic Python Face-Off -Methods vs. Functions.pdfSudhanshiBakre1
 
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdf
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdfPython Classes_ Empowering Developers, Enabling Breakthroughs.pdf
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdfSudhanshiBakre1
 
Semaphore in Java with Example.pdf
Semaphore in Java with Example.pdfSemaphore in Java with Example.pdf
Semaphore in Java with Example.pdfSudhanshiBakre1
 

More from SudhanshiBakre1 (20)

IoT Security.pdf
IoT Security.pdfIoT Security.pdf
IoT Security.pdf
 
Top Java Frameworks.pdf
Top Java Frameworks.pdfTop Java Frameworks.pdf
Top Java Frameworks.pdf
 
Numpy ndarrays.pdf
Numpy ndarrays.pdfNumpy ndarrays.pdf
Numpy ndarrays.pdf
 
Float Data Type in C.pdf
Float Data Type in C.pdfFloat Data Type in C.pdf
Float Data Type in C.pdf
 
IoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdfIoT Hardware – The Backbone of Smart Devices.pdf
IoT Hardware – The Backbone of Smart Devices.pdf
 
Java abstract Keyword.pdf
Java abstract Keyword.pdfJava abstract Keyword.pdf
Java abstract Keyword.pdf
 
Node.js with MySQL.pdf
Node.js with MySQL.pdfNode.js with MySQL.pdf
Node.js with MySQL.pdf
 
Collections in Python - Where Data Finds Its Perfect Home.pdf
Collections in Python - Where Data Finds Its Perfect Home.pdfCollections in Python - Where Data Finds Its Perfect Home.pdf
Collections in Python - Where Data Finds Its Perfect Home.pdf
 
File Handling in Java.pdf
File Handling in Java.pdfFile Handling in Java.pdf
File Handling in Java.pdf
 
Types of AI you should know.pdf
Types of AI you should know.pdfTypes of AI you should know.pdf
Types of AI you should know.pdf
 
Streams in Node .pdf
Streams in Node .pdfStreams in Node .pdf
Streams in Node .pdf
 
Annotations in Java with Example.pdf
Annotations in Java with Example.pdfAnnotations in Java with Example.pdf
Annotations in Java with Example.pdf
 
RESTful API in Node.pdf
RESTful API in Node.pdfRESTful API in Node.pdf
RESTful API in Node.pdf
 
Top Cryptocurrency Exchanges of 2023.pdf
Top Cryptocurrency Exchanges of 2023.pdfTop Cryptocurrency Exchanges of 2023.pdf
Top Cryptocurrency Exchanges of 2023.pdf
 
Epic Python Face-Off -Methods vs.pdf
Epic Python Face-Off -Methods vs.pdfEpic Python Face-Off -Methods vs.pdf
Epic Python Face-Off -Methods vs.pdf
 
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdfDjango Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
 
Benefits Of IoT Salesforce.pdf
Benefits Of IoT Salesforce.pdfBenefits Of IoT Salesforce.pdf
Benefits Of IoT Salesforce.pdf
 
Epic Python Face-Off -Methods vs. Functions.pdf
Epic Python Face-Off -Methods vs. Functions.pdfEpic Python Face-Off -Methods vs. Functions.pdf
Epic Python Face-Off -Methods vs. Functions.pdf
 
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdf
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdfPython Classes_ Empowering Developers, Enabling Breakthroughs.pdf
Python Classes_ Empowering Developers, Enabling Breakthroughs.pdf
 
Semaphore in Java with Example.pdf
Semaphore in Java with Example.pdfSemaphore in Java with Example.pdf
Semaphore in Java with Example.pdf
 

Recently uploaded

New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Internet of Things – Contiki.pdf

  • 1. Internet of Things – Contiki We will look at the topic “Contiki”. Then, we shall go through various topics like what Contiki is, the communication components of Contiki, its functions, dynamic module loading, and the Cooja network simulator. Finally, we shall discuss IoT Contiki OS software applications and some of their features. What is the IoT Contiki OS? Contiki is a portable, open-source operating system specifically designed for IoT devices like wireless sensors, networking devices, and low-power microcontrollers. In addition, Contiki has various communication components like uIP, 6LoWPAN, Rime, and more. Contiki is in high demand because of its lightweight and flexible design for IoT devices. The vision behind the Contiki operating system is to create a minimalistic running OS for huge deployment and fulfil the requirements of the smallest gadgets together. In 2002, Adam Dunkels created Contiki. Developers from Texas Instruments, Atmel, Cisco, ENEA, SAP Labs, and Redwire have further developed it to make it what it is today. Contiki became such a crowd puller because of its built-in TCP/IP stack and lightweight preemptive scheduling over an event-driven kernel, a very motivating feature for IoT.
  • 2. Communication Components of Contiki We saw that Contiki’s various communication components were one reason it became so famous. Let us take a look at the 6 communication components present inside the IoT Contiki operating system: 1. uIP We all know that IoT devices have low power, and due to this, IoT devices can’t implement TCP/IP protocols due to very limited resources. This is where uIP comes to the rescue. It contains minimised components that are essential components for the TCP/IP stack. 2. uIPv6 As the name suggests, it offers an IPv6 networking connection and new internet communication capacities to the Contiki operating system. uIPv6 supports various IoT devices like sensors, actuators, light valves, etc., as it provides a larger address space. 3. Rime This communication component provides a set of lightweight communication primitives used by IoT sensors. Rime was explicitly designed for low-cost wireless systems. 4. 6LoWPAN
  • 3. The 6LoWPAN communication stack was designed to apply the internet protocol to low-power IoT devices. 6LoWPAN allows low-power devices with lesser processing capabilities to participate in IoT ecosystems. This communication component has the perfect characteristics that dominate the market, such as smart homes, sensors, and actuators. 5. CoAP CoAp can be utilised with constrained nodes and constrained networks in IoT. Moreover, it is a web transfer protocol that is heavy for memory-constrained devices. 6. RPL RPL communication is essentially an IPv6 routing protocol designed for lossy networks and low-power networks. Functions of IoT Contiki OS 1. Process and Memory Management The IoT Contiki operating system supports malloc(), a standard C programming memory allocation function that helps in memory block allocation. Protoheads are in C programming language, supporting the low system requirement and reducing the overhead of multithreading programming. 2. Communication Management
  • 4. We already saw that the Contiki operating system supports the Ipv6 and Ipv4 communication stack implementations. It also includes other communication components like TCP, HTTP, and many more protocols. 3. File System Management Every IoT device doesn’t need to have large and persistent memory storage such as flashes. However, the coffee file system offered by Contiki supports IoT devices with low memory. This file system is best suitable for devices with an external flash memory chip. What is Dynamic Module Loading in Contiki? Contiki OS supports the dynamic loading of programming modules to make programming easier. Currently, Contiki has 2 programming interfaces to load a program. They are ELF (Executable Linkable Format) and NEF (Native Executable Format). You can also write the dynamic module in the flash memory if you are using the coffee file system. What is the Cooja network simulator in Contiki? Contiki contains a network simulator named Cooja. It stimulates networks on nodes that support Contiki. The programming model of Contiki has several prototypes to run a small memory system remotely. These prototypes include multithreading to achieve low memory overhead as they are memory-efficient programs.
  • 5. Software Applications of Contiki OS Numerous applications are included in Contiki. For example, there is a lightweight browser and web servers, shell, calculators, telnet to manage devices remotely, email clients and users, vnc viewer, and many more applications. However, if you want to develop an application, you can look for tools like the Cooja simulator. Contiki’s software package includes a UNIX-style debugging shell and an Operating System interface. In Contiki OS, measuring the power of various applications is also possible. As a result, it helps developers to make power-sensitive applications. Features of IoT Contiki OS Contiki offers lots of features. For example, it supports per-process optional preemptive multithreading, inter-process communication using message passing through events, and an optional GUI subsystem. Here are some more features of the IoT Contiki OS: 1. Contiki’s kernel is capable of multitasking. 2. Optional per-application multithreading. 3. Comes with protothreads. 4. Communication components. 5. Comes with Windows system and GUI. 6. Networked remote display using virtual network computing. 7. Has the world’s smallest web browser. 8. Provides us with serverdam Dunkels.
  • 6. 9. Includes a telnet client. 10. Cooja simulator. Summary As you have read, Contiki is a portable and open-source operating system specifically designed for IoT devices like wireless sensors, networking devices, and low-power microcontrollers. In this article, we looked at topics like what Contiki is, the communication components of Contiki, its functions, dynamic module loading, the Cooja network simulator, and more.