Course: Fundamental programming for IoT

« Back
Course title Fundamental programming for IoT
Course code KIV/ZPI
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory-optional, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Mainzer Tomáš, Ing. Ph.D.
  • Pivovar David, Ing.
  • Vařeka Lukáš, Ing. Ph.D.
  • Brůha Petr, Ing.
  • Mautner Pavel, Ing. Ph.D.
  • Šnejdar Pavel, Ing.
Course content
1. Introduction to IoT - motivation, use, basic concepts, practical examples. 2. Basic architecture of IoT systems, basic types of microcontrollers and microcomputers used in IoT systems, programming methods, programmable inputs and outputs, their settings. 3. Introduction to programming (MicroPython, C), basic data types, control structures (conditional branching, cycle), functions, writing simple programs. 4. MicroPython and its use in programming IoT systems, comparison with the classical Python language, related API. 5. Basic sensors used in IoT, their connection to the system, reading data from sensors at the program level, timers and their use, A/D, D/A converters and their use in the program. 6. Interrupts and its processing in MicroPython, comparison of data collection by polling and interrupt methods, examples of simple programs. 7. Communication between modules (Wifi, bluetooth) and communication with other devices, basic protocols used for data transmission in IoT. 8. Communication between IoT server and end node, integration of IoT devices and services (Node-RED tool). 9. Basics of IoT data processing on a simple server, visualization and data storage. 10. Demonstration of simple programs for data collection and processing from sensors. 11. MBED - platform and its use in IoT. 12. Microcontrollers programmable in MBED environment, sample examples. 13. Summary, consultations on the topic.

Learning activities and teaching methods
  • Practical training (number of hours) - 26 hours per semester
  • Contact hours - 26 hours per semester
  • Preparation for an examination (30-60) - 30 hours per semester
  • Individual project (40) - 40 hours per semester
prerequisite
Knowledge
- algorithmize simple problems - understand the scheme of inputs and outputs of a simple electronic circuit
Skills
- can work with PC, - according to the instructions can install a development environment for programming microcontrollers
Competences
N/A
be able to work with PC, be able to install simple applications can algorithmize simple problems, can create a simple program in any programming language
learning outcomes
Knowledge
- has knowledge of basic concepts used in IoT, can describe what IoT is, what it is used for - knows the basic microcontrollers and communication protocols used in IoT, - has basic knowledge of micropython and can write a simple program for a microcontroller - knows what MBED is and can write a simple program in it
Skills
- can solve a simple problem from the field of IoT and for the selected microcontroller can write an application solving the problem using some known platforms (micropython, mbed) - can connect basic sensors to the microcontroller and write a program that communicates with them - can communicate with other microcontrollers connected to the same network
Competences
N/A
teaching methods
Knowledge
Interactive lecture
One-to-One tutorial
Self-study of literature
Skills
Laboratory work
Practicum
Competences
Lecture
assessment methods
Knowledge
Written exam
Skills demonstration during practicum
Skills
Continuous assessment
Skills demonstration during practicum
Practical credit project
Project
Competences
Written exam
Continuous assessment
Skills demonstration during practicum
Recommended literature
  • Adeel Javed. Building Arduino Projects for the Internet of Things. USA, 2016. ISBN 978-1-4842-1939-3.
  • D. Serpanos, M. Wolf. Internet of Things (IoT) Systems. Springer, 2018. ISBN 978-3-319-69714-7.
  • Charles Bell. MicroPython for the Internet of Things. USA, 2017. ISBN 978-1484231227.
  • Mark Pilgrim. Ponořme se do Pythonu 3. Praha, 2011. ISBN 978-80-904248-2-1.
  • Mark Summerfield. Python 3 Výukový kurz. Brno, 2013. ISBN 978-80-251-2737-7.
  • Perry Xiao. Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed. 2018. ISBN 978-1-119-36399-6.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester