This shows you the differences between two versions of the page.
pm:prj2025:fstancu:cristian.lazar1512 [2025/06/02 22:14] cristian.lazar1512 |
pm:prj2025:fstancu:cristian.lazar1512 [2025/06/02 22:16] (current) cristian.lazar1512 [Flow-ul programului] |
||
---|---|---|---|
Line 93: | Line 93: | ||
Initial, se realizeaza initializarea un UART0 si a modulului Wi-Fi, care se conecteaza la un AP static, iar apoi deschide 2 conexiuni, una UDP si una TCP, cu server-ul remote. Se foloseste un timeout la citirea raspunsurilor de la modulul Wi-Fi in initializare si, apoi, in transmisiile de date, timeout care se realizaeza cu un timer setat sa masoare milisecunde. Dupa initializarea modulului Wi-Fi, se initializeaza ADC-ul, care ruleaza in Free Running Mode, la o frecventa de 125kHz. | Initial, se realizeaza initializarea un UART0 si a modulului Wi-Fi, care se conecteaza la un AP static, iar apoi deschide 2 conexiuni, una UDP si una TCP, cu server-ul remote. Se foloseste un timeout la citirea raspunsurilor de la modulul Wi-Fi in initializare si, apoi, in transmisiile de date, timeout care se realizaeza cu un timer setat sa masoare milisecunde. Dupa initializarea modulului Wi-Fi, se initializeaza ADC-ul, care ruleaza in Free Running Mode, la o frecventa de 125kHz. | ||
- | Dupa initializare, bucla de program asteapta ca datele de la ADC sa depaseasca un threshold de intensitate audio (media ultimelor N valori in modul citite de ADC sa fie mai mare de un threshold), apoi incepe sa socheze date intr-un buffer de 508 bytes. Cand acesta se incarca, datele sunt trimise prin UDP print-un pachet cu formatul `<packet_index>(4 bytes):<data>(508 bytes)`. Odata trimise datele, programul verifica daca inca mai exista intensitate audio; daca da, va continua sa colecteze date si sa trimita pachete; daca nu, va trimite un pachet cu formatul `FFFF:<filler>(508 bytes)`, care indica server-ului ca a primit ultimul pachet. | + | Dupa initializare, bucla de program asteapta ca datele de la ADC sa depaseasca un threshold de intensitate audio (media ultimelor N valori in modul citite de ADC sa fie mai mare de un threshold), apoi incepe sa socheze date intr-un buffer de 508 bytes. Cand acesta se incarca, datele sunt trimise prin UDP print-un pachet cu formatul `<packet_index>(4 bytes):<data>(508 bytes)`. Odata trimise datele, programul asteapta un acknowledgement de la server si apoi va verifica daca inca mai exista intensitate audio; daca da, va continua sa colecteze date si sa trimita pachete; daca nu, va trimite un pachet cu formatul `FFFF:<filler>(508 bytes)`, care indica server-ului ca a primit ultimul pachet. |
Server-ul este un program in python, care asteapta datele de la MC, apoi foloseste functionalitati din biblioteca `wave` pentru a realiza un fisier .wav, si apoi repeta pasii. | Server-ul este un program in python, care asteapta datele de la MC, apoi foloseste functionalitati din biblioteca `wave` pentru a realiza un fisier .wav, si apoi repeta pasii. |