Topic outline
Descriere Curs
Sumar Curs:
Internetul Lucrurilor reprezinta o retea de dispozitive, sisteme incorporate care participa împreună la rezolvarea unei probleme.
Un Sistem Incorporat reprezinta un dispozitiv sau echipament realizat prin inginerie din diferite domenii cu ar fi Inginerie Mecanica (ME), Inginerie Electrica (EE), si Inginerie Software (SWE).
- Funcțional, un sistem Incorporat interacționează cu mediul extern preluând informație din acesta, procesând, și raportând înapoi către el. aceste interacțiuni fiind te tipul Sistem Mediu, Sistem Utilizator, Sistem Sistem.
- Structural, sistemul embedded este compus din o totalitate de componente specializate pentru a realiza intercesiunile și procesările necesare.
Obiective Curs:
În cadrul acestui curs se vor studia aspectele de structura și funcționalitate a unui Sistem Incorporat din cadrul stemelor (IoT), din perspectiva unei arhitecturi generice, si analiza componentelor acesteia cum ar fi Interacțiunea cu Utilizatorul, Sensori, Actuatori, Diagnoze, Control, Procesare si Comunicare, realizând diverse aplicații pentru accentuarea rolului acestora în sistem.
Titular curs: lector universitar - Andrei Bragarenco
Forum pentru comunicare in cadrul cursului
Resurs editat colaborativ de catre studenti si profesor pentru notite de curs
----------------------------------------------------------------------
----------------------------------------------------------------------
Sondaje
Sondaj Initial (anonim)
Sondaj Intermediar (anonim)
Sondaj Final (anonim)
Evaluare
- Testul pentru Evaluarea Intermediara A1 contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 30 minute. dupa acest interval testul se va preda automat
- In timpul examinarii nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Промежуточный тест A1 содержит набор вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 30 минут. по истечении этого интервала тест будет сдан автоматически
- во время экзамена вы не сможете увидеть, какой ответ вы написали неправильно.
Laborator
Formatul raportului
Raportul de laborator trebuie să fie detaliat și să reflecte toate aspectele lucrării, inclusiv analiza tehnologică, proiectarea, implementarea și testarea soluției.
1. Analiza situației în domeniu
- Descrierea tehnologiilor utilizate și a contextului aplicației dezvoltate.
- Prezentarea componentelor hardware și software utilizate, explicând rolul fiecăreia.
- Explicații asupra arhitecturii sistemului și justificarea alegerii soluției.
- Studiu de caz relevant care demonstrează aplicabilitatea soluției propuse.
2. Proiectare
- Realizarea schiței arhitecturale pentru a evidenția interconectarea componentelor cu explicatiile aferente pentru rolul fiecarei componente si interfete
- Scheme bloc de comportament, algoritm (FollowChart, FSM, etc) cu explicatii aferente despre abordarea plicata
- Schița electrică, ilustrând conexiunile circuitului și integrarea perifericelor.
- Structura proiectului trebuie să fie bine organizată, fiecare modul având un rol clar si sa reflecte organizare conform schitei arhitecturale.
- Implementarea modulară:
- Fiecare componentă este reflectată în fișiere
.cpp
și.h
, respectând principiile de separare a interfeței și implementării. - Fișiere
.h
: Definirea interfețelor, explicarea metodelor disponibile. - Fișiere
.cpp
: Implementarea soluției, cu explicații detaliate pentru secvențele de cod critice. - Scheme bloc funcționale, pentru fiecare modul implementat, incluse în document.
- Fiecare componentă este reflectată în fișiere
3. Prezentarea rezultatelor
- Capturi de ecran relevante ale interacțiunii cu sistemul și a datelor procesate.
- Poze ale montajului hardware, dacă lucrarea implică echipamente fizice.
- Rapoarte din interfața serială, evidențiind schimbul de date și comportamentul sistemului.
- Demonstrarea funcționării printr-un video, dacă este cazul (link către sursa video).
- Rezultatele simulării, dacă sistemul a fost testat într-un simulator precum Proteus.
4. Concluzii
- Analiza performanței sistemului, identificarea eventualelor limitări și propuneri de îmbunătățire.
- Concluzii asupra rezultatelor obținute în urma efectuării lucrării de laborator.
- Impactul tehnologiei utilizate în aplicații reale.
5. Notă privind utilizarea instrumentelor AI
Dacă în redactarea raportului au fost utilizate instrumente AI, acest lucru trebuie menționat.
Recomandare:
"În timpul redactării acestui raport, autorul a utilizat [NUME INSTRUMENT AI] pentru generarea/consolidarea conținutului. Informațiile rezultate au fost revizuite, validate și ajustate conform cerințelor lucrării de laborator."6. Bibliografie
- Raportul trebuie să includă cel puțin 3 referințe către cursuri, documentație oficială sau literatură tehnică suplimentară.
7. Anexă - Codul sursă
- Codul complet al proiectului organizat conform structurii
.cpp
și.h
. - Codul trebuie să fie bine documentat, cu comentarii explicative asupra fiecărui modul.
- Se vor include link-uri către repository GitHub, dacă proiectul este gestionat online.
Lab: Ghid elaborare Capitol Analiza Domeniu
----------------------------------------------------------------------
Lucrare de Laborator Nr 0 : Introducere in mediul de dezvoltare - Button + LED
OPTIONAL - fara pontare - Realizarea unei aplicatii simple Button Led pentru studiul mediului de dezvoltare aplicatii IoT
Definire problema
- sa se proiecteze o apliatie in baza de MCU care ar schimba starea unui LED la detectarea apasarii unui buton
Recomandari
- se recomanda utilizarea unui IDE cu suport arduino, care permite lucrul cu mai multe fisiere. de exemplu Eclipse
- pentru Validare se recomanda utilizarea unui simulator, de ex Proteus.
- functionalitatile pentru fiecare echipament periferic ( led, buton, lcd, keypad) sa fie realizate in fisiere separate, in scop de reutilizare in lucrarile urmatoare
- utilizarea regulilor de codare magic number si CamelCase
Pontaj
- nu se aplica pontaj la aceasta lucrare introductiva
Penalizari
- nu se aplica penalizari la aceasta lucrare introductiva
Lab 0 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 1.1 : Interactiunea cu Utilizatorul : STDIO - Interfata seriala
Realizarea applicatiilor pentru interactiune cu utilizatorul prin interfata seriala utilizand libraria STDIO pentru a facilita interactiunea clasica cu functii tipprintf(..) si scanf(...)
Lab 1.1 Interacțiunea cu Utilizatorul: STDIO - Interfața Serială
Scopul lucrării
Familiarizarea studenților cu utilizarea bibliotecii STDIO pentru comunicare serială și implementarea unei aplicații simple care controlează un LED prin comenzi text transmise de la un terminal serial.
Obiectivele lucrării
- Înțelegerea principiilor de bază ale comunicației seriale.
- Utilizarea bibliotecii STDIO pentru schimbul de informații text.
- Proiectarea unei aplicații care interpretează comenzi transmise prin interfața serială.
- Dezvoltarea unei soluții modulare, cu funcționalități separate pentru controlul perifericelor.
Definire problema
- Sa se configureze aplicatia pentru lucrul cu libraia STDIO prin interfata seriala pentru schimbul de text prin terminal.
- sa se proiecteze o aplicate in baza de MCU care ar receptiona comenzi de la terminal prin interfata seriala pentru a seta starea unui LED.
- led on pentru aprindere si
- led off pentru stingere.,
- sistemul trebuie sa raspunda cu mesaje text despre confirmarea comenzii
- pentru schimbul de text prin terminal a se utiliza libraia STDIO
Materiale și resurse
Componente hardware:
- Microcontroler (Arduino Uno, ESP32 sau similar)
- LED-uri
- Rezistor de 220 Ω
- Breadboard
- Cabluri de conexiune (jumper wires)
- Sursă de alimentare (USB)
Resurse software:
- Visual Studio Code cu extensia PlatformIO instalată
- Emulator terminal serial (ex.: Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Simulator hardware (opțional, ex.: Proteus)
Recomandari
- se recomanda utilizarea unui IDE cu suport arduino, care permite lucrul cu mai multe fisiere. de exemplu Eclipse
- pentru Validare se recomanda utilizarea unui simulator, de ex Proteus.
- functionalitatile pentru fiecare echipament periferic ( led, buton, lcd, keypad) sa fie realizate in fisiere separate, in scop de reutilizare in lucrarile urmatoare
- utilizarea regulilor de codare CamelCase
Pontaj
Cerințe obligatorii:
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Notare
- Nu se accepta rapoartele care nu corespund cerintelor de prezentare
- 50% demonstrarea rezultatelor.
- 10% utilizarea STDIO (
printf
,scanf
, etc.). - 10% explicarea interfeței hardware-software stackuril de periferii.
- 10% prezentarea schiței electrice.
- 10% demonstrarea funcționării fizice.
NOTĂ: Pontajul maxim este posibil doar la prezentarea funcționării fizice a soluției!!
- - 10% penalizare pentru fiecare săptămână întârziere de la deadline.
Lab 1.1 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 1.2 : Interactiunea cu Utilizatorul: LCD + KeyPad
Realizarea applicatiilor pentru interactiune cu utilizatorul prin Keypad + LCD utilizand libraria STDIO pentru a facilita interactiunea clasica cu functii tip printf(..) si scanf(...)
Interacțiunea cu Utilizatorul: STDIO - LCD + Keypad
Scopul lucrării
Familiarizarea studenților cu utilizarea bibliotecii STDIO pentru interactiune cu periferiile LCD si Keypad implementarea unei aplicații simple care verifica un cod introdus de la tastatura, si printeaza un mesaj la LCD.
Obiectivele lucrării
- Înțelegerea principiilor de bază ale perifericelor pentru interactiunea cu utilizatorul..
- Utilizarea bibliotecii STDIO pentru schimbul de informații text.
- Proiectarea unei aplicații care interpretează comenzi transmise prin tastatura si printare la LCD
- Dezvoltarea unei soluții modulare, cu funcționalități separate pentru controlul perifericelor.
Definire Problema
- Sa se configureze aplicatia pentru lucrul cu libraia STDIO prin interfata seriala pentru schimbul de text prin LCD+Keypad.
- Sa se proiecteze o aplicatie in baza de MCU pentru detectarea unui cod de la o tastarura 4x4, sa verifice codul si sa afisese mesaj la un LCD.
- Pentru cod valid sa se aprinda un led de culoare verde, pentru cod invalid, un led de culoare rosie.
- A se utiliza STDIO pentru scanarea tastaturii si afisare la LCD.
Materiale și resurse
Componente hardware:
- Microcontroler (Arduino Uno, ESP32 sau similar)
- LED-uri
- LCD 2x16 (4x20 sau altele din aceasta serie)
- Keypad 4x4
- Rezistor de 220 Ω
- Breadboard
- Cabluri de conexiune (jumper wires)
- Sursă de alimentare (USB)
Resurse software:
- Visual Studio Code cu extensia PlatformIO instalată
- Emulator terminal serial (ex.: Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Simulator hardware (opțional, ex.: Proteus)
Recomandari
- se recomanda utilizarea unui IDE cu suport arduino, care permite lucrul cu mai multe fisiere. de exemplu Eclipse
- pentru Validare se recomanda utilizarea unui simulator, de ex Proteus.
- functionalitatile pentru fiecare echipament periferic ( led, buton, lcd, keypad) sa fie realizate in fisiere separate, in scop de reutilizare in lucrarile urmatoare
- utilizarea regulilor de codare CamelCase
Pontaj
Cerințe obligatorii:
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Notare
- Nu se accepta rapoartele care nu corespund cerintelor de prezentare
- 50% demonstrarea rezultatelor.
- 10% utilizarea STDIO (
printf
,scanf
, etc.). - 10% explicarea interfeței hardware-software.
- 10% prezentarea schiței electrice.
- 10% demonstrarea funcționării fizice.
NOTĂ: Pontajul maxim este posibil doar la prezentarea funcționării fizice a soluției!!
- - 10% penalizare pentru fiecare săptămână întârziere de la deadline.
Lab 1.2 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 2.1 : Sisteme de Operare - Secventiale
Realizarea applicatiilor cu Sisteme de operare Secventiale pentru a lansa mai multe sarcini in paralel pe acelasi microcontroller.
Scopul lucrării:
Realizarea unei aplicații modulare pentru MCU care să ruleze secvențial cel puțin 3 task-uri, demonstrând metodologia de planificare, sincronizare și execuție non-preemptivă a task-urilor.
Obiectivele lucrării:
- Familiarizarea cu principiile de planificare secvențială și execuție non-preemptivă a task-urilor într-un sistem embedded.
- Analiza metodelor de stabilire a recurentei și a offset-urilor între task-uri pentru optimizarea utilizării resurselor procesorului.
- Înțelegerea și aplicarea mecanismului de sincronizare între task-uri prin modelul provider/consumer, ca metodă de comunicare internă a datelor.
- Elaborarea unui model de execuție secvențială, evidențiind avantajele și limitările acesteia din punct de vedere metodologic.
- Documentarea detaliată a arhitecturii software și prezentarea schemelor bloc și a schemelor electrice, ca parte integrantă a metodologiei de proiectare.
Definire Problema
Realizarea unei aplicații pentru MCU care să ruleze secvențial cel puțin 3 task-uri distincte, după cum urmează:
- Task 1 – Button LED: Schimbarea stării unui LED la detectarea unei apăsări pe buton.
- Task 2 – LED Intermitent: Controlul unui LED intermitent, activ doar atunci când LED-ul din Task 1 este stins.
- Task 3 – Variabilă de stare: Incrementarea/decrementarea unei variabile prin apăsarea a două butoane, reprezentând numărul de recurențe/timp în care LED-ul din Task 2 se află într-o anumită stare.
Un Task de Idle va prelua informațiile din variabilele globale/semnale generate de celelalte task-uri (conform modelului provider/consumer) și le va afișa utilizând funcțiile STDIO (ex. printf), demonstrând astfel metodologia de raportare și monitorizare a stărilor sistemului.
Indicații pentru implementare
1. sa se implementeze comunicarea intre Taskuri ca provider consumer:
- task-ul care generează date, provider, stochează rezultatele într-o variabila globala/semnal
- task-ul care utilizează aceste date, consumer, citește aceasta variabila/semnal.
de ex: task de UI (LCD sau Serial) preia informația din niște variabile-semnale globale și raportează
2. A se urma principiile prezentate la curs Sisteme Secvențiale
- stabilirea rezonabila a recurentei pentru a diminua incarcarea procesorului
- stabilirea ofsetului, intru a activa în ordinea cuvenita task urile
3. Task-ul de raportare pentru Secvențial cu utilizare STDIO printf() catre LCD va fi rulat in bucla infinita/IDLE deoarece este bazat pe un spin lock și ar putea bloca întreruperile deci secvențial clasic - printf & delay in main loop,
Materiale și Resurse:
Componente hardware:
- Microcontroler (Arduino Uno, ESP32 sau similar)
- LED-uri
- Rezistor de 220 Ω
- Butoane (minim 3, pentru funcționalitățile specificate)
- Breadboard
- Cabluri de conexiune (jumper wires)
- Sursă de alimentare (USB)
Resurse software:
- Visual Studio Code cu extensia PlatformIO instalată
- Emulator terminal (ex.: Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Simulator hardware (opțional, ex.: Proteus)
Recomandări:
- Se recomandă utilizarea unui IDE cu suport Arduino (de exemplu, Eclipse) pentru gestionarea proiectelor modulare.
- Pentru validare se recomandă utilizarea unui simulator hardware (ex.: Proteus).
- Funcționalitățile pentru fiecare periferic (LED, buton, LCD etc.) trebuie implementate în fișiere separate, pentru a facilita reutilizarea în lucrările viitoare.
- Respectați convențiile de codare (CamelCase etc.) și asigurați o documentare detaliată a soluției.
Pontaj:
Cerințe obligatorii:
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, a schemelor bloc și a schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Notare:
- 50% – Demonstrarea rezultatelor (funcționarea corectă a execuției secvențiale a task-urilor și implementarea mecanismului provider/consumer).
- 10% – Utilizarea STDIO (printf, scanf, etc.) pentru raportare și monitorizare.
- 10% – Explicarea interfeței hardware–software, evidențiind metodologia implementată.
- 10% – Prezentarea schemelor electrice.
- 10% – Demonstrarea funcționării fizice a soluției.
NOTĂ: Pontajul maxim este posibil doar la prezentarea funcționării fizice a soluției!!
- 10% penalizare pentru fiecare săptămână întârziere de la deadline.
Lab 2.1 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 2.2 : Sisteme de Operare Preemptive - FreeRTOS
Realizarea applicatiilor cu Sisteme de operare in timp real (RTOS) pentru a lansa mai multe sarcini in paralel pe acelasi microcontroller.
Lucrare de laborator Nr. 2.2: Sisteme de Operare Preemptive – FreeRTOS
Scopul lucrării
Realizarea unei aplicații modulare pentru un microcontroler (MCU) utilizând FreeRTOS, care să ruleze secvențial cel puțin 3 task-uri și să demonstreze metodologia de planificare, sincronizare și execuție a task-urilor în timp real.
Obiectivele lucrării
- Familiarizarea cu principiile de planificare și execuție a task-urilor într-un sistem embedded utilizând FreeRTOS.
- Implementarea mecanismelor de sincronizare între task-uri folosind semafoare.
- Utilizarea unui buffer pentru comunicarea între task-uri în model provider/consumer.
- Aplicarea corectă a recurentei și offset-urilor între task-uri pentru optimizarea utilizării resurselor procesorului.
- Documentarea arhitecturii software și prezentarea schemelor bloc și schemelor electrice, ca parte integrantă a metodologiei de proiectare.
Definire Problemă
Realizarea unei aplicații pentru MCU care va rula minim 3 task-uri utilizând FreeRTOS:
- Button Led – Va aprinde un led timp de 1 SEC LED la detectarea unei apăsări pe buton. Task-ul va ridica un semafor și va avea recurența de 10 ms.
- Task Sincron – Va aștepta ridicarea semaforului de la primul task, va incrementa o variabilă (
N = N + 1
) și va trimite în buffer o serie deN
bytes (1,2,3,..N), la un interval de 50 ms. Dupa care, va controla un LED care va clipi de N ori, cu faza ON - 300 ms, OFF - 500 ms. - Task Asincron – Va citi la fiecare 200 ms bufferul și va afișa octeții citiți în terminal prin STDIO. La detectarea unui
0
, se va trece pe un rând nou. (a se organiza o formatare informativa a mesajelor), se poate utiliza si LCD in acest scop
Indicații pentru implementare
-
Asigurarea recurentei pentru Task 1
- Se va utiliza
xTaskDelayUntil(delay)
în bucla infinită pentru respectarea perioadei de 10 ms.
- Se va utiliza
-
Sincronizarea Task 1 și Task 2
- Se va utiliza un semafor binar:
- Task 1 va utiliza
xSemaphoreGive()
pentru a semnaliza apăsarea butonului. - Task 2 va utiliza
xSemaphoreTake()
pentru a detecta schimbarea de stare și a iniția execuția sa.
- Task 1 va utiliza
- Se va utiliza un semafor binar:
-
Comunicarea între Task 2 și Task 3 folosind bufferul
- Task 2 (provider) va stoca datele într-un buffer global, utilizând
xQueueSendToFront()
- Task 3 (consumer) va citi datele din buffer folosind
xQueueReceive()
. și le va afișa pe terminalul serial.
- Task 2 (provider) va stoca datele într-un buffer global, utilizând
-
Pauze și controlul temporizării
- Se va folosi
xTaskDelay(delay)
pentru a intervalele de timp in cadrul tascurilor unde e cazul.
- Se va folosi
Materiale și Resurse
Componente hardware
- Microcontroler (ESP32, STM32 sau Arduino cu suport FreeRTOS)
- LED-uri
- Rezistor de 220Ω
- Butoane (minim 1, pentru funcționalitatea specificată)
- Breadboard
- Cabluri de conexiune (jumper wires)
- Sursă de alimentare (USB)
Resurse software
- Visual Studio Code cu extensia PlatformIO instalată
- Biblioteca FreeRTOS
- Emulator terminal (ex.: Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Simulator hardware (opțional, ex.: Proteus)
Recomandări
- Utilizarea unui IDE cu suport Arduino (de exemplu, Eclipse sau VS Code cu PlatformIO) pentru gestionarea proiectelor modulare.
- Validarea codului printr-un simulator hardware (ex.: Proteus) înainte de testarea pe hardware real.
- Implementarea funcționalităților pentru fiecare periferic (LED, buton, buffer etc.) în fișiere separate pentru a facilita reutilizarea.
- Respectarea convențiilor de codare (
CamelCase
,snake_case
) și documentarea detaliată a soluției.
Cerințe obligatorii:
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Pontaj
- Nu se accepta rapoartele care nu corespund cerintelor de prezentare
- 50% Prezentarea simpla a functionarii sistemului elaborat.
- 10% Explicarea semafoarelor și bufferului pentru sincronizare între task-uri
- 10% Explicarea interfeței hardware-software a stackurilor periferiilor și metodologia implementată
- 10% Prezentarea schemelor electrice si diagramelor scheme bloc SW
- 10% Demonstrarea funcționării fizice a soluției
- 10% Implementarea unui comportamnet improvizat aditional cu utilizare servicii FreeRTOS (de ex cu utlizare mutex-uri)
NOTĂ: Pontajul maxim este posibil doar la prezentarea funcționării fizice a soluției!, SI implementare a unui comportament aditional improvizat
- Penalizare: -10% pentru fiecare săptămână întârziere de la deadline.
Lab 2.2 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 3.1 : Senzori - Achizitie de semnal
Realizarea applicatiilor cu de achiziție a semnalelor din mediuil extern de la senzori, si afișare parametrul fizic
Lucrare de laborator Nr. 3.1: Senzori - Achiziție Semnal
Scopul lucrării
Realizarea unei aplicații modulare pentru un microcontroler (MCU) care să achiziționeze semnale de la un senzor (analogic sau digital), să gestioneze semnalele și să afișeze parametrii fizici măsurați pe un terminal (LCD și/sau Serial), utilizând STDIO pentru afișare și FreeRTOS pentru gestionarea recurenței și offset-urilor.
Obiectivele lucrării
- Familiarizarea cu principiile de achiziție a semnalelor de la senzori analogici și digitali.
- Definirea și gestionarea semnalelor în cadrul aplicației.
- Implementarea unei soluții pentru achiziția recurentă a datelor de la un senzor, utilizând FreeRTOS pentru planificarea task-urilor.
- Utilizarea interfeței STDIO (printf, scanf etc.) pentru generarea rapoartelor de stare a sistemului și afișarea datelor achiziționate pe LCD și/sau Serial.
- Documentarea arhitecturii software și prezentarea schemelor bloc și schemelor electrice, ca parte integrantă a metodologiei de proiectare.
Definirea problemei
Să se realizeze o aplicație în baza de MCU care să prelucreze și să afișeze datele achiziționate de la un senzor (analogic sau digital). Aplicația trebuie să îndeplinească următoarele cerințe:
- Achiziția semnalului: Să se achiziționeze semnalul de la senzorul selectat (dintr-o listă predefinită sau de pe site-ul http://www.37sensors.com/).
- Recurența achiziției: Achiziția să fie realizată cu o recurență prestabilită, utilizând FreeRTOS și funcțiile
vTaskDelayUntil()
pentru offset șivTaskDelay()
pentru recurență. - Gestionarea semnalelor: Să se definească și să se gestioneze semnalele în cadrul aplicației, inclusiv starea sistemului și alte informații utile.
- Afișarea datelor:
- Să se afișeze datele achiziționate pe un afișor LCD și/sou pe terminalul Serial, utilizând interfața STDIO (printf) in format de raport strucutrat recurent.
- Să se creeze un task FreeRTOS cu o recurență de 500 ms pentru afișarea periodică a stării sistemului, semnalelor și altor informații utile.
- Modularitate: Să se implementeze funcționalitățile pentru achiziția, gestionarea și afișarea datelor în module separate, pentru a facilita reutilizarea în proiecte viitoare.
Indicații pentru implementare
- Selectarea senzorului: Fiecare student va selecta un senzor (analogic sau digital) din lista atașată sau de pe site-ul menționat
- Achiziția semnalului:
- Pentru senzorii analogici, se va utiliza funcția
analogRead()
și se va aplica o scalare adecvată pentru a obține valoarea fizică. - Pentru senzorii digitali, se va utiliza protocolul de comunicare specific (de exemplu, I2C, SPI sau UART) pentru citirea datelor.
- Pentru senzorii analogici, se va utiliza funcția
- Recurența achiziției:
- Se va utiliza FreeRTOS pentru crearea și planificarea task-urilor.
- Pentru recurență, se va folosi
vTaskDelayUntil()
pentru a asigura intervale precise între achiziții. - Pentru offset-uri între task-uri, se va folosi
vTaskDelay()
.
- Gestionarea semnalelor:
- Să se definească semnalele relevante pentru aplicație (de exemplu, starea senzorului, erori, alerte etc.).
- Să se gestioneze aceste semnale în cadrul task-urilor FreeRTOS.
- Afișarea datelor:
- Se va utiliza interfața STDIO (printf) pentru afișarea datelor pe LCD și/sau Serial.
- Să se creeze un task FreeRTOS cu o recurență de 500 ms pentru afișarea periodică a stării sistemului, semnalelor și altor informații utile.
Materiale și resurse
Componente hardware:
- Microcontroler cu suport FreeRTOS (ESP32, STM32 sau Arduino cu FreeRTOS).
- Senzor (analogic sau digital) selectat din listă sau de pe http://www.37sensors.com/.
- Afișor LCD (2x16, 4x20 sau similar).
- Breadboard.
- Cabluri de conexiune (jumper wires).
- Sursă de alimentare (USB).
Resurse software:
- Visual Studio Code cu extensia PlatformIO instalată.
- Bibliotecă FreeRTOS.
- Emulator terminal (ex.: Monitor Serial din PlatformIO, TeraTerm sau Putty).
- Biblioteci specifice pentru senzor și LCD (dacă este necesar).
- Simulator hardware (opțional, ex.: Proteus).
Recomandări
- Se recomandă utilizarea unui IDE cu suport Arduino (de exemplu, Eclipse sau VS Code cu PlatformIO) pentru gestionarea proiectelor modulare.
- Pentru validare, se recomandă utilizarea unui simulator hardware (ex.: Proteus) înainte de testarea pe hardware real.
- Respectarea convențiilor de codare (CamelCase, snake_case) și documentarea detaliată a soluției.
Cerințe obligatorii
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Pontaj
- 50% – Demonstrarea funcționării corecte a achiziției, gestionării semnalelor și afișării datelor.
- 10% – Utilizarea corectă a funcțiilor STDIO (printf) pentru generarea rapoartelor de stare.
- 10% – Explicarea interfeței hardware-software pentru stackurile de periferii (sensor, UI) și a metodologiei implementate.
- 10% – Explicarea schemelor electrice și a diagramelor bloc.
- 10% – Demonstrarea funcționării fizice a soluției.
- 10% – Implementarea unui comportament adițional improvizat (de exemplu, afișarea unui mesaj de avertizare la depășirea unui prag).
NOTĂ: Pontajul maxim este posibil doar la prezentarea funcționării fizice a soluției și implementarea unui comportament adițional improvizat.
Penalizare: -10% pentru fiecare săptămână întârziere de la deadline.
Lab 3.1 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 3.2 : Senzori - Conditionare semnal.
Realizarea applicatiilor cu de condiționare semnalulele de la senzori, si afișarea parametrului fizic
Lab 3.2: Senzori – Condiționare Semnal
Scopul lucrării
Realizarea unei aplicații modulare pentru un microcontroler (MCU), care să efectueze condiționarea semnalului achiziționat de la un senzor analogic sau digital, aplicând metode de filtrare digitală și conversii specifice, pentru a afișa parametrii fizici prelucrați pe un terminal LCD și/sau Serial, folosind interfața STDIO și FreeRTOS.
Obiectivele lucrării
- Familiarizarea cu metodele de condiționare digitală a semnalelor provenite de la senzori analogici și digitali.
- Implementarea algoritmilor de filtrare digitală (filtru sare și piper, filtru mediere ponderată).
- Aplicarea conversiei ADC-Voltage și Voltage-Parametru fizic.
- Utilizarea bibliotecii STDIO pentru generarea rapoartelor periodice privind datele prelucrate.
- Documentarea arhitecturii software și prezentarea schemelor bloc și schemelor electrice ca parte integrantă a metodologiei de proiectare.
Definirea problemei
Să se realizeze o aplicație bazată pe MCU pentru condiționarea semnalului preluat de la un senzor analogic sau digital (selectat din PDF-ul atașat sau http://www.37sensors.com), conform următoarelor cerințe:
-
Achiziția semnalului:
- Să se achiziționeze semnalul de la senzorul selectat (analogic sau digital, non-binar).
-
Condiționarea semnalului:
- Implementarea unui filtru digital de tip "sare și piper" pentru eliminarea zgomotului impulsiv.
- Implementarea unui filtru digital de mediere ponderată pentru netezirea suplimentară a semnalului achiziționat.
-
Conversie:
- Conversia ADC-to-Voltage și Voltage-to-Parametru fizic conform specificațiilor senzorului ales.
- Aplicarea saturării pentru a limita valorile prelucrate în intervale valide.
-
Afișarea datelor:
- Datele procesate să fie afișate periodic (LCD și/sau terminal Serial) folosind STDIO (printf).
-
Recurență și offset:
- Să se utilizeze FreeRTOS pentru stabilirea recurenței precise a achiziției și condiționării semnalului folosind vTaskDelayUntil() și offset-uri cu vTaskDelay().
Materiale și resurse
Componente hardware:
- Microcontroler cu suport FreeRTOS (ESP32, STM32 sau Arduino cu FreeRTOS)
- Senzor (analogic/digital non-binar)
- LCD (2x16, 4x20 sau similar)
- Rezistoare (în funcție de senzor)
- Breadboard
- Cabluri jumper
- Sursă de alimentare (USB)
Resurse software:
- Visual Studio Code cu PlatformIO
- Biblioteca FreeRTOS
- Emulator terminal (Monitor Serial din PlatformIO, TeraTerm sau Putty)
- Biblioteci specifice senzorului și LCD-ului
- Simulator hardware (opțional, ex.: Proteus)
Recomandări
- Pentru validare, se recomandă utilizarea unui simulator hardware (ex.: Proteus).
- Funcționalitățile pentru fiecare echipament periferic (LED, buton, LCD, senzor) trebuie realizate în fișiere separate, pentru reutilizare.
- Respectarea convențiilor de codare (magic number și CamelCase).
Cerințe obligatorii
- Respectarea structurii modulare a proiectului.
- Prezentarea schițelor arhitecturale, schemelor bloc și schemelor electrice.
- Respectarea formatului raportului conform normelor UTM.
Pontaj
- 50% – Aplicația de bază pentru achiziția și afișarea simplă a parametrului pe LCD/Serial prin STDIO.
- 10% – Implementarea filtrului digital "sare și piper".
- 10% – Implementarea filtrului digital de mediere ponderată.
- 10% – Realizarea aplicatiei in Taskuri FreeRTOS, dintre care unul dedicat pentru raportare recurents (printare mesaje).
- 10% – Condiționarea completă aplicată suplimentar unui alt senzor decât cel utilizat anterior (ex.: DHT sau Ultrasonic),
- 10% – Demonstrarea funcționării fizice complete a soluției.
NOTĂ:
- Pontajul maxim este posibil doar la prezentarea funcționării fizice complete a soluției și implementarea comportamentului adițional improvizat!
- Penalizare: -10% pentru fiecare săptămână întârziere față de termenul stabilit.
Întrebări de control
- Care este necesitatea condiționării semnalului achiziționat de la senzori în aplicațiile embedded IoT?
- Cum funcționează și care sunt avantajele unui filtru "sare și piper"?
- Ce reprezintă un filtru digital cu mediere ponderată și când este recomandat a fi utilizat?
- Care sunt implicațiile aplicării saturării în procesul de conversie ADC-Voltage și Voltage-parametru fizic?
- Care sunt provocările implementării filtrelor digitale pe microcontrolere și cum pot fi acestea optimizate?
- Cum poate contribui utilizarea FreeRTOS la îmbunătățirea stabilității și recurenței procesului de achiziție și condiționare semnalelor?
Lab 3.2 Recording
----------------------------------------------------------------------
Lucrare de Laborator Nr 4.1 : Actuatori cu interfata binara - Releu.
Realizarea applicatiilor de generare actiune asupra mediuylui extern, conversia semnalul in putere, acționare unui actuator.
Definire problemă:
Sa se realizeze o aplicație in baza de MCU care va controla dispozitivele de acționare cu comenzi recepționate de la interfața serială și raportare către LCD.
Dispozitivele de acționare vor fi următoarele:
- un bec electric prin intermediul releului cu comenzi de ON si OFF
Recomandări:
- pentru validare se recomanda utilizarea unui simulator, de ex Proteus.
- funcționalitățile pentru fiecare echipament periferic (rele, serial, lcd, actuator) sa fie realizate în fișiere separate, în scop de reutilizare in lucrările următoare
- utilizarea regulilor de codare magic number si CamelCase
Pontaj:
- nota 5 - simpla aplicație de acționare a dispozitivelor
- +1 - pentru implementare comenzi releu de la interfața seriala
- +1 - pentru implementare pe layere a driverului de bec electric
- +1 - pentru implementare comenzi control motor de la interfață serială
- +1 - pentru implementare pe layere a driverului control motor DC
- +1 - pentru demonstrarea probelor de implementare fizica
Penalități:
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare săptămână întârziere de la deadline
- -1 - penalizare pentru nerespectare format raport, magic number, camelCase și a regulilor de formatare a codului
----------------------------------------------------------------------
Lucrare de Laborator Nr 4.2 : Actuatori cu interfata analogica - Motor in curent continuu
Realizarea applicatiilor de generare actiune asupra mediuylui extern, conversia semnalul in putere, acționare unui actuator.
Sa se realizeze o aplicatie in baza de MCU care va controla dispozitivele de actionare cu comenzi receptionate de la interfata seriala si raportare catre LCD.
Dispozitivele de actionare vor fi urmatoarele:
- un motor in curent continuii cu comenzi de setare a puterii motorului intre (-100% .. 100%) adica inainte si inapoi, si viteza rin intermediul driverului L298
Driverele de control a periferiilor se vor realiza pe nivele de abstractie
Pontaj
- nota 5 - simpla aplicatie de actionare a dispozitivelor
- +1 - pentru implementare comenzi control motor de la interfata seriala
- +1 - pentru implementare afisare stare actuator la LCD
- +1 - pentru implementare pe layere a driverului control motor DC
- +1 - pentru demonstrarea probelor de implementare fizica
Penalitati
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Lucrare de Laborator Nr 5.1 : Control funcțional - ON-OFF cu Histereza
Realizarea applicatiilor de Control funcțional cu metoda de reglare automata - ON/OFF cu histereza
Descrierea Problemei
- Sa se realizeze o aplicatie in baza de MCU care va implementa sisteme de control pentru control temperatura sau umeditate
cu aplicarea aplicarea metodei de control On-Off cu histeresis cu actionare prin releu - Set point (valoarea de referinta pentru control) se va seta de la una din surse, la alegere- un potentiometru
- doua butoane pentru UP/Down
- sensor encoder
- keypad
- interfata serial - Valoarea de Setpoint si cea Curenta se vor afisa la LCD,
Recomandare:
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente pentru STDIO, sensori si dispozotivele de actionare
- Pentru scopuri de debug si demonstrare valorile de interes vor fi trimise catre Plotter - mecanizm de afisare a graficelor din platforma arduino
Pontaj
- nota 5 - simpla aplicatie de demonstrare
- +1 - pentru implementare control On/Off
- +1 - pentru implementare UI pentru setpoint
- +1 - pentru afisare a valorilor si parametrilor a sistemului de control
- +1 - pentru demonstrarea probelor de implementare fizica
penalitati
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
- Sa se realizeze o aplicatie in baza de MCU care va implementa sisteme de control pentru control temperatura sau umeditate
----------------------------------------------------------------------
Lucrare de Laborator Nr 5.2 : Control funcțional - PID Control
Realizarea applicatiilor de Control funcțional cu metoda de reglare automata -PID Control
Descrierea Problemei
- Sa se realizeze o aplicatie in baza de MCU care va implementa sisteme de control pentru control turatii motor
cu aplicarea metodei PID cu un encoder in calitate de sensor, si driver L298 pentru aplicarea puterii la motor.
NOTA: se poate alege si la alt parametru de control, cu constrangerea ca actionarea va fi cu o rezolutie de min 8 biti. - Set point (valoarea de referinta pentru control) se va seta de la una din surse, la alegere
- un potentiometru
- doua butoane pentru UP/Down
- sensor encoder
- keypad
- interfata serial - Valoarea de Setpoint si cea Curenta se vor afisa la LCD,
Recomandare:
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente pentru STDIO, sensori si dispozotivele de actionare
- Pentru scopuri de debug si demonstrare valorile de interes vor fi trimise catre Plotter - mecanizm de afisare a graficelor din platforma arduino
Pontaj
- nota 5 - simpla aplicatie de demonstrare
- +1 - pentru implementare control PID
- +1 - pentru implementare UI pentru setpoint
- +1 - pentru afisare a valorilor si parametrilor a sistemului de control
- +1 - pentru demonstrarea probelor de implementare fizica
penalitati
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
- Sa se realizeze o aplicatie in baza de MCU care va implementa sisteme de control pentru control turatii motor
----------------------------------------------------------------------
Lucrare de Laborator Nr 6.1 : Control comportamental cu Automate Finite: Button-Led
Realizarea applicatiei de Control comportamental cu Automate Finite - Automat de control Button-Led
Descrierea Problemei
Sa se realizeze o aplicatie ce va implementa Automatele finite dupa cum urmeaza:
- Proiectare Automat Finit aplicatie Button-Led.
Recomandare:
- a se utiliza interfata seriala pentru rapoarte de functionare a automatelor
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente
- revizuiti resursele predate la curs
Pontaj
- nota 5 - simpla aplicatie de comunicare
- +1.0 - pentru implementare modulara a proiectului
- +1.0 - pentru prezentarea si explicarea diagramelor Automatelor finite Button-Led
- +1.0 - pentru prezentarea si explicarea tabelelor de tranzitii Button-Led
- +1.0 - pentru demonstrarea probelor de implementare fizica
NOTA: pontaj maxim posibil doar la prezentare functionare fizica !!
penalitati
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Lucrare de Laborator Nr 6.2 : Control comportamental cu Automate Finite: Semafor
Realizarea applicatiei de Control comportamental cu Automate Finite - Automat de control a unui semafor
Descrierea Problemei
Sa se realizeze o aplicatie ce va implementa Automatele finite dupa cum urmeaza:
- Proiectare Automat Finit aplicatie Semafor
Recomandare:
- a se utiliza interfata seriala pentru rapoarte de functionare a automatelor
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente
- revizuiti resursele predate la curs
Pontaj
- nota 5 - simpla aplicatie
- +1.0 - pentru implementare modulara a proiectului
- +1.0 - pentru prezentarea si explicarea diagramelor Automatelor finite pentru Semafor
- +1.0 - pentru prezentarea si explicarea tabelelor de tranzitii pentru Semafor
- +1.0 - pentru demonstrarea probelor de implementare fizica
NOTA: pontaj maxim posibil doar la prezentare functionare fizica !!
penalitati
- -1 - penalizare pentru NE utilizarea STDIO
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Lucrare de Laborator Nr 7.1 : Comunicații cu module periferice: I²C - Protocol HW
Realizarea applicatiilor cu comunicatii interne - intre coponentele electronice ale dispozitivului cu interfete HW de comunicare
Descriere
Sa se realizeze o aplicatie ce va implementa comunicatiile intre echipamente dupa cum urmeaza:
1. Protocol fizic de comunicare - Comunicarea intre DOUA Microcontrollere prin interfata I²C
- MCU1 - implementeaza sensorul digital cu interfata I2C pentru sensorul ultrasonic HCS-04, unde se executa colectarea datelor de la interfata sensorului si se retransmite catre interfata I2C la detectarea unei cereri de citire a datelor.
- MCU2 - executa cererea prin interfata I2C catre sesorul digital ultrasonic (MCU+HCS-04) si afiseaza datele pe interata seriala
Recomandare:
- asa cum se va utiliza interfata seriala, se implementarea pentru interfata seriala va fi un textuala
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente
- revizuiti resursele predate la curs
Pontaj:
- nota 5 - simpla aplicatie de comunicare I²C
- +1.0 - pentru implementare modulara a proiectului
- +1.0 - MCU1 trimite date impachetare prin I²C,
- +1.0 - MCU2 decodifica pachete venite si retransmite pe interfata seriala
- +1.0 - pentru demonstrarea probelor de implementare fizica
NOTA: pontaj maxim posibil doar la prezentare functionare fizica !!
penalitati
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Lucrare de Laborator Nr 7.2 : Comunicații intre dispozitive: Serial - Protocol SW
Realizarea applicatiilor cu comunicatii externe - Intre dispozitive cu protocoale de comunicare SW.
Descriere
Sa se realizeze o aplicatie ce va implementa comunicatiile intre echipamente dupa cum urmeaza:
1. Protocol logic de comunicare - cererea de date prin interfata serial, in format text respectand un protocol de comunicare care va avea campurile:
- indicator de start pachet
- indicator de sfarsit
- contorizare pachete
- ID emitator
- ID receptor
- tipul pachetului
- <alte campuri optional>
- date pachet - Payload
- suma de control - suma tuturor valorilor numerice din pachet
cererile venite din interfata seriala vor fi verificate dupa patern, si in caz de pachet valid se va intereta comanda. se va raspunde cu un pachet conform aceluias protocol.
implementare la o comanda obligatorie pentru implementare este cererea de date de la sensorul digital implementat in lab precedent.
sa si implementezi inca o camanda la alegere, pentru diversitate.Recomandare:
- asa cum se va utiliza interfata seriala, se recomanda invocarea a unei a doua interfete seriale (Serial1 sau SoftwareSerial)
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente
- revizuiti resursele predate la curs
Pontaj:
- nota 5 - simpla aplicatie de comunicare
- +1.0 - pentru implementare modulara a proiectului
- +1.0 - MCU1 trimite date impachetate conform protocolului catre MCU2
- +1.0 - MCU2 detecteaza si interpreteaza corect datele de la MCU1 prin interfata seriala
- +1.0 - pentru demonstrarea probelor de implementare fizica
NOTA: pontaj maxim posibil doar la prezentare functionare fizica !!
penalitati
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Lucrare de Laborator Nr 7.3 : Comunicații Internet: MQTT - Cloud
Realizarea applicatiilor cu comunicatii Internet - prin protocolul MQTT penru interactiunea cu o resursa Cloud
Descriere
Sa se realizeze o aplicatie ce va implementa comunicatiile intre echipamente dupa cum urmeaza:
- Realizarea unei aplicatii decomunicare Internet prin protocolul MQTT penru interactiunea cu o resursa Cloud
- Colectarea datelor de la sensori si trimitere catre un broker MQTT
- urmarirea mesajelor de la un proker MQTT si setarea starii unui actuator la alegere
- Datele sunt vizualizate si controlate de la un dashboard Internet (ThingsBoard sau HiveMQ)
Recomandare:
- Reutilizati la maxim solutiile prezentate in laboratoarele precedente
- A se utiliza ESP32 in calitate de MCU
- Urmati tutoriale existemte pentru realizarea conexiunuii cu serverul MQTT
- https://thingsboard.io/docs/samples/esp32/gpio-control-pico-kit-dht22-sensor/
- https://www.survivingwithandroid.com/esp32-mqtt-client-publish-and-subscribe/
- revizuiti resursele predate la curs
Pontaj:
- nota 5 - simpla aplicatie de comunicare
- +1.0 - pentru implementare modulara a proiectului
- +1.0 - MCU (ESP32) trimite datele catre proker MQTT
- +1.0.- MCU (ESP32) primeste datele de la server MQTT
- +1.0 - datele sunt vizualizate si controlate de la un dashboard Internet (ThingsBoard sau HiveMQ)
- +1.0 - pentru demonstrarea probelor de implementare fizica
NOTA: pontaj maxim posibil doar la prezentare functionare fizica !!
penalitati
- -1 - penalizare pentru fiecare saptamana intarziere de la deadline
- -1 - penalizare pentru nerespectare format raport
----------------------------------------------------------------------
Proiect - Alternativa Lucrari de laborator
sistem incorporat reprezinta un dispozitiv electronic în cadrul căruia este incorporată o unitate de procesare.. În acest modul se va analiza conceptul sistemului Incorporat definind o arhitectură generică, vom analiza aspectul arhitecturii HW pe nivele de incorporare, aspectul arhitecturii SW pe nivele de abstracție, la fel, vom da noțiunea de sisteme, Interfețe și semnale.
Realizarea unui proiect in baza componentelor studiate la laborator
In calitate de faze vom avea la moment:
1. Definire si clarificare tema (requirements) + o scurta cercetare introductiva la tema, ca regula reprezinta sectiunea de introducere de la orce raport de laborator
2. Arhitectura sistemului - o diagrama de sistem, care poate fi ajustata pe parcurs
3.1. Device abstracvtion - Achizite informatie - reprezinta metoda de achizitie specifica proiectului pe care il aveti. Driver modul sensor + conditionare (Problema rezolvata la ultima lucrare de laborator)
3.2. Device Abstraction - Actionare asupra mediului - Driver actuator (similar ca si la sensor - vom da exemplu la laboratorRaportul va cntine:
📌 Scopul si formularea problemei
📌 O descrierea a pasilor in realizarea proiectulu (lista de activitati care am facut ca sa realizam proiectul)
📌 scurta introducere in metodele si componentele utilizate in proiect
📌 Definirea Arhitecturii generale a sistemului - Vezi in prezentari de la curs exemple de arhitectura de sistem ( a se adauga comentarii de descriere succinta al arhitecturii)
📌 Definirea Arhitecturii in straturi - Vezi prezentarile de la curs exemple de arhitecturi in straturi ( a se adauga comentarii de descriere succinta al arhitecturii)
📌O schita electrica a proiectului( a se adauga comentarii de descriere succinta al schitei electrice)
📌 Descrierea functionala/comportamentala si rolul modulelor/componentelor electronice
📌 Descrierea functionala/comportamentala si rolul componentelor SW (noi leam separat in fisiere un fisier e o componenta) cu scheme Blok flow chart sau altele cu descrierile aferente, extrase de sectiuni critice de cod.
Prezentarea rezultatelor - Simulari, poze, screenshoturi - Probe ca sistemul functioneaza.
📌ANEXA: Codul sursa comentat
T1. Introducere in Internetul Lucrurilor (IoT)
sistem incorporat reprezinta un dispozitiv electronic în cadrul căruia este incorporată o unitate de procesare.. În acest modul se va analiza conceptul sistemului Incorporat definind o arhitectură generică, vom analiza aspectul arhitecturii HW pe nivele de incorporare, aspectul arhitecturii SW pe nivele de abstracție, la fel, vom da noțiunea de sisteme, Interfețe și semnale.
- Arhitectura Sistemelor Incorporate
- Arhitectura HW pe nivele de incorporare
- Arhitectura SW pe nivele de abstractie
- Sisteme, Interfețe si Semnale
Test Expres C1. contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест C1. содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Test Expres C2. contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест T2. содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
T2. Interacțiunea cu Utilizatorul
Interfața cu utilizatorul reprezintă totalitatea componentelor ce facilitează interacțiunea cu utilizatorul sistemului. ca regulă reprezintă o colecție de senzori și dispozitive de acționare specializați. În acest modul se vor analiza interfețe de la cele mai simple pana la cele complexe, urmând a elucida modul de funcționare a interfețelor din categoriile cum ar fi : Interfețe binare, Interfețe tablouri uni si bi-dimensionale, Interfața standard de intrare/ieșire STDIO și Interfețe complexe de interacțiune.
- Interfețe binare
- Interfețe tablouri uni si bi-dimensionale
- Interfața standard de intrare/ieșire STDIO
- Interfețe complexe de interacțiune
----------------------------------------------------------------------
Test Expres C3. contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест C1. содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
T3. Sisteme de operare pentru sisteme Incorporate
Sisteme de operare reprezintă mecanismul de gestionare a resurselor unui sistem de calcul cum ar fi memoria, periferiile și timpul de procesare. În acest modul vom analiza modalitatea de operare începând de la operarea în bucla Infinită, vom defini conceptul de funcționare a sistemelor secvențiale și vom analiza modul de funcționare a sistemelor de operare preemptive. Ca și exemplu funcțional vom analiza soluția open source pentru sisteme de operare în timp real - FreeRTOS.
- Operare în bucla Infinită
- Sisteme secventiale
- Sisteme de Opreare Preemptive
- Sistemul de Operare in Timp Real FreeRTOS
----------------------------------------------------------------------
Testul Expres contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Testul Expres contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
T4. Senzori
Senzorii reprezinta totalitatea de componente realizate prin inginerie software (SW), inginerie electrică (EE) și inginerie mecanica (ME) care participa la transformarea unui semnal din mediul exterior, reprezentat de o mărime fizică (PHY) într-un semnal intern al sistemului. În acest modul vom da o clasificare a senzorilor, vom analiza metodele de achiziție a semnalelor și modalitățile de condiționare și prelucrare a semnalului achiziționat.
- Clasificare Sensori
- Metode de Achiziții semnal
- Condiționare semnal
- Prelucrare semnal achiziționat
----------------------------------------------------------------------
Testul Expres contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Testul Expres contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
Referințe:
T5. Actuatori
Actuatorii reprezinta totalitatea de componente realizate prin inginerie software (SW), inginerie electrică (EE) și inginerie mecanica (ME) care participa la transformarea unui semnal interiorul sistemului într-o acțiune asuprea mediul exterior, reprezentat de o mărime fizică (PHY). În acest modul vom da o clasificare a actuatorilor, vom analiza metodele de acționare, modalitățile de condiționare și prelucrare a semnalului de acțiune, cât și a convertoarelor de putere.
- Clasificare Actuatori
- Metode de Actionare
- Conditionare semnal de actiune si control
- Convertoare de putere
----------------------------------------------------------------------
Testul Expres contine 5 intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит 5 вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
T5. Diagnoze și Protectii
Diagnoza reprezinta mecanismul de monitorizare a funcționalităților sistemului și generare de reacții la anumite situații. În acest modul vom defini modalitatea de detecție a simptomelor, mecanisme de calificare a diagnozelor, gestionare a erorilor și generare de reacții la anumite situații detectate în cadrul sistemului
Protecțiile reprezintă mecanismele de limitare a funcționalităților in dependent de anumite simptome pentru a proteja sistemul sau mediul, mecanismele fiind din categoriile Informare, Limitare, Derating, Blocare sau altele
- Detectare Simptome
- Calificare diagnoze
- Reacții la simptome si erori
- Gestionare Erori
- Protecții
----------------------------------------------------------------------
Testul Expres contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит несколько вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
T7. Control
Control reprezinta o abstracție ce definește funcționalitatea sistemului pentru a rezolva o problemă specifică sistemului. În acest modul se vor analiza diverse modalități de control de la metode simple, fără reacție inversa cum este controlul în buclă deschisă, sau cu reacție inversa control On/Off, pana la metode mai complexe cum ar fi control PID, control cu Automate Finite și Control Fuzzy, și vom introduce noțiunea de interpretor de program
- Control in buclă deschisă
- Control On/Off
- Control PID
- Control cu Automate Finite
- Control cu Interpretare Program
- Control Fuzzy
----------------------------------------------------------------------
Testul Expres contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит несколько вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Testul Expres contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит несколько вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Testul Expres contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит несколько вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
----------------------------------------------------------------------
Testul Expres contine un set de intrebari, si se evalueaza automat.
- testul îl veți avea șansa sa îl scrieți o singura data
- în intervalul orar strict stabilit - 5 minute. dupa acest interval testul se va preda automat
- In timpul testului nu veți avea posibilitatea sa vedeți care anume răspuns ați greșit sau scris corect.
Експресс тест содержит несколько вопросов и оценивается автоматически.
- у вас будет возможность написать тест только один раз
- в строго установленный временной интервал - 5 минут. по истечении этого интервала тест будет сдан автоматически
- во время теста вы не сможете увидеть, какой ответ вы написали неправильно.
T8. Comunicare
Comunicarea reprezintă modalitatea de schimb de informație intre interlocutori. În acest modul vom da noțiunea de comunicare, vom analiza aspectul fizic al rețelelor de comunicare, vom analiza mecanismele de transfer de informație prin protocoale fizice si protocoale logice de comunicare. deasemenea vom identifica modalități de comunicare intre componentele sistemului, comunicare intre dispozitive la fel ca și aspectul comunicării cu rețeaua Internet și Cloud.
- Noțiune de comunicare
- Rețele de comunicare
- Protocoale fizice
- Protocoale logice
- comunicare intre componente
- comunicare intre dispozitive
- Comunicații Internet & Cloud
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
Part 1
Part 2
T9. Securitatea Cibernetica
----------------------------------------------------------------------
T10 Aplicatii IoT
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
Referinte Curs
Referințe: