We may earn an affiliate commission when you visit our partners.
Viacheslav Kulakov

In this course, I will look at the main points that allow your devices to exchange messages with each other over the MQTT protocol.

Read more

In this course, I will look at the main points that allow your devices to exchange messages with each other over the MQTT protocol.

First, I will tell you about the MQTT protocol itself and the basic principles of its operation, I will explain what MQTT broker is. Then we will download and install the most popular MQTT mosquito broker for Windows and learn how to configure it. First we will do it on your machine, and then through the local network. Next, we will write a program for ESP32 that allows you to communicate with mosquitto broker, connect it via WiFi and test how the program works with mosquito broker. After that, we will install the mosquitto under linux on Raspberry Pi and connect ESP32 to it. We will also write a client that works through mosquito API, which you can embed into your programs.

And then we will learn how to work with the most popular cloud service for the Internet of Things Amazon Web Services IoT core. You will learn how to connect your devices to it and create a certificate and a policy for them. Next, we will modify our program for ESP32 so that it can work with the Amazon Web Services IoT Core. Then I'll show you how you can use one certificate and policy for multiple devices.

Enroll now

What's inside

Learning objectives

  • You will learn what mqtt is and how it works.
  • You will be able to install and configure the mosquito mqtt broker on windows pc and raspberry pi.
  • We will write a program for esp32 that works with mosquito broker.
  • You will learn how to work with amazon web services iot core, most popular mqtt cloud service.
  • We will modify the previously written program for esp32 so that your devices can work with aws iot core.
  • We will write the pub/sub client for windows and raspberry pi
  • You will learn how to generate your tls certificate and use it in your programs

Syllabus

Введение
Introduction to MQTT
Students will be able to perform the installation of mosquitto broker and connect ESP32 with it.
Installation and testing of mosquitto broker on Windows
Read more
Writing ESP32 arduino program to connect it with mosquitto broker
Adding pub/sub topics and authentification to the ESP32 programm
Installation the mosquitto broker on Linux Raspberry Pi
Mosquitto API: writing mosquitto client for Windows
Mosquitto API: mosquitto client for Linux Raspberry Pi

In this lecture, I will show how to generate TLS certificate and keys. Then we will test the mosquitto broker with them.

Mosquitto TLS: attaching the certificate and keys to client PC and EPS32 program
You will learn how to connect your ESP32 devices to AWS IoT core MQTT broker
AWS IoT core: creating thing, policy and certificate.
Connecting ESP32 devices to AWS IoT core

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides hands-on experience with ESP32, a popular microcontroller for IoT applications, allowing learners to build and deploy their own connected devices
Covers Amazon Web Services IoT Core, a widely used cloud platform for managing and scaling IoT deployments, which is valuable for professional development
Explores the MQTT protocol, which is a standard messaging protocol for IoT devices, and teaches learners how to implement it in practice
Utilizes Mosquitto broker, an open-source MQTT broker, providing learners with a cost-effective and customizable solution for their IoT projects
Teaches how to generate and use TLS certificates for secure communication between devices and brokers, which is essential for protecting sensitive data
Demonstrates how to install and configure Mosquitto broker on Raspberry Pi, enabling learners to use this popular platform for their IoT projects

Save this course

Save IoT in practice: MQTT to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in IoT in practice: MQTT with these activities:
Review Networking Fundamentals
Reviewing networking fundamentals will provide a solid foundation for understanding how MQTT works over TCP/IP networks.
Browse courses on TCP/IP
Show steps
  • Study the OSI model and TCP/IP stack.
  • Review common networking protocols like TCP, UDP, and IP.
  • Understand IP addressing and subnetting.
Review 'Building Wireless Sensor Networks'
Reading this book will provide a broader understanding of the IoT landscape and how MQTT fits into it.
Show steps
  • Read the chapters on network topologies and communication protocols.
  • Focus on the sections related to low-power wireless communication.
