Introduction to Energy Management Systems (5 op)
Toteutuksen tunnus: TE00BX26-3002
Toteutuksen perustiedot
- Ilmoittautumisaika
-
01.12.2022 - 07.01.2023
Ilmoittautuminen toteutukselle on päättynyt.
- Ajoitus
-
09.01.2023 - 30.04.2023
Toteutus on päättynyt.
- Opintopistemäärä
- 5 op
- Lähiosuus
- 5 op
- Toteutustapa
- Lähiopetus
- Yksikkö
- Tekniikka ja liiketoiminta
- Opetuskielet
- suomi
- Opettajat
- Hugo Huerta Medina
- Ryhmät
-
PEYTES21Energia- ja ympäristötekniikka S21
- Opintojakso
- TE00BX26
Arviointiasteikko
H-5
Sisällön jaksotus
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
Tavoitteet
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.
Sisältö
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
Oppimateriaalit
Online sources:
Python documentation at www.python.org
Python for everybody at www.py4e.co
Opetusmenetelmät
Lectures at Campus
Guided exercises
Assignments
Self-learning
Tenttien ajankohdat ja uusintamahdollisuudet
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.
Toteutuksen valinnaiset suoritustavat
Recorded videos (Hugo H.)
Referenced Videos
Practical Exercises from books
Opiskelijan ajankäyttö ja kuormitus
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)
Lisätiedot
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.