📖 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
Step 1: Understand device class listening behavior
Class A devices listen only after sending data to save battery life.
Step 2: Compare with other classes
Class B listens at scheduled times, Class C listens almost always, and Class D is not defined.
Final Answer:
Class A -> Option D
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
Step 1: Recall Class B listening pattern
Class B devices listen at scheduled times to balance battery use and responsiveness.
Step 2: Eliminate incorrect options
Class A listens only after sending, Class C listens almost always, and Class D is invalid.
Final Answer:
Listen at scheduled times to balance battery and responsiveness -> Option C
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
Step 1: Identify device needs
The device needs instant reaction and can use more battery.
Step 2: Match device class
Class C listens almost all the time, allowing quick reactions but uses more battery.
Final Answer:
Class C -> Option A
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
Step 1: Analyze battery drain cause
Continuous listening causes high battery use.
Step 2: Identify device class
Class C listens almost all the time, causing battery drain if not expected.
Final Answer:
Class C -> Option B
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
Step 1: Understand design requirements
The device must save battery but receive commands predictably.
Step 2: Match device class to requirements
Class B listens at scheduled times, balancing battery use and predictable command reception.
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.
Final Answer:
Class B, because it listens at scheduled times balancing battery and responsiveness -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.