Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Iot Full Project Course

Posted By: ELK1nG
Iot Full Project Course

Iot Full Project Course
Published 12/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.89 GB | Duration: 14h 28m

Create a full IoT system, from the device (ESP32, ESP-IDF, C++), to the backend, and the client interface (Python).

What you'll learn

Develop a full IoT project: Embedded device + Backend + Client interface

Solidify their C++ knowledge by applying it with FreeRTOS & ESP-IDF

Understand many core concepts of a Real Time Operating System

Understand how to handle network connectivity from a ESP32

Develop a simple backend with Python & Flask for storing / receiving data

Develop a simple client interface with Python & Kivy for displaying the data

Requirements

Basic programming experience with C / C++

Basic programming experience with Python

Description

In this hands-on course, you’ll deepen your knowledge of C, C++, and Python while learning how to build a complete IoT system from the ground up.By the end of this course, you’ll have created a fully functional IoT plant moisture tracker, capable of monitoring your plants’ health, sending real-time data to your backend, and displaying the information on your client interface.What You’ll LearnThe course is divided into three key parts:Part 1:We’ll start by using C and C++ with the ESP-IDF framework to program the ESP-32 microcontroller. You’ll learn how to write efficient code to measure soil moisture and transmit the data wirelessly (WiFi).Part 2:Next, we’ll build the backend using Python and Flask. This server will process and store incoming data from the IoT device, acting as the backbone of the system.Part 3:Finally, we’ll design an intuitive client interface using Python and Kivy, where you can view moisture readings retrieved from the backend in real time.Who Should Take This Course?This course is designed for individuals with a basic understanding of C, C++, and Python, who are eager to:Advance their programming skills to an intermediate level.Learn core concepts of IoT development through hands-on projects.Explore frameworks like ESP-IDF, Flask, and Kivy while working with microcontrollers and backend systems.To complete this course, you will need to purchase the following materials using your own means (you can get a PDF file from the Lecture 2 => Resources with example purchase links, you are not required to buy the course in order to download this file), the total cost of the kit should be around 30 EUR / USD.1. ESP32 DEVKIT-V1 BOARD2. USB-A to Micro-USB cable3. Capacitive Soil Moisture Sensor V1.24. Male to Female Jumper cables

Overview

Section 1: Introduction

Lecture 1 Course Objectives & Acquired Technical Skills

Lecture 2 Required materials for completing the course

Section 2: Introduction to IoT & ESP32

Lecture 3 Overview of the IoT project that we are going to create

Lecture 4 How to assemble the electronic components

Section 3: Development environment setup

Lecture 5 Installation of VS Code on Ubuntu & Setup of the extension for ESP32

Lecture 6 Installation of VS Code on Windows & Setup of the extension for ESP32

Lecture 7 How to follow this course along with GitHub

Lecture 8 Overview of a generic project in ESP-IDF

Section 4: The main script

Lecture 9 Introduction to freeRTOS

Lecture 10 Overview of the new libraries for the main script [step 1]

Lecture 11 Customizing app_main to log more info [step 2]

Lecture 12 Adding a setup function [step 3]

Lecture 13 About tasks in freeRTOS

Section 5: The IoT device ("Leaf") code architecture

Lecture 14 Leaf project components overview

Lecture 15 The leaf main task (named moisture tracker task) overview

Section 6: The moisture tracker task

Lecture 16 Creating a new task script [step 4]

Lecture 17 Adding a moisture tracker task header [step 5]

Lecture 18 Using the moisture tracker task from the main script [step 6]

Section 7: The configuration ("leaf_config") component

Lecture 19 The need for a configuration component & Adding the header files [step 7]

Lecture 20 Creating the leaf configuration function

Lecture 21 Using the leaf_config component in the main.cpp [step 8 & step 9]

Section 8: The wifi handler component

Lecture 22 Introduction to events in freeRTOS & handling WAN events [step 10]

Lecture 23 Adding a function to handle WIFI events [step 11]

Lecture 24 Adding a function to handle IP events [step 12]

Lecture 25 Adding a function to handle HTTP events [step 13]

Lecture 26 Adding a function to start WIFI [step 14]

Lecture 27 Adding a function to stop WIFI [step 15]

Lecture 28 Adding a function to POST moisture readings [step 16]

Lecture 29 Using the wifi handler component from the moisture_tracker task [step 17]

Lecture 30 Testing the WIFI connection from the ESP32 [step 18]

Section 9: The moisture sensor component

Lecture 31 Analog vs. Digital sensor signals

Lecture 32 Add the moisture sensor component header file [step 19]

Lecture 33 Adding a function to initialize the moisture sensor [step 20]

Lecture 34 Handle the ADC calibration with the function _calibrate_adc [step 21]

Lecture 35 Creating the _populate_readings_buffer function [step 22]

Lecture 36 About the algorithm to get a filtered moisture reading [step 23]

Lecture 37 Wrap the read and filtering in the get_moisture_reading function [step 24]

Lecture 38 Using the moisture sensor in the moisture tracker task [step 25]

Lecture 39 Testing the sensor readings [step 26]

Section 10: The IoT Backend Server

Lecture 40 Initial setup with venv

Lecture 41 Writing env_variables file & the plants_api script [step 30]

Lecture 42 Adding the database tools [step 31]

Lecture 43 Adding the say hello route [step 32]

Lecture 44 Adding a script for running in debug mode [step 33]

Lecture 45 Adding the submit reading_route [step 34]

Lecture 46 Adding the get readings by plant name route [step 35]

Lecture 47 Testing the ESP32 & Backend [step 36]

Section 11: The client interface

Lecture 48 Creating the virtual environment

Lecture 49 Adding env_variables & creating the main script [step 37]

Lecture 50 Adding a title widget [step 38]

Lecture 51 Adding a readings store [step 39]

Lecture 52 Adding a readings list widget [step 40]

Lecture 53 Adding a reading list item widget [step 41]

Lecture 54 Final test [step 42]

This course is intended for individuals with at least a basic understanding of C, C++, and Python.,If you’re looking to advance your technical skills to an intermediate level in these languages while learning key concepts of the Internet of Things, this course is for you.