VOOZH about

URL: https://www.coursera.org/learn/packt-node-red-iot-projects-with-esp32-mqtt-and-docker

⇱ Node-RED: IoT projects with ESP32, MQTT and Docker | Coursera


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

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

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

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

17 assignments

Taught in English

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 videosTotal 9 minutes
  • Promo2 minutes
  • About me1 minute
  • Prerequisites1 minute
  • Sketch, Code examples and flows1 minute
  • The basic sketch - start of every project1 minute
  • Making instead of lecturing2 minutes
  • Disclaimer2 minutes
1 readingTotal 10 minutes
  • Full Course Resources10 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 videosTotal 94 minutes
  • Intro1 minute
  • Why Docker?3 minutes
  • Get a vServer5 minutes
  • Docker Installation4 minutes
  • Docker CLI using the example of Focalboard5 minutes
  • Portainer6 minutes
  • Mosquitto Broker6 minutes
  • Run Mosquitto in the Container3 minutes
  • ohmyz for more convenient terminal handling2 minutes
  • Mosquitto Broker with PW authentication6 minutes
  • Node-RED5 minutes
  • Node-RED with authentication5 minutes
  • InfluxDB4 minutes
  • Grafana3 minutes
  • MariaDB and create a DB via CLI4 minutes
  • Adminer3 minutes
  • Update Docker Container2 minutes
  • Traefik as reverse proxy for SSL access12 minutes
  • SSL for Node-RED with Traefik Labels6 minutes
  • Cronjobs for backup routines3 minutes
  • Backup of Node-RED Flows via Cronjob6 minutes
1 assignmentTotal 15 minutes
  • Install all programs as containers - Assessment15 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 videosTotal 34 minutes
  • Intro0 minutes
  • Separation of tasks of software and hardware2 minutes
  • First overview of flow and nodes6 minutes
  • Overwrite Payload with Function Node9 minutes
  • Process JSON4 minutes
  • Context, flow and global variables8 minutes
  • So many nodes3 minutes
1 assignmentTotal 15 minutes
  • First overview of Node-RED - Assessment15 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 videosTotal 32 minutes
  • Intro1 minute
  • MQTT terminology3 minutes
  • MQTT network using the example of Subscriber and Publisher7 minutes
  • MQTT Topic Levels and Wildcard with CLI examples4 minutes
  • Quality of Service QoS5 minutes
  • Retained Messages2 minutes
  • Birth Death und Last Will4 minutes
  • MQTT Best Practices4 minutes
  • MQTT Explorer3 minutes
1 assignmentTotal 15 minutes
  • MQTT Basics - Assessment15 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 videosTotal 26 minutes
  • Intro1 minute
  • Broker settings and MQTT in & MQTT out3 minutes
  • Save data from Node-RED in InfluxDB7 minutes
  • First visualization of InfluxDB data in Grafana4 minutes
  • INSERT and SELECT with MariaDB11 minutes
1 assignmentTotal 15 minutes
  • Setup Node-RED - Assessment15 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 videosTotal 40 minutes
  • Intro1 minute
  • Recommendation VS Code with PlatformIO4 minutes
  • LED Blink without delay5 minutes
  • WiFi and MQTT Connection8 minutes
  • Switch LED with MQTT9 minutes
  • Send and receive JSON9 minutes
  • Transfer source code from VS Code for Arduino IDE3 minutes
1 assignmentTotal 15 minutes
  • Basic sketch with ESP32 for WIFI and MQTT - Assessment15 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 videosTotal 43 minutes
  • Intro1 minute
  • Wiring2 minutes
  • Basic Sketch2 minutes
  • BMP180 Temperature and barometric pressure6 minutes
  • BH1750 Light sensor3 minutes
  • Transmit sensor data to Node-RED4 minutes
  • Save data in InfluxDB4 minutes
  • Visualize data in Grafana6 minutes
  • Controlling a fan with MQTT5 minutes
  • Control fan with hysteresis7 minutes
  • Temperature values and hysteresis3 minutes
1 assignmentTotal 15 minutes
  • Mini weather station - Assessment15 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 videosTotal 60 minutes
  • Intro1 minute
  • Wiring2 minutes
  • PlatformIO and XIAO ESP323 minutes
  • E-Ink Hello World5 minutes
  • Align text and adjust font4 minutes
  • Convert and embed graphics5 minutes
  • Display text and graphic together4 minutes
  • Weather data REST API3 minutes
  • Use REST APIs in Node-RED3 minutes
  • JSON editing4 minutes
  • Formatting date and other variables7 minutes
  • ESP32 requests new data9 minutes
  • Deepsleep6 minutes
  • Calculate power consumption4 minutes
  • 3D printed housing1 minute