MQTT Command Line Practice
Practicing with MQTT command-line tools will improve your ability to quickly test and debug MQTT deployments.
Show steps
  • Install MQTT command-line clients (e.g., mosquitto_pub, mosquitto_sub).
  • Practice publishing and subscribing to different topics.
  • Experiment with different QoS levels and message payloads.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Review 'Practical Internet of Things Security'
Reading this book will provide a comprehensive understanding of IoT security and how to apply it to MQTT deployments.
Show steps
  • Read the chapters on authentication and authorization.
  • Focus on the sections related to encryption and vulnerability management.
Build a Simple MQTT-Based Sensor Network
Building a sensor network will allow you to apply your knowledge of MQTT and gain hands-on experience with IoT devices.
Show steps
  • Set up an MQTT broker on a Raspberry Pi.
  • Connect multiple ESP32 devices to the broker.
  • Publish sensor data from the ESP32 devices to the broker.
  • Create a dashboard to visualize the sensor data.
Write a Blog Post on MQTT Security Best Practices
Writing a blog post will help you solidify your understanding of MQTT security and share your knowledge with others.
Show steps
  • Research common MQTT security vulnerabilities.
  • Identify best practices for securing MQTT deployments.
  • Write a clear and concise blog post explaining these best practices.
Contribute to an Open-Source MQTT Library
Contributing to an open-source project will provide valuable experience with real-world MQTT implementations and collaborative development.
Show steps
  • Find an open-source MQTT library on GitHub or GitLab.
  • Identify a bug or feature request to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete IoT in practice: MQTT will develop knowledge and skills that may be useful to these careers:
