This shows you the differences between two versions of the page.
pm:prj2023:abirlica:pocketchatai [2023/05/27 05:41] eduard.banescu [Software Design] |
pm:prj2023:abirlica:pocketchatai [2023/05/28 04:03] (current) eduard.banescu [Descriere generală] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PocketChatAI ====== | + | ====== PocketChat ====== |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Proiectul implică conectarea unui modul ESP8266 la un Arduino pentru a permite conectivitatea la internet prin WiFi. De asemenea, este necesară conectarea unui modul LCD ST7789V pentru afișarea informațiilor obținute prin API-ul de la ChatGPT, o tastatură, folosind protoculu ps/2, pentru a permite utilizatorului să introducă o întrebare si un grup de led-uri care sa indice conexiunea la internet. | + | Proiectul implică conectarea unui modul ESP8266 la un Arduino pentru a permite conectivitatea la internet prin WiFi. De asemenea, este necesară conectarea unui modul LCD ST7789V pentru afișarea informațiilor solicitate de catre utilizator, o tastatură, folosind protoculu ps/2, pentru a permite utilizatorului să introducă texte si comenzi pentru a gestiona "mini-serverul" si conexiunea sa la internet. |
- | Scopul proiectului este de a permite utilizatorului să introducă o întrebare prin tastatură, să obțină informații despre întrebare prin intermediul API-ului de la ChatGPT și să afișeze aceste informații pe ecranul LCD. În plus, utilizatorul dispune de o serie de comenzi pe care le poate introduce pentru a verifica lista retelelor disponibile, dar si pentru a gestiona raspunsurile lungi care nu au loc pe LCD dintr-o singura afisare. | + | Scopul final al acestui proiect poate varia în functie de cerintele și necesitatile utilizatorului sau dezvoltatorului. Poate fi folosit pentru a crea un sistem de introducere și afisare a textului în diverse aplicatii sau dispozitive, sau afisaje personalizate. De asemenea, poate servi ca baza pentru dezvoltarea unui sistem mai complex, care sa integreze si alte functionalitati, cum ar fi stocarea datelor sau interactiunea cu alte dispozitive inteligente prin internet. |
De asemenea, pentru a fi portabil, voi avea in vedere instalarea unor baterii prin intermediul unui conector de baterii AA. | De asemenea, pentru a fi portabil, voi avea in vedere instalarea unor baterii prin intermediul unui conector de baterii AA. | ||
Line 42: | Line 42: | ||
<note tip> | <note tip> | ||
- | 1. Primul pas a constatnt in rescrierea firmware-ului ESP01, din cauza unor defectiuni cu care a ajuns, cu o versiune actualizata si oficiala.\\ | + | 1. Primul pas a constat in rescrierea firmware-ului ESP01, din cauza unor defectiuni cu care a ajuns, cu o versiune mai veche si oficiala.\\ |
- | 2. Din cauza faptului ca informatiile receptionate in software, de la ESP01, continea junk data, am fost nevoit sa folosesc un divizor de tensiune.\\ | + | 2. Din cauza faptului ca informatiile receptionate in software, de la ESP01, contineau junk data, am fost nevoit sa folosesc un divizor de tensiune.\\ |
3. Am utilizat un display ST7789 pentru afisarea informatiilor primite fie de la tastatura, fie de la modulul ESP01 prin intermediul | 3. Am utilizat un display ST7789 pentru afisarea informatiilor primite fie de la tastatura, fie de la modulul ESP01 prin intermediul | ||
protocolului I2C, setand pinii dupa cum urmeaza: \\ | protocolului I2C, setand pinii dupa cum urmeaza: \\ | ||
Line 51: | Line 51: | ||
- RESET-PIN 8\\ | - RESET-PIN 8\\ | ||
4. Scrierea protocolului PS/2 pentru tastatura care a constat in analizarea semnalelor trimise de aceasta si interpretarea lor in caractere ascii.\\ | 4. Scrierea protocolului PS/2 pentru tastatura care a constat in analizarea semnalelor trimise de aceasta si interpretarea lor in caractere ascii.\\ | ||
- | </note> | + | În cadrul intreruperii sunt definite: |
+ | * bitcount: Reprezintă starea curentă și numărul de biți ai intrării de la tastatura PS/2. | ||
+ | * incoming: Stochează byte-ul primit de la tastatura PS/2. | ||
+ | * parity: Menține valoarea parității calculate pentru verificarea erorilor. | ||
+ | * prev_ms: Stochează marcajul de timp anterior în milisecunde. | ||
+ | * now_ms: Menține marcajul de timp curent în milisecunde. | ||
+ | * val: Reprezintă valoarea curentă a pinului de date PS/2. | ||
5. Implementarea unei interfete de acces. | 5. Implementarea unei interfete de acces. | ||
+ | </note> | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 63: | Line 71: | ||
{{:pm:prj2023:abirlica:whatsapp_image_2023-05-26_at_20.33.11.jpg?200|}} | {{:pm:prj2023:abirlica:whatsapp_image_2023-05-26_at_20.33.11.jpg?200|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | In concluzie, proiectul implica conectarea unui modul ESP8266 la un Arduino pentru a permite conectivitatea la internet prin WiFi, insotita de un modul LCD ST7789V pentru afisarea informatiilor primite de la API-ul ChatGPT. Prin intermediul unei tastaturi PS/2, utilizatorul poate introduce intrebari, iar rezultatele obtinute sunt afisate pe ecranul LCD.\\ | + | In concluzie, proiectul implica conectarea unui modul ESP8266 la un Arduino pentru a permite conectivitatea la internet prin WiFi, insotita de un modul LCD ST7789V pentru afisarea informatiilor primite de la utilizator. Prin intermediul unei tastaturi PS/2, utilizatorul poate introduce comenzi, iar textul si rezultatele obtinute sunt afisate pe ecranul LCD.\\ |
- | Scopul final al proiectului este de a oferi utilizatorului o interfață portabilă pentru a interacționa cu ChatGPT, posibilitatea de a verifica lista rețelelor WiFi disponibile | + | Scopul final al proiectului este de a oferi utilizatorului o interfață portabilă pentru a interacționa cu un modul WiFi si posibilitatea de a verifica validitatea modulelor ESP01. |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 75: | Line 83: | ||
26 mai: finalizare documentatie\\ | 26 mai: finalizare documentatie\\ | ||
</note> | </note> | ||
+ | |||
+ | ===== Download ===== | ||
+ | https://we.tl/t-7qs5THxyNn | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |