Internet of Things
PlatformIO Guide
About PlatformIO is a versatile, open-source ecosystem designed for embedded development, providi...
Module 1 - Introduction to SMP with RTOS
1.1 Learning Objectives
After completing this module, students are expected to be able to: Understand the difference bet...
1.2 Introduction to RTOS
GPOS The types of OS we often use (Windows, Linux, Mac, Android, iOS) can be classified as GPOS, ...
1.3 Microcontroller Architecture
Besides the differences in the type of OS used, there are also differences in the microcontroller...
1.4 FreeRTOS
So what is FreeRTOS? [4] FreeRTOS is one of the most widely used RTOS implementations in the worl...
1.5 Additional References
What Is a Real-Time Operating System (RTOS)? – DigiKey Maker.io Real-Time Operating System (RTOS...
Module 4 - Deadlock & Synchronization
4.1 Learning Objectives
After completing this module, students are expected to be able to: Understand the importance of ...
4.2 Introduction: The Problem of Shared Resource Access
In multi-tasking systems, multiple tasks often need to access the same resource simultaneously, s...
4.3 Synchronization Mechanisms in FreeRTOS
FreeRTOS provides several synchronization primitives, the most common of which are Mutexes and Se...
4.4 Common Problems in Synchronization
Deadlock A deadlock is a situation where two or more tasks are blocked forever, each waiting fo...
4.5 Prevention and Handling Strategies
Overcoming Deadlock Since detecting and recovering from a deadlock in an embedded system is ver...
Module 5 - Software Timer
5.1 Introduction to Real-Time Multitasking
What is an RTOS? Tasks and Scheduling A Real-Time Operating System (RTOS) is a specialized opera...
5.2 An Overview of Asynchronous Tools in FreeRTOS
Software Timers: For Application-Scheduled Events A FreeRTOS Software Timer is a tool used to sc...
5.3 Deep Dive: FreeRTOS Software Timers
Creating, Starting, and Stopping Timers Interacting with FreeRTOS software timers is done throug...
5.4 Deep Dive: ESP32 Hardware Interrupts
Configuring Hardware Timers on the ESP32 The ESP32 microcontroller comes with four general-purpo...
5.5 The Core Challenge: ISRs and Tasks Synchronization
Understanding the Problem: Shared Data and Race Conditions When a hardware interrupt occurs, the...
5.6 Synchronization Mechanisms: A Comparative Guide
FreeRTOS provides three primary mechanisms for safely managing shared resources between tasks and...
5.7 Choosing the Right Tool: A Practical Comparison
Deciding which synchronization mechanism to use is a key skill in embedded programming. Use the f...
5.8 Advanced Project: A Multi-Sensor Data Logger
In this chapter, we will build a complete data logging application that utilizes all the core con...
Module 6 - Bluetooth & BLE
6.1 Introduction to Bluetooth Technology
What is Bluetooth? Bluetooth is a global wireless technology standard for exchanging data over sh...
6.2 Core Specifications and Evolution
Bluetooth technology is not static; it has evolved through numerous versions, each adding new cap...
6.3 Core Technology Architectures
Modern Bluetooth is not a single technology but a combination of three distinct architectures des...
6.4 Bluetooth Audio: From Classic to Auracast™ (Optional)
Legacy Audio (Classic Profiles) For over two decades, Bluetooth audio has been powered by profil...
6.5 High-Accuracy Location Services (Optional)
Proximity Solutions (Beacons & RSSI) The simplest form of Bluetooth location services is based o...
6.6 Bluetooth and the Internet of Things (IoT)
Bluetooth Mesh Networking in Detail Bluetooth Mesh is a software-based networking solution that ...
6.7 Bluetooth Security
Legacy Pairing vs. LE Secure Connections Pairing is the process of creating a trusted relationsh...
6.8 The Bluetooth Protocol Stack
The Bluetooth protocol stack is a software framework that defines how Bluetooth devices communica...
6.9 Practical Implementation with ESP32
This chapter provides a hands-on project to demonstrate the core concepts of a BLE peripheral dev...
6.10 Real-World Applications and The Future
Modern Case Studies Bluetooth is now a foundational technology in nearly every major tech domain...
Module 7 - MQTT, HTTP, WIFI
7.1 Introduction: The IoT Communication Stack
For an IoT device to be useful, it needs to communicate. This communication happens in layers, mu...
7.2 Local Network Connectivity with Wi-Fi
Wi-Fi is a technology based on the IEEE 802.11 standards that enables wireless data exchange. The...
7.3 Web Communication with HTTP/HTTPS
HTTP HTTP (Hypertext Transfer Protocol) is the foundation of data communication on the World Wide...
7.4 Efficient IoT Messaging with MQTT
MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for const...
Module 10 - Mesh
Introduction
Modul 10: Mesh Pembuat : YP Tujuan Pembelajaran Setelah menyelesaikan modul ini, mahasiswa dihara...
10.1 What is Mesh?
1. Dasar Teori 1.1 Apa itu Jaringan Mesh? Jaringan mesh adalah sebuah topologi di mana setiap pe...
10.2 Example Code
Contoh Kode Root Node #include <Arduino.h> #include <painlessMesh.h> #include <WiFi.h> // --- Ko...