Steve’s Guide to Networking, IoT and the MQTT Protocol

Welcome to Steve’s Guide to Networking and IoT, your ultimate resource for mastering internet technologies, networking protocols, and IoT systems.

Whether you’re a beginner eager to understand the basics or a professional looking to expand your technical expertise, this guide offers clear, practical tutorials with a particular emphasis on networking protocols and the Internet of Things (IoT).

Key topics covered include:

MQTT Protocol: Detailed analyses of MQTT protocol packet structures, security mechanisms, and practical applications such as sending and receiving JSON data over MQTT with Python.

MQTT-SN Protocol:Detailed analyses of MQTT protocol packet structures, and example usage using the Python client.

IPv4 Addressing: An exploration of IPv4 address classes, their usage, and special IP addresses.
Steve’s Internet Guide

DNS: Beginner-friendly guides explaining the Domain Name System (DNS) and its role in translating domain names to IP addresses.
Steve’s Internet Guide

IoT Networking and Messaging Protocols: Overviews of networking and application protocols commonly used in IoT development.

Learning Approach:

The site prioritizes a hands-on, example-driven learning methodology, ensuring users can immediately apply what they learn. Tutorials include clear explanations, diagrams, code snippets, and downloadable resources to reinforce understanding.

Audience:

Steve’s Internet Guide is ideal for:

  • Network engineers and IT professionals.
  • IoT developers and enthusiasts.
  • Students and hobbyists eager to learn networking and internet technologies.

This site and newsletter is dedicated to help you learn and master basic networking, protocols like MQTT and MQTT-SN , and use them in your IoT applications.

Sign Up for Steve’s Latest Posts and stay in touch.

Getting Started With MQTT

I Recommend you start your journey into MQTT with the short MQTT course.

Projects

I am constantly working on IOT/MQTT educational projects which I share on my projects page.

I do also undertake commercial projects from time time. If you need assistance then please use the ask steve page

Latest Posts

Understanding MQTT Birth and Death Messages (with Examples)

When designing reliable systems using MQTT (Message Queuing Telemetry Transport), it’s important to know whether your devices are online.

Birth and Death messages are special messages that help communicate the state of a device to other clients in a MQTT network. (more…)

Please rate? And use Comments to let me know more

HTTP vs MQTT for IOT Devices

Most IOT devices can use both the  HTTP and MQTT protocols to communicate with IOT  control systems.

The HTTP protocol is generally used for initial  device set up.

However when it comes to sending device data and for subsequent device control HTTP is not usually the best protocol. (more…)

Please rate? And use Comments to let me know more

Design A Network of 100s of MQTT Parking lot Sensors

Task -Design an MQTT topic and security structure with Mosquitto as the MQTT broker for a network of 100s of Parking lot sensors.

Overview

In this design example we take the case of a network of parking sensors. Sensors will be sending an occupied/unoccupied state message as well as supplementary information like battery level,signal level IP address etc. (more…)

Please rate? And use Comments to let me know more

Python Broker Checker

Python Broker checker

I have developed a number of tools for monitoring MQTT brokers that use node-red.

The reason for using node-red is that it is easy to use, and comes with a dashboard.

However when it comes to monitoring multiple brokers it gets complicated.

My solution it to do the monitoring using Python and then use node-red to log and display the results. (more…)

Please rate? And use Comments to let me know more

Paho MQTT Python Client Version 2

The Paho MQTT python client version 2 introduced some changes that break easier scripts.

All of the scripts currently available on this site used the 1.5 to 1.6 client version and so if you upgrade to the new version you will need to make changes to these scripts. (more…)

Please rate? And use Comments to let me know more

How to use the Mosquitto Broker with IPv6

mosquitto-ipv6You can connect to the Mosquitto broker using IPV6 as well as IPv4 provided IPv6 is enabled on your machine.

When you start mosquitto using a basic configuration file like the one shown below mosquitto will listen for connections on both  IPv4 and IPv6. (more…)

Please rate? And use Comments to let me know more

Using the ArduinoMQTT Client Library

arduinoThere are several  MQTT clients available for Arduino and we are going to use the PubSub MQTT client.

Before you can use this client you need to install it into the Arduino Library.

Go to the Library manager and so a search for MQTT. You will find quite a few listings scroll down the select the ArduinoMQTT client. (more…)

Please rate? And use Comments to let me know more

MQTT C client – Connect, pub and subscribe,Single Thread

mqtt-c-clientIn This tutorial we will look in more detail on how to connect , publish and subscribe using the MQTT v 3.1.1 client synchronous client using a single thread.

We will not be using callbacks. If you use callbacks then second thread is started automatically to process the callbacks. (more…)

Please rate? And use Comments to let me know more

MQTT-SN QOS 3 to MQTT Gateway Using Node-Red

MQTT-SN works in a similar manor to MQTT and normally requires a connection to a broker/gateway before it can exchange messages.

MQTT-SN uses UDP which is a connectionless protocol the connection is actually a virtual connection.

However because MQTT-SN uses UDP , MQTT-SN also provides the ability to publish message without requiring a connection to a broker or gateway using a message with a QOS of 3 or -1.

(more…)

Please rate? And use Comments to let me know more

You will find All the latest Tutorials on the blog