Luca GRECO | INTERNET OF THINGS
Luca GRECO INTERNET OF THINGS
cod. 0612700124
INTERNET OF THINGS
0612700124 | |
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS | |
EQF6 | |
COMPUTER ENGINEERING | |
2023/2024 |
YEAR OF COURSE 3 | |
YEAR OF DIDACTIC SYSTEM 2017 | |
SPRING SEMESTER |
SSD | CFU | HOURS | ACTIVITY | ||
---|---|---|---|---|---|
INTERNET OF THINGS | |||||
ING-INF/05 | 3 | 24 | LESSONS | ||
ING-INF/05 | 3 | 24 | LAB | ||
PROGETTO DI INTERNET OF THINGS | |||||
ING-INF/05 | 3 | 24 | EXERCISES |
Objectives | |
---|---|
THE COURSE INTRODUCES THE ARCHITECTURES, TECHNOLOGIES AND PROTOCOLS FOR THE INTERNET OF THINGS, ALSO INTRODUCING THE MAIN APPLICATION AREAS. KNOWLEDGE AND UNDERSTANDING ARCHITECTURE OF AN IOT APPLICATION. PROGRAMMING OF A MICROCONTROLLER AND SENSORS INTERFACING. CHARACTERISTICS OF THE DIFFERENT TYPES OF SENSOR (MEMS, SERVO). NETWORK PROTOCOLS. APPLIED KNOWLEDGE AND UNDERSTANDING CREATE SIMPLE IOT APPLICATIONS IN WHICH THE DATA DETECTED BY ONE OR MORE SENSORS ARE PROCESSED THROUGH A MICROCONTROLLER. |
Prerequisites | |
---|---|
IT IS PREFERABLE TO HAVE SOME PREVIOUS KNOWLEDGE ABOUT INTERNET PROTOCOLS. |
Contents | |
---|---|
DIDACTIC UNIT 1: INTRODUCTION TO THE INTERNET OF THINGS AND PYTHON LANGUAGE BASICS (LECTURE/PRACTICE/LABORATORY HOURS 3/6/0) 1. (3 HOURS LECTURE): INTERNET OF THINGS. GENERAL INTRODUCTION. EXAMPLES OF APPLICATIONS. ARCHITECTURE OF AN IOT APPLICATION. IOT FRAMEWORKS. 2. (3 HOURS PRACTICE): PYTHON EXPRESSIONS AND VARIABLES. SELECTION AND ITERATION. DEFINITION OF FUNCTIONS. 3. (3 HOURS PRACTICE): ARRAYS, TUPLES AND DICTIONARIES. PYTHON EXERCISES AND EXAMPLES KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE ARCHITECTURE OF AN IOT SYSTEM. ACQUIRE KNOWLEDGE RELATED TO THE FUNDAMENTAL ELEMENTS OF THE PYTHON PROGRAMMING LANGUAGE. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO CODE SIMPLE PROGRAMS IN PYTHON THROUGH THE USE OF FUNCTIONS, ARRAYS, TUPLES AND DICTIONARIES. DIDACTIC UNIT 2: INTRODUCTION TO THE ESP32 BOARD AND ITS PROGRAMMING IN MICROPYTHON (LECTURE/PRACTICE/LABORATORY HOURS 3/6/0) 1. (3 HOURS LECTURE): ESP32 BOARD OVERVIEW: ARCHITECTURE AND KEY FEATURES. THE MICROPYTHON FRAMEWORK 2. (2 HOURS LECTURE AND 1 HOUR PRACTICE): GPIO. MANAGEMENT OF DIGITAL OUTPUTS AND DIGITAL INPUTS; ANALOG INPUTS VIA ADC. FIRST EXAMPLES OF DEVELOPMENT IN MICROPYTHON 3. (2 HOURS LECTURE AND 1 HOUR PRACTICE): ORGANIZATION OF A BREADBOARD AND SETUP OF SIMPLE CIRCUITS WITH LEDS, RESISTORS AND POTENTIOMETERS. EXAMPLES OF GPIO MANAGEMENT WITH MICROPYTHON AND ESP32: TURNING A LED ON, READING A BUTTON LEVEL, READING SIGNALS FROM A PHOTORESISTOR. MANAGEMENT OF A POTENTIOMETER. 4. (2 HOURS OF LESSONS – 1 HOUR PRACTICE): INTRODUCTION TO PULSE WIDTH MODULATION (PWM). FIRST EXAMPLES PWM WITH ESP32: CONTROL OF LED LIGHT INTENSITY - FADING . 5. (3 HOURS PRACTICE): PWM EXAMPLES. CONTROL OF THE TIMBRE AND INTONATION OF A PASSIVE BUZZER. SPEED CONTROL OF A DC MOTOR. ROTATION CONTROL OF A SERVO MOTOR. KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE ARCHITECTURE OF THE ESP32 BOARD, AND ITS DIGITAL INPUTS/OUTPUTS. UNDERSTANDING OF THE PRINCIPLE OF OPERATION OF SIMPLE SENSORS AND ACTUATORS. ACQUISITION OF BASIC KNOWLEDGE RELATED TO THE MICROPYTHON FRAMEWORK. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO SETUP SIMPLE CIRCUITS WITH RESISTORS, LEDS, BUTTONS AND SENSORS ON BREADBOARDS. KNOWING HOW TO WRITE MICROPYTHON PROGRAMS FOR ESP32 TO ACQUIRE DATA FROM SENSORS. KNOWING HOW TO WRITE MICROPYTHON PROGRAMS FOR ESP32 THAT ALLOW TO CONTROL DC AND SERVO MOTORS. DIDACTIC UNIT 3: SERIAL INTERFACING WITH SENSORS AND ACTUATORS (LECTURE/PRACTICE/LABORATORY HOURS 2/4/0) 1. (2 HOURS LECTURE AND 1 HOUR PRACTICE) INTRODUCTION TO SERIAL PROTOCOLS: RS232, I2C, SPI. EXAMPLE OF A I2C DRIVER FOR A LIGHT INTENSITY SENSOR. 2. (3 HOURS PRACTICE): DEVELOPMENT OF AN I2C DRIVER FOR A TEMPERATURE AND HUMIDITY SENSOR KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE PRINCIPLE OF OPERATION OF THE MOST COMMON SERIAL PROTOCOLS FOR IOT SYSTEMS. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO WRITE A MICROPYTHON DRIVER FOR A SIMPLE SENSOR THAT PROVIDES INTERFACING VIA SERIAL PROTOCOL. DIDACTIC UNIT 4: NETWORK PROTOCOLS FOR IOT SYSTEMS (LECTURE/PRACTICE/LABORATORY HOURS 2/7/0) 1. (2 HOURS LECTURE AND 1 HOUR PRACTICE): THE PUBLISH&SUBSCRIBE PARADIGM AND THE MQTT PROTOCOL. SERVICE QUALITY LEVELS IN MQTT. DEVELOPMENT OF A PYTHON MQTT CLIENT WITH ECLIPSE PAHO. TYPES OF LOOP FUNCTIONS AND CALLBACK FUNCTIONS. 2. (3 HOURS PRACTICE): CONNECTION OF THE ESP32 MICROCONTROLLER TO THE WIFI NETWORK AND COMMUNICATION VIA SOCKET MODULE. USE OF THE MICROPYTHON MQTT LIBRARY FOR ESP32 AND DEVELOPMENT OF A "SMART" LIGHT INTENSITY SENSOR. 3. (3 HOURS PRACTICE): MORE MQTT EXAMPLES ON ESP32. EXAMPLE OF A COMPLETE IOT PROJECT. TOOLS FOR THE CREATION OF SIMPLE GRAPHICAL INTERFACES. KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF THE PUBLISH&SUBSCRIBE PARADIGM AND THE FUNDAMENTAL CHARACTERISTICS OF THE MQTT PROTOCOL. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO ENCODE IN MICROPYTHON A PROGRAM FOR ESP32 THAT ALLOWS DATA EXCHANGE VIA MQTT PROTOCOL. DIDACTIC UNIT 5: IMPLEMENTATION OF GUI FOR IOT SOLUTIONS AND INTEGRATION INTO SMART HOME PLATFORMS (HOURS LESSON/EXERCISE/LABORATORY 3/6/0) 1. (3 HOURS LESSON): OVERVIEW OF TOOLS FOR CREATING REMOTE DASHBOARDS FOR IOT SOLUTIONS. INTRODUCTION TO NODERED. 2. (3 HOURS TUTORIAL): IMPLEMENTATION OF SIMPLE NODE-RED FLOWS FOR INTERACTION WITH MQTT AND HTTP SERVICES. THE DASHBOARD PACKAGE. PERSISTENCE OF ACQUIRED DATA. 3. (3 HOURS TUTORIAL): WEB-BASED PLATFORMS FOR SMART HOMES. INTRODUCTION TO OPENHAB. INTEGRATION OF AN MQTT BASED SOLUTION IN OPENHAB. KNOWLEDGE AND UNDERSTANDING: UNDERSTAND THE CONCEPTS BEHIND DESIGNING USER INTERFACES FOR IOT SOLUTIONS. UNDERSTAND HOW NODERED DEVELOPS FLOW-BASED. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO DEVELOP AND IMPLEMENT NODERED FLOWS FOR THE CREATION OF MONITORING AND REMOTE CONTROL DASHBOARDS OF IOT SOLUTIONS. KNOWING HOW TO INTEGRATE AN MQTT BASED IOT SOLUTION INTO OPENHAB. DIDACTIC UNIT 6: PROJECT WORK (HOURS LESSON/EXERCISE/LABORATORY 0/0/24) 1. (3 HOURS LAB): PRESENTATION OF PROJECTS AND START OF ACTIVITIES 2. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 3. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 4. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 5. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 6. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 7. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY 8. (3 HOURS LAB): ASSISTED DESIGN ACTIVITY KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING AND KNOWING HOW TO INTERPRET A PROJECT SPECIFICATION FOR AN IOT SYSTEM. APPLIED KNOWLEDGE AND UNDERSTANDING: KNOWING HOW TO DEVELOP AND IMPLEMENT FROM A HARDWARE / SOFTWARE POINT OF VIEW AN IOT SYSTEM, BASED ON A SPECIFIC DATE, CONSISTING OF ONE OR MORE MICROCONTROLLERS CONNECTED TO A SET OF SENSORS AND ACTUATORS. TOTAL HOURS OF LESSONS 19 / HOURS EXERCISE 29 / LABORATORY HOURS 24 |
Teaching Methods | |
---|---|
THE COURSE INCLUDES THEORY LESSONS AND GUIDED EXERCISES AIMED AT DEMONSTRATING THE USE OF TOOLS, SOFTWARE STACKS AND HARDWARE COMPONENTS, FOR THE REALIZATION OF IOT APPLICATIONS. PRACTICE WILL BE AIMED AT APPLYING THE KNOWLEDGE ACQUIRED FOR THE PROGRAMMING OF THE MICROCONTROLLER USING THE PYTHON LANGUAGE, THE DESIGN OF SIMPLE ELECTRICAL CIRCUITS TO INTERFACE AND CONTROL SIMPLE HW COMPONENTS AS LEDS, MOTORS AND SENSORS USING THE DIFFERENT PROTOCOLS (I2C, SPI, DIGITAL AND ANALOG I / O, PWM). THE HOURS OF THE LABORATORY WILL BE USED TO START THE REALIZATION OF THE PROJECT THAT WILL HAVE TO BE DISCUSSED AT THE EXAMINATION. IN ORDER TO PARTICIPATE TO THE FINAL ASSESSMENT AND TO GAIN THE CREDITS CORRESPONDING TO THE COURSE, THE STUDENT MUST HAVE ATTENDED AT LEAST 70% OF THE HOURS OF ASSISTED TEACHING ACTIVITIES. |
Verification of learning | |
---|---|
THE EXAM INCLUDES THE REALIZATION OF A GROUP PROJECT (WITH GROUPS OF 2-3 PEOPLE) AND AN INDIVIDUAL ORAL INTERVIEW. THE PROJECT IS AIMED TO DEMONSTRATE THE ABILITY TO REALIZE AN IOT APPLICATION WITH THE TOOLS PRESENTED IN THE COURSE, IT IS REQUIRED THAT THE PROJECTS PROVIDE THE INTERFACING OF SENSORS CONNECTED VIA THE I2C PROTOCOL OR SPI, CONTROLLING A DEVICE WITH A SPI DEVICE, AND COMMUNICATE THROUGH MQTT. THE DISCUSSION OF THE PROJECT WILL AIM TO VERIFY THE CONTRIBUTION PROVIDED BY THE INDIVIDUAL MEMBERS OF THE GROUP IN THE IMPLEMENTATION OF THE PROJECT. THE SCORE TO THE PROJECT IS AWARDED ON THE BASIS OF THE COMPLETENESS OF THE SYSTEM, THE ARCHITECTURAL COMPLEXITY AND THE QUANTITY AND TYPE OF SENSORS, THE CONTROL INTERFACES. THE INTERVIEW AIMS TO VERIFY THE UNDERSTANDING OF THE THEORETICAL TOPICS WITH PARTICULAR REFERENCE TO THE MQTT, I2C AND SPI PROTOCOLS TO THE USE OF PWM FOR THE CONTROL OF MICRO AND SERVO MOTORS. THE SCORE OF THE ORAL EXAM DEPENDS ON THE STUDENT'S ABILITY TO PRESENT THE CONTENT EFFECTIVELY AND CRITICALLY DISCUSS THE TOPICS EXPOSED. THE FINAL MARK WILL BE CALCULATED AS THE WEIGHT AVERAGE OF THE MARK AWARDED TO THE PROJECT (60%) AND THE ORAL EXAM (35%), THE REMAINING 5% AS ACTIVE PARTICIPATION IN THE LESSONS. EXCELLENCE WILL BE ATTRIBUTED TO STUDENTS WHO WILL OBTAIN THE MAXIMUM SCORE IN BOTH TESTS AND THE REALIZATION OF A PROJECT WITH THE USE OF SENSORS NOT PRESENTED IN LESSON. |
Texts | |
---|---|
DIDACTICAL MATERIAL WILL BE PROVIDED BY TEACHERS SUPPLEMENTARY TEACHING MATERIAL WILL BE AVAILABLE ON THE UNIVERSITY E-LEARNING PLATFORM (HTTP://ELEARNING.UNISA.IT) ACCESSIBLE TO STUDENTS USING THEIR OWN UNIVERSITY CREDENTIALS. |
More Information | |
---|---|
THE COURSE IS HELD IN ITALIAN |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2024-11-05]