Skip to main content

Introduction to Energy Monitoring SystemsLaajuus (5 cr)

Code: TE00BX26

Credits

5 op

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

Enrollment

01.12.2024 - 12.01.2025

Timing

13.01.2025 - 30.04.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Teaching languages
  • Finnish
Degree programmes
  • Degree Programme in Energy and Environmental Technology
Teachers
  • Hugo Huerta Medina
Groups
  • PEYTES23

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.co

Teaching methods

Lectures at Campus
Guided exercises
Assignments
Self-learning

Exam schedules

No exam.
Final project must cover minimal requirements to pass the course
If the project does not cover the 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 lecture per week (2-3 hrs=
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

Further information

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.

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)

Project's minimal requirements + Assignments

Assessment criteria, good (3-4)

Project presents additional features than the minimal required + Assignments

Assessment criteria, excellent (5)

Outstanding project + Assignments

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

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

Enrollment

01.12.2022 - 07.01.2023

Timing

09.01.2023 - 30.04.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Teaching languages
  • Finnish
Teachers
  • Hugo Huerta Medina
Groups
  • PEYTES21

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

Evaluation scale

H-5

Enrollment

01.12.2021 - 03.01.2022

Timing

01.01.2022 - 29.04.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Teaching languages
  • Finnish
Teachers
  • Hugo Huerta Medina
Teacher in charge

Hugo Huerta Medina

Groups
  • PEYTES20

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

Evaluation scale

H-5