Differences

This shows you the differences between two versions of the page.

Link to this comparison view

si:teme2022:tema2 [2022/12/11 18:05]
florin.stancu
si:teme2022:tema2 [2023/12/12 12:00] (current)
florin.stancu old revision restored (2023/01/13 22:44)
Line 5: Line 5:
  
 * **Termen de predare**: * **Termen de predare**:
-  * <color red>**14 Ianuarie 2023 23:55** - deadline HARD</​color>​+  * <color red>**15 Ianuarie 2023 23:55** - deadline HARD</​color>​
  
 * **Changelog:​** * **Changelog:​**
-  * //nothing, yet//+  * //**14 Ianuarie 2023 22:30**// - mărit deadline-ul până duminica ;) 
 +  * //**13 Ianuarie 2023 11:15**// - corectat numele fișierelor:​ ''​url.txt''​ + ''​checksum.txt''​ (CU extensie). 
 +  * //**05 Ianuarie 2023 13:40**// - reparat RESTful endpoints din text să fie ca în scriptul de Python de demo.
  
 <​note>​ <​note>​
Line 28: Line 30:
  
 <ifauth @si> <ifauth @si>
-<color red>CINE VEDE ASTA MAI JOS E ASISTENT:</​color>​+<color red>CINE VEDE ASTA E ASISTENT ​;) </​color>​
 </​ifauth>​ </​ifauth>​
  
Line 121: Line 123:
 Astfel, se definesc următoarele endpointuri RESTful HTTP (atenție: API-ul este strict!): Astfel, se definesc următoarele endpointuri RESTful HTTP (atenție: API-ul este strict!):
   * ''​GET /​api/​groups'':​ va întoarce un obiect JSON cu proprietatea ''​NG''​ (numărul de grupuri disponibile),​ e.g.: ''​{"​NG":​ 3}'';​   * ''​GET /​api/​groups'':​ va întoarce un obiect JSON cu proprietatea ''​NG''​ (numărul de grupuri disponibile),​ e.g.: ''​{"​NG":​ 3}'';​
-  * ''​GET /​api/​group/<​G>/​leds'':​ va întoarce un obiect JSON cu cheila ''​NL'':​ numărul de leduri din grupul curent, și ''​LC'':​ lista actuală de culori ale LED-urilor grupului ''<​G>''​ (fără caracterele ''<>'',​ sunt doar pentru a denota o variabilă),​ e.g., ''​{"​NL":​ 8, "​LC":​ [0, 0, 0, 1, 4, 2, 0, 0]}'';​ +  * ''​GET /​api/​group/<​G>/​state'':​ va întoarce un obiect JSON cu cheila ''​NL'':​ numărul de leduri din grupul curent, și ''​LC'':​ lista actuală de culori ale LED-urilor grupului ''<​G>''​ (fără caracterele ''<>'',​ sunt doar pentru a denota o variabilă),​ e.g., ''​{"​NL":​ 8, "​LC":​ [0, 0, 0, 1, 4, 2, 0, 0]}'';​ 
-  * ''​POST /​api/​group/<​G>/​static'':​ va primi un obiect JSON cu o singură cheie: ''​SC''​ cu valoarea: o listă (JSON Array) de culori pentru fiecare LED din grupul ''<​G>'',​ și va întoarce OK (HTTP 200); desigur, aceste noi setări trebuiesc propagate către aplicația de terminal ce redă ASCII Art-ul;+  * ''​POST /​api/​group/<​G>/​static'':​ va primi un obiect JSON cu o singură cheie: ''​LC''​ cu valoarea: o listă (JSON Array) de culori pentru fiecare LED din grupul ''<​G>'',​ și va întoarce OK (HTTP 200); desigur, aceste noi setări trebuiesc propagate către aplicația de terminal ce redă ASCII Art-ul;
   * ''​POST /​api/​group/<​G>/​animate''​ [**BONUS**]:​ va primi un obiect cu o cheie, ''​MC''​ care conține o matrice de culori pentru fiecare pas al animației, apoi pentru fiecare LED din grupul ''<​G>''​ și va întoarce OK (HTTP 200); tranzițiile vor fi făcute la fiecare secundă și va fi repetată automat până la revenirea la cazul simplu (cererea de mai sus); exemplu de mutare a culorilor asupra tuturor pozițiilor dintr-un grup: <​code>​   * ''​POST /​api/​group/<​G>/​animate''​ [**BONUS**]:​ va primi un obiect cu o cheie, ''​MC''​ care conține o matrice de culori pentru fiecare pas al animației, apoi pentru fiecare LED din grupul ''<​G>''​ și va întoarce OK (HTTP 200); tranzițiile vor fi făcute la fiecare secundă și va fi repetată automat până la revenirea la cazul simplu (cererea de mai sus); exemplu de mutare a culorilor asupra tuturor pozițiilor dintr-un grup: <​code>​
 [ [
Line 180: Line 182:
   * scripturile proprii de Yocto (layer, rețete, fișier ''​yml''​ pentru ''​kas''​) + sursele aplicației (în orice limbaje ați ales);   * scripturile proprii de Yocto (layer, rețete, fișier ''​yml''​ pentru ''​kas''​) + sursele aplicației (în orice limbaje ați ales);
   * fișier ''​README.txt''​ cu explicații referitoare la funcționarea soluției, configurații speciale de optimizare folosite etc.   * fișier ''​README.txt''​ cu explicații referitoare la funcționarea soluției, configurații speciale de optimizare folosite etc.
-  * fișier ''​url.txt'' ​(fără extensie!) ​cu URL către arhiva **.tar.gz** a binarelor;​ +  * fișier ''​url.txt''​ cu URL către arhiva **.tar.gz** a binarelor;​ 
-  * fișier ''​checksum.txt'' ​(fără extensie!) ​care să conțină hash-ul SHA256 al arhivei cu binarele (obținut cu ''​sha256sum''​);​ **ATENȚIE**:​ verificați și re-verificați (de încă 2 ori) conținutul fișierului la încărcare pe Moodle cu hash-ul real deoarece tema nu va fi punctată dacă diferă!+  * fișier ''​checksum.txt''​ care să conțină hash-ul SHA256 al arhivei cu binarele (obținut cu ''​sha256sum''​);​ **ATENȚIE**:​ verificați și re-verificați (de încă 2 ori) conținutul fișierului la încărcare pe Moodle cu hash-ul real deoarece tema nu va fi punctată dacă diferă!
   * **NU INCLUDEȚI**:​ fișiere sursă ale Poky / alte layere Yocto / biblioteci / frameworkuri descărcabile de pe Internet (menționați în Readme ce ați folosit); puteți include bblayers.conf și local.conf dacă le-ați modificat manual (în afara ''​kas''​).   * **NU INCLUDEȚI**:​ fișiere sursă ale Poky / alte layere Yocto / biblioteci / frameworkuri descărcabile de pe Internet (menționați în Readme ce ați folosit); puteți include bblayers.conf și local.conf dacă le-ați modificat manual (în afara ''​kas''​).
 +  * **Hint**: pentru a include un fișier la crearea automată a arhivei prin ''​make source_archive'',​ pur și simplu copiați-l pe rădăcină (sau într-un director care nu este ignorat -- verificați Makefile-ul din schelet)!
   * Această arhivă nu ar trebui să depășească ''​1MB''​ (aveți restricție pe Moodle).   * Această arhivă nu ar trebui să depășească ''​1MB''​ (aveți restricție pe Moodle).
  
si/teme2022/tema2.1670774747.txt.gz · Last modified: 2022/12/11 18:05 by florin.stancu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0