Introduction to IoT Karel Slavicek Vaclav Oujezsky 2024 Course outline ● Aim and goal ● Lecture organization ● Evaluation ● Managerial stuff ● Content and scope of the course Aim and goal ● Understand IoT systems architecture ● Overview of commonly used IoT systems‘ HW components ● Basic knowledge of communication busses and protocols commonly used in IoT systems ● Overview of cloud-based IoT support Prerequisities ● Basic knowledge of ● computer architecture ● operating systems ● OS Linux ● ABC of programming in C/C++ ● Minimal knowledge of physics and measurement is an advantage Course organization ● Focus on lab exercises and hands-on experience ● Lessons to give an overview ● In average 1 lesson covers 2 lab exercises ● Minimizing the obligatory stuff ● Flexibility in lab design ● KYPO lab MS-Windows stations or BOYD laptops ● Basic set of modules part of the planned labs, more modules available ● Extension to bachelor thesis upon request What Introduction to IoT is About ● Basic properties and interfaces of common sensors ● Basic properties and interfaces of common HMI devices ● Overview of available MCUs from SW point of view (IDE) ● Overview of both internal and external busses ● Interface to cloud applications What Introduction to IoT is NOT About ● Physics of the sensors ● Department of physics at Faculty of Sciences ● Electronics design ● Faculty of Electrical Engineering and Communication Technology ● Sensors with analog output ● Too close to the physics Course organization ● Focus on hands-on experience on HW and SW ● 10 + 1 lab exercises ● 5 + 1 lectures ● Free labs or invited lectures in remaining timeslots ● Content not strict, will be influenced by your feedback Lecture ● 5 topics + introduction ● IoT peripherals connected via GPIO ● IoT peripherals connected via a standardized interface (I2C, SPI,…) ● Interconnection of IoT nodes (RS-485, MODBUS, CANBUS, …) ● Linux-based IoT nodes ● Data presentation (MQTT, Grafana, …) Lab exercises ● 10 labs (2 per topic) + 1 introductory ● No soldering or pin-by-pin cabling needed ● Standalone projects for colloquium ● All necessary SW installed on PCs in KYPO, students’ own devices supported as well ● Detailed overview of available HW in lab exercises Lab exercises ● KYPO lab – room S108 ● Access controlled ● KYPO is a lab → no food and drink allowed inside ● Physical management of lab equipment still under development → good ideas welcome ● Free openlab days will be managed near end of the semester Lab exercises ● Room for lab exercises accupied by other event from time to time – reschedule or cancelation needed. ● Schedule irregularities will be announced by e-mail, please chct your e-mail regularly. ● Number of participants on lab exercise limited by room size and number of equipment. ● Moving between lab groups allowed upon mutual agreement of students. Studying material Available on the web (is.muni.cz) ● Slides from presentations – commonly after the lesson, slides are still under development ● IDE and supportive SW ● Sample code ● Description and schematics of used HW will be supplemented step by step ● A lot of examples on Internet Evaluation ● Colloquium ● Standalone project optionaly solved in groups ● Projects will be discussed during the colloquium The overall course organization Any questions / comments / requirements ? Introduction to IoT What is it the IoT ? Structure of an IoT System Elementary sensors Application / Cloud MCU / CPU / Communication Structure of an IoT System Elementary sensors ● Push buttons and switches ● Rotary encoder ● Environment sensing (Temperature, Relative Humidity, Barometric pressure) ● Proximity ● RFID/NFC card readers ● Fingerprint scanners Output devices ● LED diodes and 7-segment displays ● LCD displays ● OLED ● TFT and capacitive touch screens ● E-paper Local Data Storage ● uSD ● EEPROM ● FLASH ● eMMC Internal busses ● I2C ● SPI ● 1-Wire ● UART MCUs and Singleboard Computers ● Bare metal programmable ● ARM Cortex M – STM32, EFM32, ... ● AtMega (Arduino) ● AtTiny ● MSP430 ● ESP-32 ● Singleboard Computers ● Raspberry Pi ● Rock Pi ● Orange Pi ● Anything Pi External busses ● RS-485 / MODBUS ● CANBUS ● M-Bus ● FlexRay ● UART Wireless communication ● WiFi ● Bluetooth ● Sub-GHz wireless – 868MHz / LoRa, 433MHz / SigFox, … ● InfraRed communication Communication busses ● Similarity with data networks ● Multiple layers: RS-485 / MODBUS ● Similarity with ISO-OSI reference model Cloud oriented services ● MQTT broker (JSON format) ● Grafana ● Virtual servers at Stratus.fi.muni.cz Introduction to IoT MCU / CPU / Communication Elementary sensors Application / Cloud Thank you for your attention! Questions and comments?