This shows you the differences between two versions of the page.
|
si:teme2025:tema2 [2025/12/14 16:49] florin.stancu |
si:teme2025:tema2 [2025/12/21 11:19] (current) florin.stancu |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * **Publicare**: | * **Publicare**: | ||
| - | * **15 Decembrie 2025** | + | * **15 Decembrie 2025 18:00** |
| * **Termen de predare**: | * **Termen de predare**: | ||
| Line 34: | Line 34: | ||
| Dorim să realizăm un firmware minimalist pentru un dispozitiv IoT ce va controla niște LED-uri ("ipotetice") prin GPIO + aplicație web folosind un Raspberry PI (emulate folosind [[https://www.qemu.org/|qemu]]). | Dorim să realizăm un firmware minimalist pentru un dispozitiv IoT ce va controla niște LED-uri ("ipotetice") prin GPIO + aplicație web folosind un Raspberry PI (emulate folosind [[https://www.qemu.org/|qemu]]). | ||
| - | Pe scurt, va trebui să realizați o imagine incorporabilă cu Linux ce va implementa o aplicație ce va controla o presupusă instalație de lumini a bradului de Crăciun prin GPIO (folosind [[https://blog.lxsang.me/post/id/33|Linux GPIO API]]) și expune pe rețea un server HTTP cu o pagină web de vizualizare și control a luminilor (aici aveți libertate deplină asupra desenului / animațiilor / controalelor oferite). | + | Pe scurt, va trebui să realizați o imagine incorporabilă cu Linux ce va implementa o aplicație ce va controla o presupusă instalație de lumini a bradului de Crăciun prin GPIO (folosind [[https://web.archive.org/web/20250715003035/https://blog.lxsang.me/post/id/33|Linux GPIO API]]) și expune pe rețea un server HTTP cu o pagină web de vizualizare și control a luminilor (aici aveți libertate deplină asupra desenului / animațiilor / controalelor oferite). |
| Exemplu de frontend web (aspectul nu contează, dar puteți să faceți ceva mai drăguț dacă aveți timp/chef pentru bonus): | Exemplu de frontend web (aspectul nu contează, dar puteți să faceți ceva mai drăguț dacă aveți timp/chef pentru bonus): | ||
| Line 169: | Line 169: | ||
| * Recomandarea ar fi să faceți un serviciu daemon care va primi comenzi de la serverul web și va rula o buclă internă de bit toggling pe interfața GPIO a Linux-ului. | * Recomandarea ar fi să faceți un serviciu daemon care va primi comenzi de la serverul web și va rula o buclă internă de bit toggling pe interfața GPIO a Linux-ului. | ||
| - | * Mai întâi, citiți aici documentație despre [[https://blog.lxsang.me/post/id/33|Linux GPIO API]]. | + | * Mai întâi, citiți aici documentație despre [[https://web.archive.org/web/20250715003035/https://blog.lxsang.me/post/id/33|Linux GPIO API]]. |
| * Va fi necesar să controlați doar primii 20 de GPIOs (pinii indexați 0-19 ai ''/dev/gpiochip0'') | * Va fi necesar să controlați doar primii 20 de GPIOs (pinii indexați 0-19 ai ''/dev/gpiochip0'') | ||
| * Atenție: [[https://pinout.xyz/|numerotarea pinilor pe Raspberry PI]] NU corespunde cu organizarea logică a acestora! | * Atenție: [[https://pinout.xyz/|numerotarea pinilor pe Raspberry PI]] NU corespunde cu organizarea logică a acestora! | ||
| Line 220: | Line 220: | ||
| Deoarece Moodle nu acceptă dimensiuni foarte mari, soluția temei va fi împărțită și trimisă în două moduri (vă rugăm să respectați convențiile de denumire cu exactitate!): | Deoarece Moodle nu acceptă dimensiuni foarte mari, soluția temei va fi împărțită și trimisă în două moduri (vă rugăm să respectați convențiile de denumire cu exactitate!): | ||
| - | * **arhivă cu codul sursă** + Readme + hash și alte metainformații (vedeți mai jos) -> [[TODO_MOODLE|pe Moodle]] | + | * **arhivă cu codul sursă** + Readme + hash și alte metainformații (vedeți mai jos) -> [[https://curs.upb.ro/2025/mod/assign/view.php?id=86207|pe Moodle]] |
| * **arhivă cu binarele / imaginea rulabilă** -> le urcați pe [[https://ctipub-my.sharepoint.com|Sharepoint-ul contului Microsoft de student]] și dați share prin Link accesibil tuturor conturilor (sau, cel puțin cu permisiuni la ''florin.stancu@upb.ro''), însă nepublicat (pe care ni-l trimiteți doar nouă în fișierul ''url.txt''); | * **arhivă cu binarele / imaginea rulabilă** -> le urcați pe [[https://ctipub-my.sharepoint.com|Sharepoint-ul contului Microsoft de student]] și dați share prin Link accesibil tuturor conturilor (sau, cel puțin cu permisiuni la ''florin.stancu@upb.ro''), însă nepublicat (pe care ni-l trimiteți doar nouă în fișierul ''url.txt''); | ||
| Line 280: | Line 280: | ||
| * Tema are deadline **HARD** (nu mai sunt admise soluții după expirare), așadar se recomandă să vă apucați din timp de rezolvarea acesteia! | * Tema are deadline **HARD** (nu mai sunt admise soluții după expirare), așadar se recomandă să vă apucați din timp de rezolvarea acesteia! | ||
| * :!: **ATENȚIE**: orice formă de plagiat nu va fi permisă și va duce la depunctare totală / restanță! | * :!: **ATENȚIE**: orice formă de plagiat nu va fi permisă și va duce la depunctare totală / restanță! | ||
| - | * Pe Moodle găsiți și [[TODO_forum|un forum]] ;) | + | * Pe Moodle găsiți și [[https://curs.upb.ro/2025/mod/forum/view.php?id=86208|un forum]] ;) |
| ===== Resurse ===== | ===== Resurse ===== | ||