📖 Scenario: You have a Raspberry Pi connected to a temperature sensor in your home. You want to keep track of the temperature over time to see patterns and make smart decisions, like turning on a fan when it gets too hot.
🎯 Goal: Build a simple program that logs temperature readings into a dictionary, sets a threshold for high temperature, filters the readings above that threshold, and finally prints those high temperature readings.
📋 What You'll Learn
Create a dictionary with exact temperature readings at specific times
Add a threshold variable for high temperature
Use a dictionary comprehension to filter readings above the threshold
Print the filtered high temperature readings
💡 Why This Matters
🌍 Real World
IoT devices like Raspberry Pi collect sensor data continuously. Logging this data helps monitor conditions and make decisions automatically.
💼 Career
Understanding data logging and filtering is key for roles in IoT development, DevOps, and system monitoring.
Progress0 / 4 steps
1
Create temperature data dictionary
Create a dictionary called temperature_readings with these exact entries: '08:00': 22, '12:00': 28, '16:00': 31, '20:00': 26
Raspberry Pi
Hint
Use curly braces {} to create a dictionary with time keys and temperature values.
2
Set high temperature threshold
Create a variable called high_temp_threshold and set it to 30
Raspberry Pi
Hint
Just assign the number 30 to the variable high_temp_threshold.
3
Filter high temperature readings
Use a dictionary comprehension to create a new dictionary called high_temps that contains only the entries from temperature_readings where the temperature is greater than high_temp_threshold
Raspberry Pi
Hint
Use {key: value for key, value in dict.items() if condition} to filter the dictionary.
4
Print high temperature readings
Write a print statement to display the high_temps dictionary
Raspberry Pi
Hint
Use print(high_temps) to show the filtered dictionary.
Practice
(1/5)
1. Why is data logging important for IoT devices like Raspberry Pi sensors?
easy
A. It automatically updates the device software.
B. It makes the device run faster instantly.
C. It reduces the power consumption of the device.
D. It helps track device activity and detect problems over time.
Solution
Step 1: Understand the purpose of data logging
Data logging records information from devices continuously or at intervals.
Step 2: Identify benefits for IoT devices
This recorded data helps track device activity and find issues over time.
Final Answer:
It helps track device activity and detect problems over time. -> Option D
Quick Check:
Data logging = track and detect problems [OK]
Hint: Data logging = tracking device info over time [OK]
Common Mistakes:
Confusing logging with speeding up device
Thinking logging reduces power use
Assuming logging updates software automatically
2. Which command correctly appends sensor data to a log file on Raspberry Pi?
easy
A. echo "temp=25" >> sensor.log
B. echo "temp=25" > sensor.log
C. cat sensor.log >> echo "temp=25"
D. echo "temp=25" | sensor.log
Solution
Step 1: Understand shell redirection operators
'>>' appends text to a file, '>' overwrites the file.
Step 2: Choose the command that appends data
Only 'echo "temp=25" >> sensor.log' appends without erasing existing data.
Final Answer:
echo "temp=25" >> sensor.log -> Option A
Quick Check:
Append with >> operator [OK]
Hint: Use >> to add data without erasing file [OK]
Common Mistakes:
Using > which overwrites the file
Misusing cat or pipe commands incorrectly
Confusing append and overwrite operators
3. Given this Python code on Raspberry Pi, what will be the content of 'log.txt' after running it twice?
with open('log.txt', 'a') as f:
f.write('Temperature: 22\n')
medium
A. Temperature: 22
B. Temperature: 22\n
C. Temperature: 22\nTemperature: 22\n
D. Error: file not found
Solution
Step 1: Understand file mode 'a' in Python
Mode 'a' appends text to the file without deleting existing content.
Step 2: Analyze running code twice
Each run adds 'Temperature: 22\n' once, so two runs add it twice.
Final Answer:
Temperature: 22\nTemperature: 22\n -> Option C
Quick Check:
Append mode adds lines each run [OK]
Hint: Mode 'a' appends, so repeated runs add lines [OK]
Common Mistakes:
Thinking 'a' overwrites file
Ignoring newline characters
Expecting error when file exists
4. This Python code is meant to log sensor data but fails to save anything. What is the error?
f = open('data.log', 'w')
f.write('Humidity: 45%')
f.close()
medium
A. The file mode 'w' erases previous logs each run.
B. Missing newline character causes no data saved.
C. File is not closed properly.
D. The write method syntax is incorrect.
Solution
Step 1: Understand file mode 'w' behavior
Mode 'w' overwrites the file, erasing previous logs each time.
Step 2: Identify why logs seem missing
Each run deletes old data, so only last run's data remains, seeming like no logs.
Final Answer:
The file mode 'w' erases previous logs each run. -> Option A
Quick Check:
'w' mode overwrites file [OK]
Hint: Use 'a' mode to keep old logs, not 'w' [OK]
Common Mistakes:
Thinking missing newline stops saving
Assuming file not closed causes no save
Believing write syntax is wrong
5. You want to log temperature and humidity every minute on a Raspberry Pi and keep logs for a week. Which approach best supports this goal?
hard
A. Overwrite a single log file every minute with new data only.
B. Use a Python script appending data to a daily log file and rotate files weekly.
C. Store data only in memory without saving to disk.
D. Log data once and delete logs after one hour.
Solution
Step 1: Understand logging frequency and retention needs
Logging every minute generates many entries; keeping a week requires file management.
Step 2: Choose a method that appends and rotates logs
Appending to daily files and rotating weekly keeps data organized and manageable.
Final Answer:
Use a Python script appending data to a daily log file and rotate files weekly. -> Option B
Quick Check:
Append + rotate files = best for long-term logs [OK]
Hint: Append data daily and rotate files weekly [OK]
Common Mistakes:
Overwriting logs loses past data
Not saving data to disk risks loss
Deleting logs too soon loses history
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.