Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Professional Zephyr IoT Development
Introduction
Welcome(Same as Promo) (2:08)
Course Requirements
Introduction to Zephyr OS and the Enterprise Embedded Landscape
Why Zephyr for Top Companies (1:05)
The Zephyr Ecosystem and Core Concepts (2:47)
Introduction to Zephyr OS (1:43)
Understanding Databases
Introduction to Databases (3:50)
Types of Databases (4:44)
Cloud Database vs. Local Database (8:32)
A Closer Look at SQL Databases (7:59)
A Closer Look at NoSQL Databases (3:53)
Practice Test
Foundations of Web Development
Essentials of HTML (Hypertext Markup Language) (7:55)
Essentials of CSS (Cascading Style Sheets) (7:30)
Essentials of Javascript (9:55)
Essentials of PHP(Hypertext Preprocessor) (14:43)
Essentials of SQLite (6:25)
Practice Test
Configuring the ESP32 for AT Commands
Configuring the ESP32 as a WIFI and BLE Modem (12:10)
Getting the ESP32 Flash Download Tool (3:19)
Flashing the Appropriate Binary into the ESP32 (8:12)
Testing the ESP32 with Commands (3:42)
Setting Up Zephyr
Zephyr Environment Setup Guide
Overview of the Process (5:01)
Programming: Installing the Required Python Version for Zephyr (2:35)
Programming: Installing the Zephyr Host Tools (6:04)
Programming: Verifying the Host Tools Installation (2:07)
Programming: Creating and Activating the Virtual Environment (3:39)
Fix for windows-curses install error on Windows
Programming: Initializing the West Workspace and Fetching Zephyr (7:18)
Programming: Installing the Zephyr SDK and Arm Toolchain (7:34)
Programming: Testing the Setup by Blinking an LED (4:38)
Walkthrough of a Full Zephyr Setup on Windows
Overview of the Zephyr Folder (3:20)
Overview of the Modules Folder (0:39)
Overview of the SDK Folder (2:03)
Programming: Exploring the Zephyr SDK Folder (1:36)
About Setup and Installation
Introduction to West and the Manifest (3:58)
The Build System, Configuration, and Device Tree
Overview of the Zephyr Build System (1:34)
Overview of Kconfig (1:29)
Overview of the Device Tree and Overlay File (3:14)
The Zephyr Device Tree
What is a Node? (2:54)
Undstanding the Property Types (1:59)
Undstanding Labels and pHandles (2:42)
Overview the .dts and Overlay Files (8:40)
Key Macros for Interacting with the Device Tree (3:59)
Summary and Key Takeaways (5:43)
Programming: Exploring the Subfolders in the Zephyr Workspace (3:00)
Programming: Exploring the Zephyr Folder in the Workspace (6:01)
Understanding Why the Device Tree Exists (3:29)
The Pin Control Subsystem
Linking Peripherals to 'pinctrl' States (2:40)
The Automation at Boot Time (2:57)
Overview of the Zephyr Pin Control Subsytem (5:11)
Getting Familiar with Core Zephyr Files in the Workspace
Programming: Analyzing the Device Tree Files Provided by Zephyr (20:32)
Programming: Analyzing the Zephyr Binding Files (3:35)
Programming: Finding the Avaliable Device Tree Macros (2:38)
Programming: Analyzing the Pin Control Node in .dtsi Files (5:13)
Programming: Analyzing Kconfig Files (3:11)
Programming: Getting the Required Documentation for Zephyr and STM32 Development (5:15)
Developing the UART TX Driver in Zephyr
Programming: The UART TX Poll Project Config File (2:33)
Programming: Using the Board's Chosen UART Console (6:02)
Programming: Getting a Device Reference from the Device Tree Node Identifier (4:01)
Programming: Implementing the UART TX Driver Code (10:55)
Programming: Building and Testing the UART TX Project (8:03)
Programming: Working with the Kernel Print Function (10:37)
Developing the UART RX Driver in Zephyr
Programming: Testing the UART RX Driver (6:09)
Programming: Developing the UART RX Driver (11:38)
Developing the ADC Driver in Zephyr
Programming: Locating the ADC Channel Pins (4:43)
Programming: Writing the Overlay File for the ADC Driver (14:58)
Programming: Finding the 'adc1' Node in the SoC dts Files (9:15)
Programming: Configuring the ADC Parameters (10:38)
Programming: Configuring the ADC Sequence (8:03)
Programming: Reading the Sensor Value (8:12)
Programming: Understanding the Differences Between Manual Config. Functions and .dts Spec Variants (5:46)
Programming: Building and Testing the ADC Driver (12:26)
Developing the ADC Multichannel Driver in Zephyr
Programming: Implementing the Overlay File (9:00)
Programming: Implementing the Function for Reading Multiple Channels (4:20)
Programming: Implementing the 'main' Function (7:28)
Programming: Building and Testing the Multichannel ADC Driver (6:04)
Programming: Configuring the ADC Channels (4:44)
Developing Multithreaded Applications with Zephyr
Programming: Understanding K_THREAD_DEFINE (5:40)
Programming: Defining and Initializing the Thread (4:32)
Programming: Building and Testing the RTOS Thread Project (3:33)
Programming: Running Multiple Threads in Round Robin (5:15)
Programming: Defining and Initializing the Second Thread (2:51)
Programming: Building and Testing the Multithreaded Round Robin Project (1:52)
Programming: Defining the Arguments for the Thread (7:19)
Zephyr Thread Control and Management
Programming: Project Introduction and Thread Control Functions (5:11)
Programming: Declaring Stack Area and TCB for the Thread (8:47)
Programming: Creating the Thread Function for Worker Thread A (5:50)
Programming: Creating the Second Worker Thread (1:14)
Programming: Creating the Thread Function for the Controller Thread (6:06)
Programming: Yielding and Suspending Threads (2:38)
Programming: Implementing the 'print_priority()' Helper Function (5:02)
Programming: Changing Thread Priority at Runtime (3:41)
Programming: Sleeping and Aborting Threads at Runtime (3:08)
Programming: Implementing the 'start_thread()' Helper Function (3:25)
Programming: Starting the Threads Using the Helper Function (2:25)
Programming: Building and Testing Thread Control Project (18:10)
Programming: Setting Up the Project (3:12)
Working with Counting Semaphores in Zephyr
Overview of the Counting Semaphore Project (4:12)
Programming: Defining Configuration and Thread Objects (3:36)
Programming: Implementing the 'car_entry()' Function (6:19)
Programming: Creating the Car Threads with Unique IDs (7:05)
Programming: Building and Testing the Counting Semaphore Project (2:43)
Developing the Server-Side
The System Architecture (5:29)
Setting Up VSCode (8:16)
Programming: Implementing the Head of the Index File (9:22)
Programming: Adding a Company Logo (5:19)
Programming: Applying the Background Gradient (2:24)
Programming: Implementing the Historical Data Download Form (10:41)
Programming: Applying CSS Styling to the Form (10:59)
Programming: Adding the Chart Container (4:23)
Programming: Adding the Sensor Data Table (6:07)
Programming: The PHP Script for Displaying Database Content (15:23)
Programming: The PHP Script for Plotting the Chart (10:00)
Programming: Implementing the Javacript for the Chart (15:00)
Programming: Adding a Footer to the Page (5:56)
Programming: Implementing the Insert.php Script (16:46)
Programming: Generating the Excel Sheet from the Data (16:04)
Programming: Enabling the Date Selection (1:12)
Practice Test
Getting the ESP32 Flash Download Tool
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock