Chatssistant - Pasat Ionut 334CC Am folosit tot ce am specificat in prima parte a proiectului mai putin senzorul de sunet (nu i am mai gasit intrebuintare intr un final), senzorul de temperatura si umiditate si buzzer-ul care s-au prajit. Am improvizat adaugand feature-urile de weather forecast si joke. _Descriere implementare_ PICO: Pico-ul simplu se ocupa doar de afisarea raspunsurilor intoarse de ChatGPT prin intermediul matricelor LED. Acesta foloseste biblioteca Easy_comms pentru a comunica prin UART cu Pico, mai exact asteapta sa ii fie trimis text pentru a-l putea afisa pe matrice folosind biblioteca max7219 care la randul ei foloseste protocolul SPI. PICO W: Acesta are definite functii pentru cele 3 tipuri de request-uri (folosind biblioteca de urequests pentru cereri si json pentru a handle-ui raspunsurile): ChatGPT API, openWeatherMapAPI, JokeAPI. Flow-ul aplicatiei incepand de la utilizator: 1) Utilizatorul foloseste potentiometrul mapat folosind ADC cu valori intre 0 si 30 pentru a alege modul de a interactiona cu modulul. Se pot alege urmatoarele: - Respond by LCD: raspunsul chatGPT va fi afisat pe LCD - Respond by matrix: raspunsul chatGPT va fi afisat pe matricele LED - Respond by LED: se va aprinde led-ul rosu (negativ) / led-ul verde(afirmativ) in cazul unei intreburi de tipul yes/no adresata catre chatGPT - Weather&Temperature: va afisa pe LCD vremea si temperatura pentru locatia introdusa de utilizator - Tell me a joke: va intoarce o gluma avand ca topic un search string introdus tot de utilizator 2) Utilizatorul introduce prompt-ul in aplicatie in functie de ce a ales la pasul 1 si de ce se afiseaza pe lcd. Acest prompt este transmis catre modulul bluetooth HC-05 care trimite mai departe catre Pico W care asteapta un input text, iar in functie de ce s a selectat anterior face apelul corespunzator si trimite raspunsul unde trebuie afisat. 3) Asteapta raspunsul dorit. 4) Dupa ce e multumit de raspuns acesta intoarce potentiometrul in pozitita de start pentru a putea folosi din nou serviciile modulului. User —-Serial Bluetooth Terminal—-> HC-05 HC-05 —UART—> PICO W Pot ——ADC—> PICO W PICO W ——UART——> PICO PICO —-SPI--—> Matrice LED folosind biblioteca max7219 PICO W ——SPI--—> LCD folosind ili9341, xpt2046 si xglcd_fonts PICO W —GPIO—-> LED Sattelite <——NMEA—->GPS —UART—> PICO W (Functioneaza doar afara cu o viziune clara spre cer, nu sunt sigur daca il mai adaug in prezentare) Functiile de request au fost implementate de mine, la fel si functiile ajutatoare de prelucrare a string-urilor in cazul raspunsurilor primite pentru a fi afisate.