Node-RED: IoT projects with ESP32, MQTT and Docker
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Node-RED: IoT projects with ESP32, MQTT and Docker
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Deploy IoT services with Node-RED, MQTT, and databases in Docker containers
Program ESP32 to collect and transmit sensor data securely via MQTT
Visualize real-time data using Grafana, MariaDB, and InfluxDB
Build smart automation projects, including weather stations, security systems, and IoT dashboards
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
There are 16 modules in this course
This course features Coursera Coach!
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Dive into the world of IoT development with Node-RED, ESP32, MQTT, and Docker in this hands-on course. You'll start by installing essential tools like Docker and Portainer, then progress through setting up your IoT development environment. With each section, you'll build real-world projects like a mini weather station, surveillance camera, smart plant watering system, and more. You'll learn how to use MQTT for secure communication, configure your devices with Node-RED, and store and visualize data in InfluxDB and Grafana. The course also covers best practices for working with Docker containers and managing services securely. By the end, you'll have the knowledge to design and implement your own IoT projects, leveraging MQTT, Docker, and powerful Node-RED flows for smart, connected devices. This course is perfect for aspiring IoT developers and engineers who want to understand the tools, technologies, and techniques needed to bring IoT projects to life with ease and efficiency. No prior IoT or Node-RED experience is required, though basic knowledge of programming and hardware concepts will be beneficial.
In this module, we will introduce the course, its objectives, and the instructor. You’ll learn about the essential prerequisites, the resources provided, and the hands-on approach we follow. We’ll also discuss important disclaimers and guidelines to ensure a smooth learning experience.
What's included
7 videos1 reading
7 videos•Total 9 minutes
- Promo•2 minutes
- About me•1 minute
- Prerequisites•1 minute
- Sketch, Code examples and flows•1 minute
- The basic sketch - start of every project•1 minute
- Making instead of lecturing•2 minutes
- Disclaimer•2 minutes
1 reading•Total 10 minutes
- Full Course Resources•10 minutes
In this module, we will guide you through setting up a complete IoT software stack using Docker. You’ll learn how to install and configure key services like Mosquitto, Node-RED, InfluxDB, and MariaDB as containers. We’ll also cover authentication, SSL setup, and automated backups to ensure a secure and efficient workflow.
What's included
21 videos1 assignment
21 videos•Total 94 minutes
- Intro•1 minute
- Why Docker?•3 minutes
- Get a vServer•5 minutes
- Docker Installation•4 minutes
- Docker CLI using the example of Focalboard•5 minutes
- Portainer•6 minutes
- Mosquitto Broker•6 minutes
- Run Mosquitto in the Container•3 minutes
- ohmyz for more convenient terminal handling•2 minutes
- Mosquitto Broker with PW authentication•6 minutes
- Node-RED•5 minutes
- Node-RED with authentication•5 minutes
- InfluxDB•4 minutes
- Grafana•3 minutes
- MariaDB and create a DB via CLI•4 minutes
- Adminer•3 minutes
- Update Docker Container•2 minutes
- Traefik as reverse proxy for SSL access•12 minutes
- SSL for Node-RED with Traefik Labels•6 minutes
- Cronjobs for backup routines•3 minutes
- Backup of Node-RED Flows via Cronjob•6 minutes
1 assignment•Total 15 minutes
- Install all programs as containers - Assessment•15 minutes
In this module, we will explore the fundamentals of Node-RED and its role in IoT projects. You’ll get an overview of flows, nodes, and payload manipulation. We’ll also dive into JSON processing, context variables, and the wide range of available nodes that enhance automation capabilities.
What's included
7 videos1 assignment
7 videos•Total 34 minutes
- Intro•0 minutes
- Separation of tasks of software and hardware•2 minutes
- First overview of flow and nodes•6 minutes
- Overwrite Payload with Function Node•9 minutes
- Process JSON•4 minutes
- Context, flow and global variables•8 minutes
- So many nodes•3 minutes
1 assignment•Total 15 minutes
- First overview of Node-RED - Assessment•15 minutes
In this module, we will cover the essential concepts of MQTT, a lightweight messaging protocol for IoT communication. You’ll learn how publishers and subscribers interact, how to use wildcards and retained messages, and how to implement QoS levels. We’ll also introduce tools like MQTT Explorer for monitoring topics.
What's included
9 videos1 assignment
9 videos•Total 32 minutes
- Intro•1 minute
- MQTT terminology•3 minutes
- MQTT network using the example of Subscriber and Publisher•7 minutes
- MQTT Topic Levels and Wildcard with CLI examples•4 minutes
- Quality of Service QoS•5 minutes
- Retained Messages•2 minutes
- Birth Death und Last Will•4 minutes
- MQTT Best Practices•4 minutes
- MQTT Explorer•3 minutes
1 assignment•Total 15 minutes
- MQTT Basics - Assessment•15 minutes
In this module, we will set up Node-RED to communicate with an MQTT broker, process incoming data, and store it in databases. You’ll learn how to configure Node-RED’s MQTT nodes, save IoT data in InfluxDB, and create interactive visualizations using Grafana.
What's included
5 videos1 assignment
5 videos•Total 26 minutes
- Intro•1 minute
- Broker settings and MQTT in & MQTT out•3 minutes
- Save data from Node-RED in InfluxDB•7 minutes
- First visualization of InfluxDB data in Grafana•4 minutes
- INSERT and SELECT with MariaDB•11 minutes
1 assignment•Total 15 minutes
- Setup Node-RED - Assessment•15 minutes
In this module, we will create a foundational ESP32 sketch for connecting to WiFi and an MQTT broker. You’ll learn how to send and receive JSON data, control LEDs via MQTT messages, and integrate development tools like VS Code with PlatformIO and the Arduino IDE.
What's included
7 videos1 assignment
7 videos•Total 40 minutes
- Intro•1 minute
- Recommendation VS Code with PlatformIO•4 minutes
- LED Blink without delay•5 minutes
- WiFi and MQTT Connection•8 minutes
- Switch LED with MQTT•9 minutes
- Send and receive JSON•9 minutes
- Transfer source code from VS Code for Arduino IDE•3 minutes
1 assignment•Total 15 minutes
- Basic sketch with ESP32 for WIFI and MQTT - Assessment•15 minutes
In this module, we will build a mini weather station using ESP32 and sensors like BMP180 and BH1750. You’ll learn how to collect environmental data, transmit it via MQTT, visualize it in Grafana, and use hysteresis for intelligent fan control.
What's included
11 videos1 assignment
11 videos•Total 43 minutes
- Intro•1 minute
- Wiring•2 minutes
- Basic Sketch•2 minutes
- BMP180 Temperature and barometric pressure•6 minutes
- BH1750 Light sensor•3 minutes
- Transmit sensor data to Node-RED•4 minutes
- Save data in InfluxDB•4 minutes
- Visualize data in Grafana•6 minutes
- Controlling a fan with MQTT•5 minutes
- Control fan with hysteresis•7 minutes
- Temperature values and hysteresis•3 minutes
1 assignment•Total 15 minutes
- Mini weather station - Assessment•15 minutes
In this module, we will display weather data on an e-ink screen using ESP32. You’ll learn how to retrieve data via REST APIs, process JSON, format text and graphics, and implement deep sleep mode to extend battery life.
What's included
15 videos1 assignment
15 videos•Total 60 minutes
- Intro•1 minute
- Wiring•2 minutes
- PlatformIO and XIAO ESP32•3 minutes
- E-Ink Hello World•5 minutes
- Align text and adjust font•4 minutes
- Convert and embed graphics•5 minutes
- Display text and graphic together•4 minutes
- Weather data REST API•3 minutes
- Use REST APIs in Node-RED•3 minutes
- JSON editing•4 minutes
- Formatting date and other variables•7 minutes
- ESP32 requests new data•9 minutes
- Deepsleep•6 minutes
- Calculate power consumption•4 minutes
- 3D printed housing•1 minute
1 assignment•Total 15 minutes
- Visualize weather data on the e-ink display - Assessment•15 minutes
In this module, we will turn an ESP32-Cam into a smart surveillance camera. You’ll learn how to capture images, send them via MQTT, and display them in Node-RED. We’ll also implement motion-triggered alerts via Telegram for real-time security monitoring.
What's included
9 videos1 assignment
9 videos•Total 33 minutes
- Intro•1 minute
- Wiring•3 minutes
- CameraWebServer Example•5 minutes
- Send Picture via MQTT•8 minutes
- Display photos in Node-RED•2 minutes
- Deepsleep and motion sensor as surveillance camera•3 minutes
- Telegram Token and Node-RED implementation•4 minutes
- Save photo on server•2 minutes
- Send photo via Telegram when motion detector is triggered•5 minutes
1 assignment•Total 15 minutes
- Surveillance camera with ESP32-Cam incl. Machine-Learning Node - Assessment•15 minutes
In this module, we will use an RFID reader to log time records and store them in a database. You’ll learn how to interact with Node-RED, TimeTagger, and a web API to automate time-tracking tasks efficiently.
What's included
10 videos1 assignment
10 videos•Total 52 minutes
- Intro•1 minute
- Wiring•1 minute
- Read RFID ID•9 minutes
- Connection to Node-RED•4 minutes
- LED checkin checkout•3 minutes
- TimeTagger as Container with docker-compose•6 minutes
- TimeTagger Web API with HTTP Requests•6 minutes
- PUT Record via WEB API•8 minutes
- Using a Flatfile for saving checkin on server•4 minutes
- Send Record to WEB API•9 minutes
1 assignment•Total 15 minutes
- Time recording with RFID and TimeTagger - Assessment•15 minutes
In this module, we will create an automated plant watering system with ESP32. You’ll learn how to control relays via MQTT, measure water levels with an ultrasonic sensor, store data in MariaDB, and visualize it on a dashboard.
What's included
14 videos1 assignment
14 videos•Total 74 minutes
- Intro•1 minute
- Wiring•2 minutes
- Flow Chart•4 minutes
- Basic structure with enums•5 minutes
- MQTT communication with Node-RED and ESP32•6 minutes
- Globals.h for global variables•4 minutes
- Switch on relay via MQTT for 3 seconds•8 minutes
- Evaluate and transmit fill level with ultrasound•9 minutes
- Create MariaDB table and use database node•3 minutes
- Store water level information in MariaDB•4 minutes
- Time interval for watering•9 minutes
- Monitor water tank level•3 minutes
- DeepSleep to save power•7 minutes
- Visualization of data on Dashboard•9 minutes
1 assignment•Total 15 minutes
- Time-controlled plant watering with water level monitoring - Assessment•15 minutes
In this module, we will work with smart plugs and relays to automate energy management. You’ll learn how to flash and configure Tasmota, control devices using Node-RED, and visualize energy data in Grafana for efficient monitoring.
What's included
10 videos1 assignment
10 videos•Total 53 minutes
- Intro•1 minute
- Flashing Tasmota•4 minutes
- Configure Tasmota•4 minutes
- Switching Tasmota sockets with Node-Red•5 minutes
- Read sensor data from Smart Plug•2 minutes
- Save energy data in InfluxDB and visualize in Grafana•6 minutes
- Shelly 1PM Setup•4 minutes
- Shelly and Node-RED via RPC•10 minutes
- Toggle Shelly with Node-RED•4 minutes
- Relay temperature monitoring with telegram notification•12 minutes
1 assignment•Total 15 minutes
- Smart plugs and relays - Assessment•15 minutes
In this module, we will build a battery-powered IoT button using ESP32 XIAO. You’ll learn how to implement low-power strategies, toggle functions in Node-RED, and calculate battery consumption for extended operation.
What's included
4 videos1 assignment
4 videos•Total 13 minutes
- Intro•1 minute
- ESP8266 vs ESP32 XIAO•3 minutes
- IoTButton Sketch and Toggle Node•7 minutes
- 3D print and Calculation Battery Consumption•3 minutes
1 assignment•Total 15 minutes
- Mini IoT Button with 100 days battery life - Assessment•15 minutes
In this module, we will create an ESP32-based internet radio. You’ll learn how to stream online stations, control playback using MQTT, and set up a dashboard for scheduling alarms and managing audio settings.
What's included
6 videos1 assignment
6 videos•Total 15 minutes
- Intro•1 minute
- Wiring•1 minute
- Include Libraries•1 minute
- Internet radio stations•4 minutes
- Control Radio via MQTT•6 minutes
- Setting the alarm time and Dashboard•2 minutes
1 assignment•Total 15 minutes
- Internet Radio - Assessment•15 minutes
In this module, we will enhance MQTT security using TLS encryption. You’ll learn how to configure SSL certificates, mount them in Docker, and analyze encrypted traffic with Wireshark.
What's included
6 videos1 assignment
6 videos•Total 23 minutes
- Intro•1 minute
- DynDNS and Certbot•5 minutes
- Mount Cert files in Docker•4 minutes
- mosquitto.conf and NodeRED Broker Settings•6 minutes
- ESP32 and MQTT with TLS•3 minutes
- Analyze MQTT Traffic with Wireshark•3 minutes
1 assignment•Total 15 minutes
- MQTT with TLS - Assessment•15 minutes
In this module, we will recap all the concepts and projects covered throughout the course. You’ll receive final insights from the instructor and recommendations for future IoT development.
What's included
2 videos3 assignments
2 videos•Total 4 minutes
- Summary of all learnings•4 minutes
- Thank you and see you soon•0 minutes
3 assignments•Total 90 minutes
- Full Course Practice Assessment•15 minutes
- Conclusion - Assessment•15 minutes
- Full Course Assessment•60 minutes
Instructor
Explore more from Networking
- Status: Free Trial
- Status: Free Trial
Course
- Status: PreviewP
Pohang University of Science and Technology(POSTECH)
Course
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
