Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

15 total results found

PlatformIO Guide

Internet of Things

About PlatformIO is a versatile, open-source ecosystem designed for embedded development, providing a unified platform for building, managing, and debugging firmware across a wide range of microcontroller architectures. Integrated with popular IDEs like VSCode...

4.1 Learning Objectives

Internet of Things Module 4 - Deadlock & Synchronization

After completing this module, students are expected to be able to: Understand the importance of synchronization in multi-tasking systems and the risks of race conditions. Recognize and implement basic synchronization mechanisms: Mutexes and Semaphores in Free...

4.2 Introduction: The Problem of Shared Resource Access

Internet of Things Module 4 - Deadlock & Synchronization

In multi-tasking systems, multiple tasks often need to access the same resource simultaneously, such as a global variable, a sensor interface, or a data structure. If this access is not managed properly, it can lead to data corruption, inconsistencies, or unex...

4.3 Synchronization Mechanisms in FreeRTOS

Internet of Things Module 4 - Deadlock & Synchronization

FreeRTOS provides several synchronization primitives, the most common of which are Mutexes and Semaphores. Both are built upon a basic data structure called a queue. Mutex (Mutual Exclusion) A mutex can be thought of as a "key" to a resource. A task that wan...

4.4 Common Problems in Synchronization

Internet of Things Module 4 - Deadlock & Synchronization

Deadlock A deadlock is a situation where two or more tasks are blocked forever, each waiting for a resource that is held by another task in the cycle. Example Deadlock Scenario: Task A successfully locks Mutex 1. Task B successfully locks Mutex 2. Task A no...

4.5 Prevention and Handling Strategies

Internet of Things Module 4 - Deadlock & Synchronization

Overcoming Deadlock Since detecting and recovering from a deadlock in an embedded system is very difficult, the best approach is prevention. This is done by breaking one of the four Coffman conditions. Break Circular Wait: Enforce a strict lock ordering for...

7.1 Introduction: The IoT Communication Stack

Internet of Things Module 7 - MQTT, HTTP, WIFI

For an IoT device to be useful, it needs to communicate. This communication happens in layers, much like a conversation. You need to have connectivity, then you need a common language to request things (web communication), and sometimes a specialized shorthand...

7.2 Local Network Connectivity with Wi-Fi

Internet of Things Module 7 - MQTT, HTTP, WIFI

Wi-Fi is a technology based on the IEEE 802.11 standards that enables wireless data exchange. The ESP32 supports common standards like 802.11b, 802.11g, and 802.11n, operating in the 2.4 GHz frequency band. ESP32 Wi-Fi Modes Station Mode (STA): The ESP32 acts...

7.3 Web Communication with HTTP/HTTPS

Internet of Things Module 7 - MQTT, HTTP, WIFI

HTTP HTTP (Hypertext Transfer Protocol) is the foundation of data communication on the World Wide Web. It operates on a request-response model. Client (ESP32): The client make a request to the server for a resource, like a webpage or data. Server (A Web Serve...

7.4 Efficient IoT Messaging with MQTT

Internet of Things Module 7 - MQTT, HTTP, WIFI

MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for constrained devices and unreliable networks, making it perfect for IoT. Instead of the request-response model, MQTT uses a publish/subscribe (pub/sub) model. MQTT Compo...

1.1 Learning Objectives

Internet of Things Module 1 - Introduction to SMP with RTOS

After completing this module, students are expected to be able to: Understand the difference between a General-Purpose Operating System (GPOS) and a Real-Time Operating System (RTOS) Understand the differences and benefits of Multi-Threading on a Microcontrol...

1.2 Introduction to RTOS

Internet of Things Module 1 - Introduction to SMP with RTOS

GPOS The types of OS we often use (Windows, Linux, Mac, Android, iOS) can be classified as GPOS, which, as the name suggests, are designed for general purposes and typically utilize a GUI or CLI as the human interaction interface. GPOS systems are designed to ...

1.3 Microcontroller Architecture

Internet of Things Module 1 - Introduction to SMP with RTOS

Besides the differences in the type of OS used, there are also differences in the microcontrollers used. In this IoT lab, the ESP-32 microcontroller is used, which differs from the Arduino Uno used in the Embedded Systems lab. Look at the table below for a com...

1.4 FreeRTOS

Internet of Things Module 1 - Introduction to SMP with RTOS

So what is FreeRTOS? [4] FreeRTOS is one of the most widely used RTOS implementations in the world of embedded systems and IoT. As its name implies, FreeRTOS is open-source and free to use. Based on the previous explanation of RTOS, FreeRTOS acts as a lightwei...

1.5 Additional References

Internet of Things Module 1 - Introduction to SMP with RTOS

What Is a Real-Time Operating System (RTOS)? – DigiKey Maker.io Real-Time Operating System (RTOS): Components, Types, Examples – Guru99 RTOS Fundamentals – FreeRTOS Official Documentation