Bird
Raised Fist0
IOT Protocolsdevops~5 mins

Topics and topic hierarchy in IOT Protocols - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a 'topic' in IoT messaging protocols like MQTT?
A topic is a label or address used to organize and route messages between devices. It acts like a channel name where messages are published and subscribed.
Click to reveal answer
beginner
How does a topic hierarchy help in IoT communication?
A topic hierarchy organizes topics in a tree-like structure, allowing devices to subscribe to broad or specific message categories easily.
Click to reveal answer
beginner
What symbol is commonly used as a separator in topic hierarchies?
The forward slash '/' is used to separate levels in a topic hierarchy, like folders in a file system.
Click to reveal answer
intermediate
What does subscribing to 'home/+/temperature' mean in MQTT?
It means subscribing to all topics that have 'home' as the first level, any single word as the second level, and 'temperature' as the third level. The '+' is a wildcard for one level.
Click to reveal answer
intermediate
What is the difference between '+' and '#' wildcards in topic subscriptions?
'+' matches exactly one level in the topic hierarchy, while '#' matches all remaining levels, including zero or more levels.
Click to reveal answer
Which character is used to separate levels in an MQTT topic hierarchy?
A/
B.
C-
D_
What does the MQTT topic 'sensors/+/humidity' subscribe to?
AAll humidity data from any sensor
BOnly humidity data from sensor named '+'
CAll sensors with 'humidity' as the first level
DAll topics starting with 'sensors/humidity'
What does the '#' wildcard represent in MQTT topic subscriptions?
AMatches exactly one level
BMatches only the root topic
CMatches zero or more levels
DMatches no levels
Why use a topic hierarchy in IoT messaging?
ATo reduce message size
BTo encrypt messages
CTo speed up device hardware
DTo organize messages for easier filtering
Which topic would match the subscription 'home/#'?
Aoffice/kitchen/temperature
BBoth C and D
Chome
Dhome/kitchen/temperature
Explain what a topic hierarchy is and how it helps in IoT messaging.
Think of it like folders and subfolders organizing files.
You got /4 concepts.
    Describe the difference between '+' and '#' wildcards in MQTT topic subscriptions.
    One is for a single folder, the other for many folders.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of topics in IoT protocols like MQTT?
      easy
      A. To encrypt messages for security
      B. To store device firmware
      C. To organize messages in a clear, folder-like structure
      D. To control device power settings

      Solution

      1. Step 1: Understand the role of topics

        Topics act like folders to organize messages so devices know where to send or receive data.
      2. Step 2: Compare options with topic function

        Only organizing messages matches the purpose of topics; encryption and firmware storage are unrelated.
      3. Final Answer:

        To organize messages in a clear, folder-like structure -> Option C
      4. Quick Check:

        Topics organize messages = B [OK]
      Hint: Topics are like folders for messages [OK]
      Common Mistakes:
      • Confusing topics with security features
      • Thinking topics store device data
      • Mixing topics with device settings
      2. Which of the following is the correct way to write a topic with three levels?
      easy
      A. home-kitchen-temperature
      B. home.kitchen.temperature
      C. home\kitchen\temperature
      D. home/kitchen/temperature

      Solution

      1. Step 1: Recall topic level separator

        Topics use slashes (/) to separate levels, like folders in a path.
      2. Step 2: Check each option's separator

        Only home/kitchen/temperature uses slashes correctly; others use dots, backslashes, or dashes which are incorrect.
      3. Final Answer:

        home/kitchen/temperature -> Option D
      4. Quick Check:

        Topic levels separated by '/' = A [OK]
      Hint: Use slashes (/) to separate topic levels [OK]
      Common Mistakes:
      • Using dots instead of slashes
      • Using backslashes which are invalid
      • Using dashes instead of separators
      3. Given the topic building1/floor2/room3/sensor, which part represents the third level?
      medium
      A. room3
      B. floor2
      C. building1
      D. sensor

      Solution

      1. Step 1: Split the topic by slashes

        Splitting 'building1/floor2/room3/sensor' by '/' gives ['building1', 'floor2', 'room3', 'sensor'].
      2. Step 2: Identify the third element

        The third element (index 2) is 'room3'.
      3. Final Answer:

        room3 -> Option A
      4. Quick Check:

        Third level = room3 = C [OK]
      Hint: Count levels separated by '/' to find position [OK]
      Common Mistakes:
      • Counting from zero incorrectly
      • Choosing first or second level by mistake
      • Confusing last level with third
      4. Identify the error in this topic string: home//livingroom/temperature
      medium
      A. Double slash creates an empty level
      B. Missing slash between 'home' and 'livingroom'
      C. Topic levels must use dots, not slashes
      D. Topic cannot contain the word 'temperature'

      Solution

      1. Step 1: Analyze the topic string

        The string 'home//livingroom/temperature' has two slashes together, meaning an empty level between them.
      2. Step 2: Understand topic level rules

        Empty levels are invalid because each level should have a name; double slashes cause this error.
      3. Final Answer:

        Double slash creates an empty level -> Option A
      4. Quick Check:

        Double slash = empty level error = A [OK]
      Hint: Avoid double slashes to prevent empty topic levels [OK]
      Common Mistakes:
      • Ignoring empty levels caused by double slashes
      • Thinking dots are required separators
      • Believing certain words are forbidden in topics
      5. You want to subscribe to all sensors in any room on floor 1 of building 2 using MQTT topics. Which subscription topic should you use?
      hard
      A. building2/floor1/*/sensor
      B. building2/floor1/+/sensor
      C. building2/floor1/room1/sensor
      D. building2/floor1/#/sensor

      Solution

      1. Step 1: Understand MQTT wildcards

        The '+' wildcard matches exactly one level, while '#' matches all remaining levels.
      2. Step 2: Analyze the subscription needs

        We want any room on floor1, so '+' replaces the room level. '#' would match too many levels, and '*' is invalid in MQTT.
      3. Final Answer:

        building2/floor1/+/sensor -> Option B
      4. Quick Check:

        '+' wildcard for one level = D [OK]
      Hint: Use '+' for single-level wildcard in MQTT topics [OK]
      Common Mistakes:
      • Using '#' when only one level is needed
      • Using '*' which is not a valid MQTT wildcard
      • Specifying exact room instead of wildcard
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard