This is an old revision of the document!


BrewMate

Introducere

BrewMate este un asistent digital portabil creat special pentru pasionații de cafea care explorează cafenelele orașului. Proiectul îmbină plăcerea descoperirii cu tehnologia embedded, oferind o experiență personalizată de jurnalizare și recomandare.

Funcționalități cheie:

• Înregistrează automat cafenelele vizitate și tipurile de cafea consumate  
• Salvează datele pe un card SD pentru consultare ulterioară  
• Oferă recomandări bazate pe istoricul tău de consum (OpenAI)
• Interfață prietenoasă pentru navigare facilă  
• (Extra) Funcție vocală pentru sugestii dinamice de localuri sau sortimente de cafea

Descriere generală

BrewMate este construit ca un sistem embedded interactiv, gândit să funcționeze autonom și să ofere o experiență fluidă utilizatorilor. Dispozitivul combină module hardware și software pentru a înregistra, organiza și recomanda preferințe legate de cafea.

Utilizatorii pot înregistra automat cafenelele vizitate și tipurile de cafea consumate, aceste date fiind salvate pe un card SD pentru consultare ulterioară. Fiecare înregistrare conține numele cafenelei și tipul de cafea comandat.

Înainte de o nouă ieșire, utilizatorii pot vizualiza aceste date direct de pe display, unde interfața le va afișa sugestii filtrate pe baza istoricului.

BrewMate integrează și o funcție vocală inteligentă care utilizează API-ul OpenAI pentru generarea de recomandări. Aceasta analizează preferințele înregistrate și oferă sugestii dinamice privind cafenele noi sau sortimente potrivite gusturilor utilizatorului.

Datele sunt gestionate într-un format structurat și pot fi exportate sau prelucrate în aplicații externe în versiuni viitoare. Sistemul este modular și permite adăugarea de noi funcționalități (ex. analiză statistică, integrare cu aplicații mobile).

Hardware Design

Componente:

  • ESP32 WROOM32
  • Display TFT SPI 2.4” ST7789
  • Modul microSD Card
  • Microfon INMP441
  • Acumulator Li-ion 18650 + modul TP4056
  • Breadboard-uri

Interfețe hardware folosite:

  • GPIO – pentru controlul pinilor
  • SPI – pentru TFT și SD card
  • I2S – pentru captarea sunetului
  • Timere – pentru gestionarea timeout-urilor
  • Întreruperi – pentru input eficient

Diagrama electrică și conexiunile vor fi incluse în arhiva de descărcare.

Software Design

Mediu de dezvoltare::

  • Thonny
  • Platforma de testare: ESP32 + MicroPython

Librării utilizate:

  • machine, network, urequests, json, time, gc, os

Structuri implementate:

  • Clasa WorkingSDCard: gestionare comunicație SPI cu cardul SD
  • Clasa SimpleCoffeeFS: sistem simplu de fișiere pentru salvarea entry-urilor
  • Funcții pentru randare pe ecran folosind font bitmap 8×8
  • Funcții de conectare WiFi și de trimitere cereri către API-ul OpenAI
  • Funcții pentru gestionare meniuri, log-uri, afișare text scrollabil, etc.

Implementare:

Rezultate Obținute

* Dispozitivul este capabil să logheze cafele offline pe SD Card, păstrând persistența datelor la repornire.

* Răspunsuri corecte și relevante de la OpenAI pe baza jurnalului de cafele.

* Afișare grafică completă: meniu, text, recomandări scrollabile.

* Modularitate bună pentru extensii viitoare (cloud sync, voice, statistici).

Concluzii

BrewMate demonstrează că un sistem embedded poate oferi o experiență interactivă și personalizată, integrând funcții moderne de AI într-o interfață minimalistă. Dispozitivul are potențial real pentru dezvoltare într-un produs comercial pentru cafegii și entuziaști tech deopotrivă.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/rnedelcu/alexandru.trifu2712.1748372478.txt.gz · Last modified: 2025/05/27 22:01 by alexandru.trifu2712
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