This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:marius.tudosie [2026/05/19 21:07] marius.tudosie [Jurnal] |
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 49: | Line 49: | ||
| Nota 15.05.2026 - LED-ul de pe buton pare ca este ars, asa ca nu va mai fi conectat la ESP :( | Nota 15.05.2026 - LED-ul de pe buton pare ca este ars, asa ca nu va mai fi conectat la ESP :( | ||
| + | |||
| + | {{:pm:prj2026:atoader:marius.tudosiehardware.jpeg?300|}} | ||
| {{:pm:prj2026:atoader:marius.tudosie.schema.pdf|Schema electrica}} | {{:pm:prj2026:atoader:marius.tudosie.schema.pdf|Schema electrica}} | ||
| Line 103: | Line 105: | ||
| 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. | ||
| - | TODO: video+poze | + | Cod: https://github.com/Mars-Zero/AI-Home-Assistant |
| + | |||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| + | {{:pm:prj2026:atoader:marius.tudosier2fata.jpeg?300|}} | ||
| + | {{:pm:prj2026:atoader:marius.tudosier2lateral.jpeg?300|}} | ||
| + | |||
| + | {{:pm:prj2026:atoader:marius.tudosier2sus.jpeg?300|}} | ||
| + | |||
| + | Demo: | ||
| + | [[https://youtube.com/shorts/jC4Zk_jOYps?feature=share]] | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | 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 ===== | ||