Informatii generale
- Categorie: Utilitar
- Judetul: Timiș
- Surse: GitHub - DoctorBeryl/Braillescan-Mesh-Translator: BrailleScan Mesh Translator este un dispozitiv bazat pe Raspberry Pi care recunoaște și traduce text Braille și text tipărit, utilizând o cameră cu lentilă macro, senzori, o interfață web și un afișaj LCD. · GitHub
Descriere
BrailleScan Mesh Translator este un dispozitiv conceput pentru a facilita citirea și înțelegerea textelor scrise în alfabetul Braille. Acesta poate recunoaște atât textul Braille embosat, cât și textul tipărit obișnuit, transformându-l într-o formă ușor de citit și de tradus.
Proiectul a fost dezvoltat ca o alternativă accesibilă la soluțiile comerciale existente, care sunt adesea costisitoare și dificil de utilizat. Dispozitivul este portabil, poate fi folosit fără echipamente suplimentare și oferă acces la informații prin intermediul unei interfețe web care poate fi deschisă din orice browser.
BrailleScan Mesh Translator se adresează în principal persoanelor cu deficiențe de vedere, dar este util și profesorilor, elevilor, membrilor familiei și tuturor celor care doresc să citească sau să învețe alfabetul Braille. Prin îmbinarea portabilității, accesibilității și ușurinței în utilizare, dispozitivul contribuie la îmbunătățirea comunicării dintre utilizatorii alfabetului Braille și persoanele care nu îl cunosc.
Tehnologii
BrailleScan Mesh Translator este un sistem distribuit pentru recunoașterea și traducerea textului Braille și a textului tipărit. Acesta este alcătuit din două componente principale: un dispozitiv bazat pe Raspberry Pi, responsabil de achiziția datelor și controlul hardware-ului, și o aplicație web care rulează în browserul utilizatorului și realizează procesarea imaginilor.
Separarea acestor responsabilități permite utilizarea unor algoritmi de procesare mai complecși fără a încărca Raspberry Pi, făcând sistemul scalabil și accesibil de pe orice dispozitiv cu browser web.
Componente hardware
Raspberry Pi 3 A+
Raspberry Pi reprezintă nucleul sistemului și rulează sistemul de operare Raspberry Pi OS Lite 64 bit. Acesta controlează componentele hardware, găzduiește aplicația web și serverul backend și gestionează comunicația cu dispozitivele conectate.
Principalele responsabilități sunt:
controlul camerei;
gestionarea senzorilor și a display-ului LCD;
transmiterea fluxului video către client;
administrarea rețelei Wi-Fi;
expunerea API-urilor utilizate de aplicația web.
Raspberry Pi Camera Module 3
Camera Module 3, echipată cu lentilă macro, este utilizată pentru captarea imaginilor documentelor Braille și a textului tipărit. În timpul scanării sunt capturate și stocate mai multe imagini succesive, care sunt ulterior utilizate atât pentru recunoașterea textului, cât și pentru reconstruirea tridimensională a suprafeței documentului.
Display LCD
Display-ul LCD oferă utilizatorului informații în timp real despre poziționarea camerei, distanța optimă față de document și viteza recomandată de scanare, facilitând obținerea unor capturi stabile.
Senzor ultrasonic
Senzorul ultrasonic măsoară permanent distanța dintre cameră și document. Valorile sunt utilizate pentru ghidarea utilizatorului și sunt afișate atât pe display-ul LCD, cât și în interfața web.
Conectivitate
Dispozitivul creează o rețea Wi-Fi proprie în modul Access Point, permițând conectarea directă a utilizatorilor. Opțional, o a doua interfață Wi-Fi poate fi utilizată pentru acces simultan la Internet.
Alimentare
Sistemul este alimentat la 5 V / 2 A și este montat într-un cadru imprimat 3D, ceea ce îi permite utilizarea în regim portabil.
Arhitectura software
Arhitectura aplicației este de tip client–server.
Raspberry Pi (Server / Edge Device)
Raspberry Pi are rolul de interfață între hardware și aplicația web. Acesta:
controlează camera și perifericele;
transmite fluxul video în timp real;
colectează datele furnizate de senzori;
găzduiește aplicația web și API-urile REST;
administrează conexiunile Wi-Fi.
Raspberry Pi nu execută algoritmii de recunoaștere Braille sau OCR, fiind responsabil exclusiv de achiziția și distribuirea datelor.
Dispozitivul client
Clientul poate fi orice calculator, tabletă sau telefon mobil dotat cu un browser web modern.
După conectarea la aplicație, browserul preia fluxul video și execută local toate operațiile de procesare:
detectarea punctelor Braille;
recunoașterea textului tipărit (OCR);
conversia caracterelor Braille în alfabetul latin;
traducerea textului;
reconstruirea modelelor tridimensionale;
afișarea rezultatelor în interfața grafică.
Prin această abordare, puterea de procesare este furnizată de dispozitivul utilizatorului, iar Raspberry Pi rămâne dedicat controlului hardware și comunicației.
Interfața web
Interfața web reprezintă principalul mod de interacțiune cu sistemul și poate fi accesată din orice browser, fără instalarea unei aplicații dedicate.
Aplicația este organizată în module funcționale:
Home – afișează starea sistemului și informații despre resursele hardware;
Livestream – prezintă fluxul video în timp real împreună cu indicatori precum claritatea imaginii și distanța până la document;
Translation – afișează textul recunoscut și traducerea acestuia;
3D View – reconstruiește și afișează modelul tridimensional al documentului scanat;
Debug – oferă funcții de diagnostic și configurare.
Reconstrucția 3D
În timpul scanării, Raspberry Pi capturează și stochează o succesiune de imagini ale documentului. Acestea sunt transmise către aplicația web, unde sunt utilizate pentru reconstruirea unui model tridimensional al suprafeței hârtiei.
Modelul rezultat reproduce relieful punctelor Braille și poate fi explorat interactiv în browser prin rotire, translație și zoom. Acesta oferă o reprezentare fidelă a documentului scanat și permite verificarea vizuală a caracterelor recunoscute. Modelul poate fi exportat în format .glb pentru utilizare ulterioară în alte aplicații.
Fluxul de funcționare
Utilizatorul conectează dispozitivul la rețeaua Wi-Fi creată de Raspberry Pi și accesează aplicația web.
Camera capturează în timp real imaginile documentului, iar Raspberry Pi le transmite către client.
Browserul procesează imaginile și identifică textul Braille sau textul tipărit.
Textul recunoscut este convertit în alfabetul latin și, la nevoie, tradus în limba selectată.
Imaginile capturate sunt utilizate pentru reconstruirea modelului tridimensional al documentului.
În paralel, Raspberry Pi citește valorile senzorului de distanță și actualizează display-ul LCD cu informații utile pentru poziționarea corectă a camerei.
Cerinte sistem
Cerințe hardware
Dispozitiv BrailleScan Mesh Translator
Microcalculator: Raspberry Pi 3 Model A+
Procesor: Broadcom BCM2837B0, Quad-Core ARM Cortex-A53, 1.4 GHz
Memorie RAM: 512 MB LPDDR2
Stocare: card microSD de minimum 16 GB (recomandat 32 GB, Clasa 10)
Cameră: Raspberry Pi Camera Module 3, senzor Sony IMX708 de 12 MP, autofocus, echipată cu lentilă macro
Display: LCD 16×2 cu interfață I2C
Senzor de distanță: HC-SR04 sau echivalent, domeniu de măsurare 2–400 cm
Conectivitate: interfață Wi-Fi 802.11 b/g/n/ac integrată și adaptor Wi-Fi USB opțional pentru conectare simultană la Internet
Alimentare: sursă de 5 V DC, minimum 2 A
Structură mecanică: cadru imprimat 3D pentru montarea componentelor
Dispozitiv client
Procesor dual-core de minimum 2 GHz (recomandat quad-core sau superior)
Minimum 4 GB memorie RAM
Browser web modern (Google Chrome, Microsoft Edge, Mozilla Firefox sau Safari)
Suport pentru WebGL și accelerare hardware în browser (necesar pentru vizualizarea modelelor 3D)
Conexiune la rețeaua Wi-Fi creată de Raspberry Pi
Rezoluție minimă recomandată a ecranului: 1280 × 720 pixeli
Echipamente opționale
Acumulator extern (Power Bank) de 5 V / minimum 2 A pentru utilizare portabilă
Adaptor Wi-Fi USB compatibil Linux
Sistem de iluminare LED pentru scanarea în condiții de lumină redusă
Cerințe software
Dispozitiv BrailleScan Mesh Translator
Sistem de operare: Raspberry Pi OS Lite (64-bit)
Node.js: versiunea 20 LTS sau mai recentă
npm: versiunea inclusă cu Node.js
NetworkManager (nmcli): pentru configurarea și administrarea conexiunilor Wi-Fi
rpicam-apps (rpicam-vid): pentru capturarea fluxului video de la Camera Module 3
libcamera: bibliotecile și driverele necesare pentru controlul camerei
Git: pentru gestionarea codului sursă și actualizarea aplicației
Biblioteci și dependențe
Express 5 – server web și API REST
Socket.IO – comunicare în timp real între server și client
Sharp – prelucrarea imaginilor
Tesseract.js – recunoaștere optică a caracterelor (OCR)
OpenCV.js – procesarea imaginilor și detectarea caracterelor Braille
Three.js – generarea și manipularea modelelor 3D
@google/model-viewer – afișarea modelelor 3D în browser
@vitalets/google-translate-api – traducerea textului recunoscut
Bootstrap 5 – interfața grafică
Vite – dezvoltarea și compilarea aplicației web
Dispozitiv client
Browser web: Google Chrome, Microsoft Edge, Mozilla Firefox sau Safari (versiuni actualizate)
JavaScript: activat
WebGL 2.0: necesar pentru vizualizarea modelelor 3D
Conexiune HTTP la rețeaua locală creată de Raspberry Pi
Realizatori
Alexandru Morgoci
- Scoala: Liceul Teoretic “Nikolaus Lenau”
- Clasa: 11
- Judet: Timiș
- Oras: Timisoara
David Peta
- Scoala: Liceul Teoretic Nikolaus Lenau
- Clasa: 11
- Judet: Timiș
- Oras: Timisoara
Screenshots


