Skip to main content

Introduction to Energy Monitoring Systems (5 cr)

Code: TE00BX26-3003

General information


Enrollment

01.12.2023 - 05.01.2024

Timing

08.01.2024 - 30.04.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Teaching languages

  • English

Teachers

  • Hugo Huerta Medina

Groups

  • PEYTES22
  • 10.01.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 17.01.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 24.01.2024 14:00 - 16:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 31.01.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 07.02.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 07.02.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 14.02.2024 14:00 - 16:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 14.02.2024 14:00 - 16:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 28.02.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 06.03.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 20.03.2024 11:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 21.03.2024 13:00 - 16:00, First Lab session - Group B
  • 03.04.2024 11:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 04.04.2024 12:00 - 15:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 10.04.2024 12:00 - 15:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 11.04.2024 12:00 - 15:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 17.04.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003
  • 24.04.2024 12:00 - 14:00, Introduction to Energy Monitoring Systems TE00BX26-3003

Objective

This course aims to teach the basics of programming with Python, Control Systems and how to combine them to be used in the Energy Management area. The course covers the fundamentals of how to build programs (from basic to intermediate instructions) in Python, specifically for data transmission and collection to build a scale-down energy management system.

After finishing the course, the student will be able to:

• Code in Python (a high level programming language) and use its built-in functions as well as external Python modules.
• Apply all the acquired knowledge to establish communication between controllers (PC or Raspberry Pi) and transmitters (sensors, energy meters, power sources), by using different data transmission resources.
• Collect data from transmitters, and based on their analysis, control simple electronic devices.
• Use databases for storing collected data.
• Visualize data with Grafana dashboard.

Content

Content
1. Energy Management Systems
1.1 Overview
1.2 Home Energy Management Systems
1.3 Why programming in this course
2. Python
2.1 Computers architecture
2.2 How to install Python and code editors
2.3 Interpreter
2.4 Python reserved words and mathematical operations
2.5 Python variables
2.6 Python Built-in functions
2.7 Strings, Lists
2.8 Control flow
2.8.1 if, for
2.8.2 Boolean expressions
2.9 Data structures
2.9.1 Lists, Dictionaries
2.10 Objects
2.10.1 Classes
2.10.2 Methods vs functions
2.11 Importing external modules
2.11.1 Numpy and Pandas overview
3. Control Systems
3.1 Data transmission
3.2 Serial communication
3.3 Communication protocols
3.3.1 Modbus protocol
RTU, ASCII, TCP/IP
4. Project
4.1 Project introduction
4.2 Raspberry Pi
4.2.1 Overview
4.2.2 Configuration
4.2.3 Basic Linux commands
4.3 Data bases
4.3.1 MariaDB overview
4.3.2 Configuration
4.3.3 Storing data
4.4 Project development

Materials

Online sources:
Python documentation at www.python.org
Python for everybody at www.py4e.com

Books:
Non-Programmer's Tutorial for Python 3. Found at https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3
Think Python
Python for everybody. Found at https://www.py4e.com/book
Maria DB Cookbook.

Teaching methods

Lectures at Campus
Guided exercises
Assignments
Self-learning

Exam schedules

No exam.
Final project covering minimal requirements to pass the course
If the project does not cover minimal requirements, a second opportunity to present it is given. One week for corrections.

Completion alternatives

Recorded videos (Hugo H.)
Referenced Videos
Practical Exercises from books

Student workload

Schedule:
10 - 12 Weeks (Lectures at Campus and Laboratory)
2 Weeks to develop Final Project
1 Week for Final Project Presentation

Workload:
1 Assignment per week (30 minutes up to 1 hr)

Content scheduling

7-8 Lectures ( Python, Data Transmission, Communication protocols, Data Bases)
3-4 Lab sessions (Modbus implementation, Data bases, Displaying Data)
2 Weeks for project development
1 Week for final presentations

Evaluation scale

H-5

Assessment methods and criteria

Assignments
Class exercises
Final Project

Assessment criteria, fail (0)

No project presented or the project does not cover minimal requirements

Assessment criteria, satisfactory (1-2)

Minimal requirements + Assignments

Assessment criteria, good (3-4)

Project presents additional features than the minimal required + Assignments

Assessment criteria, excellent (5)

Outstanding project + Assignments