Bird
Raised Fist0
IOT Protocolsdevops~15 mins

Device classes (A, B, C) in IOT Protocols - Mini Project: Build & Apply

Choose your learning style10 modes available
Understanding LoRaWAN Device Classes (A, B, C)
📖 Scenario: You are working with LoRaWAN devices that communicate wirelessly. These devices belong to different classes: A, B, and C. Each class has a specific way of sending and receiving messages. Understanding these classes helps you manage device communication efficiently.
🎯 Goal: Build a simple program that stores device information with their classes, sets a target class to filter, selects devices of that class, and then displays the filtered list.
📋 What You'll Learn
Create a dictionary called devices with device IDs as keys and their classes ('A', 'B', or 'C') as values
Create a variable called target_class and set it to a specific class string ('A', 'B', or 'C')
Use a dictionary comprehension to create a new dictionary filtered_devices containing only devices of the target_class
Print the filtered_devices dictionary
💡 Why This Matters
🌍 Real World
LoRaWAN devices use classes A, B, and C to manage how they communicate. Filtering devices by class helps network operators send messages efficiently and save battery life.
💼 Career
Understanding device classes and filtering techniques is important for IoT engineers and DevOps professionals managing wireless sensor networks.
Progress0 / 4 steps
1
Create the devices dictionary
Create a dictionary called devices with these exact entries: 'dev1': 'A', 'dev2': 'B', 'dev3': 'C', 'dev4': 'A', 'dev5': 'B'
IOT Protocols
Hint

Use curly braces to create a dictionary with keys as device IDs and values as their classes.

2
Set the target device class
Create a variable called target_class and set it to the string 'A'
IOT Protocols
Hint

Assign the string 'A' to the variable named target_class.

3
Filter devices by target class
Use a dictionary comprehension to create a new dictionary called filtered_devices that contains only the devices from devices whose class matches target_class
IOT Protocols
Hint

Use a dictionary comprehension with for device, cls in devices.items() and an if condition to filter.

4
Display the filtered devices
Write a print statement to display the filtered_devices dictionary
IOT Protocols
Hint

Use print(filtered_devices) to show the filtered dictionary.

Practice

(1/5)
1. Which device class in IoT protocols listens only right after it sends data to save battery?
easy
A. Class D
B. Class B
C. Class C
D. Class A

Solution

  1. Step 1: Understand device class listening behavior

    Class A devices listen only after sending data to save battery life.
  2. Step 2: Compare with other classes

    Class B listens at scheduled times, Class C listens almost always, and Class D is not defined.
  3. Final Answer:

    Class A -> Option D
  4. Quick Check:

    Listening only after sending = Class A [OK]
Hint: Class A listens only after sending data to save battery [OK]
Common Mistakes:
  • Confusing Class A with Class B's scheduled listening
  • Thinking Class C saves battery by listening less
  • Assuming Class D exists in standard classes
2. Which of the following is the correct description of Class B devices in IoT?
easy
A. Listen almost all the time for quick reactions
B. Listen only after sending data
C. Listen at scheduled times to balance battery and responsiveness
D. Do not listen at all

Solution

  1. Step 1: Recall Class B listening pattern

    Class B devices listen at scheduled times to balance battery use and responsiveness.
  2. Step 2: Eliminate incorrect options

    Class A listens only after sending, Class C listens almost always, and Class D is invalid.
  3. Final Answer:

    Listen at scheduled times to balance battery and responsiveness -> Option C
  4. Quick Check:

    Scheduled listening = Class B [OK]
Hint: Class B listens on schedule, balancing battery and response [OK]
Common Mistakes:
  • Mixing Class B with Class A's listening behavior
  • Assuming Class B listens all the time like Class C
  • Choosing invalid Class D option
3. Given a device that must react instantly to commands but can afford higher battery use, which class is it likely to be?
medium
A. Class C
B. Class A
C. Class B
D. Class A or B

Solution

  1. Step 1: Identify device needs

    The device needs instant reaction and can use more battery.
  2. Step 2: Match device class

    Class C listens almost all the time, allowing quick reactions but uses more battery.
  3. Final Answer:

    Class C -> Option A
  4. Quick Check:

    Instant reaction + high battery = Class C [OK]
Hint: Instant reaction means Class C listens almost always [OK]
Common Mistakes:
  • Choosing Class A which saves battery but delays listening
  • Confusing Class B's scheduled listening with instant
  • Selecting multiple classes when only one fits
4. A developer configures a device to listen continuously but notices battery drains too fast. Which class did they likely configure incorrectly?
medium
A. Class B
B. Class C
C. Class A
D. Class D

Solution

  1. Step 1: Analyze battery drain cause

    Continuous listening causes high battery use.
  2. Step 2: Identify device class

    Class C listens almost all the time, causing battery drain if not expected.
  3. Final Answer:

    Class C -> Option B
  4. Quick Check:

    Continuous listening = Class C [OK]
Hint: Continuous listening drains battery: Class C [OK]
Common Mistakes:
  • Assuming Class A listens continuously
  • Confusing Class B's scheduled listening with continuous
  • Selecting non-existent Class D
5. You need to design an IoT device that must save battery but still receive commands within a predictable time window. Which device class should you choose and why?
hard
A. Class B, because it listens at scheduled times balancing battery and responsiveness
B. Class C, because it listens almost all the time for instant commands
C. Class A, because it listens only after sending data
D. Class A or C, depending on network conditions

Solution

  1. Step 1: Understand design requirements

    The device must save battery but receive commands predictably.
  2. Step 2: Match device class to requirements

    Class B listens at scheduled times, balancing battery use and predictable command reception.
  3. Step 3: Eliminate other options

    Class A listens only after sending, so commands may be delayed unpredictably; Class C uses too much battery; Class D is invalid.
  4. Final Answer:

    Class B, because it listens at scheduled times balancing battery and responsiveness -> Option A
  5. Quick Check:

    Battery saving + predictable listening = Class B [OK]
Hint: Scheduled listening balances battery and command timing: Class B [OK]
Common Mistakes:
  • Choosing Class A which may miss commands unpredictably
  • Selecting Class C which wastes battery
  • Confusing multiple classes as correct
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