1 assignmentTotal 15 minutes
  • Visualize weather data on the e-ink display - Assessment15 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 videosTotal 33 minutes
  • Intro1 minute
  • Wiring3 minutes
  • CameraWebServer Example5 minutes
  • Send Picture via MQTT8 minutes
  • Display photos in Node-RED2 minutes
  • Deepsleep and motion sensor as surveillance camera3 minutes
  • Telegram Token and Node-RED implementation4 minutes
  • Save photo on server2 minutes
  • Send photo via Telegram when motion detector is triggered5 minutes
1 assignmentTotal 15 minutes
  • Surveillance camera with ESP32-Cam incl. Machine-Learning Node - Assessment15 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 videosTotal 52 minutes
  • Intro1 minute
  • Wiring1 minute
  • Read RFID ID9 minutes
  • Connection to Node-RED4 minutes
  • LED checkin checkout3 minutes
  • TimeTagger as Container with docker-compose6 minutes
  • TimeTagger Web API with HTTP Requests6 minutes
  • PUT Record via WEB API8 minutes
  • Using a Flatfile for saving checkin on server4 minutes
  • Send Record to WEB API9 minutes
1 assignmentTotal 15 minutes
  • Time recording with RFID and TimeTagger - Assessment15 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 videosTotal 74 minutes
  • Intro1 minute
  • Wiring2 minutes
  • Flow Chart4 minutes
  • Basic structure with enums5 minutes
  • MQTT communication with Node-RED and ESP326 minutes
  • Globals.h for global variables4 minutes
  • Switch on relay via MQTT for 3 seconds8 minutes
  • Evaluate and transmit fill level with ultrasound9 minutes
  • Create MariaDB table and use database node3 minutes
  • Store water level information in MariaDB4 minutes
  • Time interval for watering9 minutes
  • Monitor water tank level3 minutes
  • DeepSleep to save power7 minutes
  • Visualization of data on Dashboard9 minutes
1 assignmentTotal 15 minutes
  • Time-controlled plant watering with water level monitoring - Assessment15 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 videosTotal 53 minutes
  • Intro1 minute
  • Flashing Tasmota4 minutes
  • Configure Tasmota4 minutes
  • Switching Tasmota sockets with Node-Red5 minutes
  • Read sensor data from Smart Plug2 minutes
  • Save energy data in InfluxDB and visualize in Grafana6 minutes
  • Shelly 1PM Setup4 minutes
  • Shelly and Node-RED via RPC10 minutes
  • Toggle Shelly with Node-RED4 minutes
  • Relay temperature monitoring with telegram notification12 minutes
1 assignmentTotal 15 minutes
  • Smart plugs and relays - Assessment15 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 videosTotal 13 minutes
  • Intro1 minute
  • ESP8266 vs ESP32 XIAO3 minutes
  • IoTButton Sketch and Toggle Node7 minutes
  • 3D print and Calculation Battery Consumption3 minutes
1 assignmentTotal 15 minutes
  • Mini IoT Button with 100 days battery life - Assessment15 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 videosTotal 15 minutes
  • Intro1 minute
  • Wiring1 minute
  • Include Libraries1 minute
  • Internet radio stations4 minutes
  • Control Radio via MQTT6 minutes
  • Setting the alarm time and Dashboard2 minutes
1 assignmentTotal 15 minutes
  • Internet Radio - Assessment15 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 videosTotal 23 minutes
  • Intro1 minute
  • DynDNS and Certbot5 minutes
  • Mount Cert files in Docker4 minutes
  • mosquitto.conf and NodeRED Broker Settings6 minutes
  • ESP32 and MQTT with TLS3 minutes
  • Analyze MQTT Traffic with Wireshark3 minutes
1 assignmentTotal 15 minutes
  • MQTT with TLS - Assessment15 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 videosTotal 4 minutes
  • Summary of all learnings4 minutes
  • Thank you and see you soon0 minutes
3 assignmentsTotal 90 minutes
  • Full Course Practice Assessment15 minutes
  • Conclusion - Assessment15 minutes
  • Full Course Assessment60 minutes

Instructor

Offered by

Explore more from Networking

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

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.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,