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