IoT Developer
An IoT Developer builds software for devices connected to the Internet of Things. This course provides hands on skills for an IoT developer. The focus on MQTT helps an IoT developer understand how devices communicate. The course's coverage of writing programs for ESP32 and connecting them to MQTT brokers, as well as Amazon Web Services IoT Core, is very relevant to an IoT developer. The practical skills taught here build a strong foundation in this field. Any aspiring IoT developer should take this course.
IoT Solutions Architect
IoT Solutions Architects design the infrastructure that supports the Internet of Things, including the communication protocols and cloud integration. This course fits the skill set of an architect, especially with its detailed exploration of the MQTT protocol, which is critical for IoT deployments. The hands-on experience configuring MQTT brokers, developing clients, and connecting devices to Amazon Web Services IoT Core directly mirrors the tasks a solutions architect would oversee. A solutions architect would be expected to develop certificates, policies and handle configurations. The skills taught in this course are vital to this role. Anyone who wants to become an IoT solutions architect should consider taking this course.
Embedded Systems Engineer
An Embedded Systems Engineer develops and maintains the software within devices. This role requires a deep understanding of how devices communicate, especially in the context of the Internet of Things. This course, with its focus on the MQTT protocol, is directly relevant to developing communication capabilities for embedded systems. The practical experience with ESP32 microcontrollers and the creation of pub/sub clients will be immensely helpful. It further helps build a foundation for connecting devices to cloud services like Amazon Web Services IoT Core. The ability to configure brokers such as mosquitto is also essential to an embedded system engineer. Those seeking to become an embedded systems engineer should enroll in this course.
Systems Integrator
A Systems Integrator brings together different components to create a functional system. This course directly focuses on integrating devices using MQTT, which relates to systems integration. The course's content regarding MQTT brokers, the ESP32, and AWS IoT Core provides very practical knowledge for an integrator. Those working in systems integration may find that this course is useful.
Network Engineer
Network Engineers design and maintain the networks that allow devices to communicate. This course provides a deep knowledge of MQTT, a protocol often used in these networks. The course's focus on setting up an MQTT broker and connecting devices will help a network engineer build a strong base. The material within this course directly translates to configuration of network devices and their communication. A network engineer will need to be able to handle certificates, which this course also covers. This is a very useful course for anyone who wants to be a network engineer.
Cloud Engineer
Cloud Engineers build and maintain the infrastructure in the cloud, including the platforms for IoT. This course may be helpful to a Cloud Engineer because of its coverage of Amazon Web Services IoT Core. The course gives the necessary background for connecting devices to the cloud. The course's hands-on exercises in using cloud based MQTT brokers and generating certificates are of direct relevance to the role of a cloud engineer. Anyone who seeks to become a Cloud Engineer may find this course helpful.
Automation Engineer
An Automation Engineer designs and implements automated systems, often involving networked devices. This course provides specific knowledge of the MQTT protocol, which is often used in automation setups for efficient communication. The focus on configuring MQTT brokers and programs for devices provides practical skills relevant to to an automation engineer. The course provides an understanding of connecting networks and cloud services. An automation engineer should be familiar with processes such as those covered in this course. Anyone who wants to be an automation engineer may find this course to be helpful.
DevOps Engineer
A DevOps Engineer is responsible for the infrastructure, as well as the automation of software releases, deployment, and maintenance. This course's hands-on work with configuring MQTT brokers on both Windows and Raspberry Pi, as well as the deployment of services using AWS IoT Core, will be useful for a DevOps engineer. The course also talks about certificates and secure connections which a DevOps engineer may encounter. Anyone who wants to be a DevOps engineer may find this course to be helpful.
Technical Support Engineer
A Technical Support Engineer provides support for technical products, often including troubleshooting and configuration. This course covers how to configure and test the mosquitto broker on Windows as well as Raspberry Pi. It also covers how to prepare certificates, which are often the source of confusion during configuration. This course provides useful knowledge for those who want to be a technical support engineer. The knowledge of cloud configurations is an added bonus. Anyone seeking a role as technical support engineer may find this course useful.
Solutions Engineer
A Solutions Engineer works with clients to design and implement solutions, often involving integration of different technologies. This course contains specific knowledge of how devices communicate, and how different clouds can be used. The concepts of MQTT and working with AWS IoT Core gives a solutions engineer an edge. This course will help the engineer to describe the capabilities of IoT devices. Those wanting to be a solutions engineer may find that this course is useful.
Hardware Engineer
A Hardware Engineer designs and develops physical electronic hardware. While this role may not directly interact with software, the knowledge of communication protocols for IoT devices, given by this course, can be useful. Understanding the MQTT protocol, and how it interacts with hardware, helps engineers design better products. The ability to create programs for the ESP32, in this course, also helps provide practical knowledge. A hardware engineer will often be in contact with embedded systems, so this course may be useful.
IT Support Specialist
An IT Support Specialist provides technical assistance to end-users. This role often involves troubleshooting and resolving issues related to computer systems and networks. This course may be useful to an IT support specialist who is working in an environment that uses IoT devices and the MQTT protocol. The course provides information about setting up MQTT broker and testing certificates. This course may provide some value to an IT support specialist.
Research Scientist
A Research Scientist investigates emerging technologies and their applications. This course provides practical experience in setting up IoT communication using a specific protocol. The course's focus on MQTT and how it is used with AWS IoT Core is a very specific use case that may be researched. A research scientist would need to understand, in detail, how IoT devices connect to the internet. The information from this course may be helpful for those in this field.
Technical Project Manager
A Technical Project Manager oversees technical projects and teams. This course on IoT, while not directly related to the role, may be useful for a technical project manager who needs to be familiar with technical details regarding projects related to IoT. The project manager may need to plan integration, and an understanding of network protocols may help. This course may be useful to a technical project manager.
Data Scientist
A Data Scientist analyzes large datasets to extract insights. While this course focuses on IoT communication and setup, it does not cover data analysis. The course does not help build the skills required by a data scientist. Data scientists typically require a master's or PhD degree. For data scientists, this course may not be particularly relevant.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in IoT in practice: MQTT.
Provides a deep dive into the security challenges and solutions for IoT devices and systems. It covers topics such as authentication, authorization, encryption, and vulnerability management. It is particularly useful for understanding the security implications of MQTT and how to mitigate potential risks. This book is commonly used by industry professionals.
Provides a comprehensive overview of wireless sensor networks, which are often used in IoT applications. It covers topics such as network topologies, communication protocols, and hardware platforms. While not directly focused on MQTT, it provides valuable context for understanding the broader IoT ecosystem. This book is useful for additional reading to expand on the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser