Skills Expanded

Decoding Sensor Data Using Python

What you'll learn

Data is being generated all the time by the IoT devices around us. Python is a great tool to analyze this data. In this project, you will learn some of the Python data types and modules to read, interpret, and convert data from one form to another.

  1. Write a function to load the sensor data stored in different numeric forms in CSV format.
  2. Create info and data classes that will help us process the sensor data records.
  3. Learn how to convert from percentage to a float number, and from scientific notation to a float number.
  4. Some of the data comes as a hexadecimal number, so we will first convert the field to an integer to be able to apply bitwise operation to isolate the relevant bits.

Table of contents

Setup
10m
  • Set up your local environment for this project. We'll walk you through everything you need to know, including how to install and configure your environment to be able to complete all of the tasks.
Sensor Data Files: Load Raw Data
20m
  • In this first module, you will write a function to load the sensor data stored in the data files. The sensor data is stored in different numeric forms and the records are formatted in CSV format.
Home Data Class
20m
  • In this module, you will create a HouseInfo class that will help us process the sensor data records. This class will later serve as base class for other classes.
Analyze Temperature Data
15m
  • In this module, you will create a TemperatureData class that will process the temperature data field. This field information needs to be converted to an integer with base 10.
Analyze Humidity & Air Quality Data
20m
  • Now that most of the heavy lifting has been done, in this module, you will create HumidityData and ParticleData classes that will process the humidity and particle count data fields. We will reuse a lot of the code written so far. The humidity field needs to be converted from percentage to a float number, and the particle field needs to be converted from scientific notation also to a float number.
Analyze Energy Consumption Data
15m
  • The final data field we analyze is the energy usage. In this module, you will create an EneryData class that will process the energy consumption. Again, we will reuse a lot of the code written so far. The energy field comes as a hexadecimal number, so we will first convert the field to an integer to be able to apply bitwise operation to isolate the relevant bits.

About the author

Hugo E. Valle is an Associate Professor of Computer Science at Weber State University. He received his Ph.D. in Physics in 2008 and MSc. in Physics in 2006, both from Vanderbilt University (Nashville TN). His research interests are in the fields of Internet of Things (IoT), Data Visualization, Software Development for particle detectors, sensors, microelectronics, and embedded systems, as well as computational science. Hugo enjoys to developed object-oriented software based on C/C++, Python, Per... more

Ready to upskill? Get started