Differences

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

Link to this comparison view

pm:prj2026:atoader:marius.tudosie [2026/05/20 17:11]
marius.tudosie [Rezultate Obţinute]
pm:prj2026:atoader:marius.tudosie [2026/05/21 16:31] (current)
marius.tudosie [Componenta Software]
Line 9: Line 9:
 **Laboratoare folosite**: SPI, I2C, Intreruperi,​ GPIO. **Laboratoare folosite**: SPI, I2C, Intreruperi,​ GPIO.
  
-**Bonus**: pentru audio -> I2S, carcasă printată 3D+**Bonus**: pentru audio -> I2S, carcasă printată 3D, RTOS
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 104: Line 104:
  
 O optimizare critică a fost necesară pentru gestionarea memoriei în timpul înregistrării. Deoarece asistentul înregistrează continuu timp de 4 secunde, o rată nativă de 16 kHz cu eșantioane pe 16 biți ar fi necesitat un buffer masiv de **128 KB** de RAM, resursă de care ESP32 Dev Kit nu dispune liber. Soluția aplicată a fost realizarea unui **downsampling**:​ deși hardware-ul citește la 16 kHz, software-ul extrage doar primul eșantion din două (efectiv 8 kHz), reducând la jumătate memoria utilizată. Pentru faza de playback, fluxul suferă un **upsampling**,​ fiecare eșantion fiind duplicat pentru a reconstrui semnalul necesar amplificatorului. O optimizare critică a fost necesară pentru gestionarea memoriei în timpul înregistrării. Deoarece asistentul înregistrează continuu timp de 4 secunde, o rată nativă de 16 kHz cu eșantioane pe 16 biți ar fi necesitat un buffer masiv de **128 KB** de RAM, resursă de care ESP32 Dev Kit nu dispune liber. Soluția aplicată a fost realizarea unui **downsampling**:​ deși hardware-ul citește la 16 kHz, software-ul extrage doar primul eșantion din două (efectiv 8 kHz), reducând la jumătate memoria utilizată. Pentru faza de playback, fluxul suferă un **upsampling**,​ fiecare eșantion fiind duplicat pentru a reconstrui semnalul necesar amplificatorului.
 +
 +Cod: https://​github.com/​Mars-Zero/​AI-Home-Assistant
  
  
Line 115: Line 117:
 {{:​pm:​prj2026:​atoader:​marius.tudosier2sus.jpeg?​300|}} {{:​pm:​prj2026:​atoader:​marius.tudosier2sus.jpeg?​300|}}
  
 +Demo:
 [[https://​youtube.com/​shorts/​jC4Zk_jOYps?​feature=share]] [[https://​youtube.com/​shorts/​jC4Zk_jOYps?​feature=share]]
 ===== Concluzii ===== ===== Concluzii =====
Line 120: Line 123:
 Chiar daca nu este chiar ce voiam, am ajuns destul de departe cu implementarea. State machine-ul este complet, functiile de conectare la  WI-FI+bluetooth fiind simulate, impreuna cu functia de  verificare a administratorului Chiar daca nu este chiar ce voiam, am ajuns destul de departe cu implementarea. State machine-ul este complet, functiile de conectare la  WI-FI+bluetooth fiind simulate, impreuna cu functia de  verificare a administratorului
  
 +{{:​pm:​prj2026:​atoader:​marius.tudosie.sensors.jpg?​300|}}
  
 ===== Jurnal ===== ===== Jurnal =====
pm/prj2026/atoader/marius.tudosie.1779286265.txt.gz · Last modified: 2026/05/20 17:11 by marius.tudosie
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