Capitolul 3 — Aplicația Bridge (puntea de conexiune a hardware-ului)
Casa de marcat rulează în browser, iar browserul nu poate comunica direct cu terminalul de plată, imprimanta, cântarul și afișajul pentru client. Aplicația Bridge este această punte: rulează alături de casa de marcat și conectează aceste dispozitive la casă.
Are trei forme, care fac toate același lucru (versiunea iOS este experimentală):
- Aplicația Android pe tabletă
- Aplicația desktop pe computer (Windows/Mac/Linux)
- Aplicația iOS (experimentală)
⚠️ Limba: interfața aplicației Android este practic în engleză. Doar câteva șiruri vechi au fost traduse în germană; întregul panou pe care îl vede operatorul (stările, Power Guard, Keep Bridge Awake, jurnalele etc.) este în engleză.
💡 De obicei, configurați Bridge o singură dată, după care funcționează în fundal. Adresa Bridge se introduce în casa de marcat ← Setări ← Bridge (ghidul casei de marcat, capitolul 9). Aplicația Android rulează ca un serviciu de prim-plan persistent: rămâne activă chiar și după închiderea aplicației din listă, repornește automat după o actualizare, iar un monitor repornește serverul la nevoie la fiecare 30 de secunde.
3-1. Aplicația Android — pagina de stare
O pagină pe tot ecranul (chioșc) cu o linie de rezumat în partea de sus și câteva carduri de stare. La pornire vedeți mesajul «se pregătește puntea, se conectează terminalul de plată și afișajul pentru client».
- Rezumatul general din partea de sus a paginii, de exemplu: «puntea este pregătită pentru plată», «terminalul de plată este pregătit, se așteaptă browserul», «browserul s-a conectat / terminalul de plată este offline», «se restabilește conexiunea terminalului de plată» sau «o tranzacție este în curs».
- Cardurile de stare (fiecare cu un punct colorat și un cuvânt de stare):
- WebSocket — portul local la care se conectează casa de marcat.
- Browser (Browser) — dacă s-a conectat casa de marcat.
- Terminal de plată (POS Terminal) — stări: deconectat / în curs de conectare / în curs de reconectare / conectat / ocupat (Busy) în timpul tranzacției.
- Afișaj pentru client — starea celui de-al doilea afișaj.
- Power Guard — protecția bateriei/procesorului/Wi-Fi pentru a preveni deconectarea în starea de inactivitate.
Cardul cu adresa Bridge
- Afișează adresa (locală
127.0.0.1:PORTsau adresa de rețea cu IP-ul dispozitivului) care trebuie introdusă în casa de marcat. - Butonul pentru modul de conexiune are trei stări și se rotește la fiecare apăsare: local ← rețea ← automat (Auto). Modul automat trece pe rețea dacă există o adresă de rețea locală, iar în caz contrar trece pe local.
- Menținerea apăsată a butonului pentru modul de conexiune: crearea sau ștergerea tokenului de asociere — un cod din 6 caractere care se adaugă la adresă (
?token=XXXXXX), astfel încât doar casa de marcat autorizată să se poată conecta. Acest token se aplică doar în modul rețea (în modul local este ignorat) și este afișat în adresă ca «Paired/Open».
Alte carduri și accesul la jurnal
- Power Guard → «Menținerea punții active» (Keep Bridge Awake): deschide setările bateriei din Android, pentru ca Bridge să nu se deconecteze în starea de inactivitate.
- Jurnalele: se activează/dezactivează cu butonul Enable/Disable Logs, iar View Logs deschide pagina de jurnal; dezactivarea șterge jurnalele salvate. A doua modalitate de a deschide jurnalul este menținerea apăsată (long-press) pe bara din partea de sus a paginii.
- Pagina de jurnal: este doar-citire — text monospațiat care se reîmprospătează în fiecare secundă și derulează în jos; nu are buton de partajare/export (pentru a-l trimite la asistență, trebuie să copiați manual).
- Pagina afișajului pentru client: pe cel de-al doilea afișaj, prezintă clientului articolele și totalul comenzii printr-un șablon web. Pe Android se atașează automat la orice al doilea afișaj conectat (fără selecție manuală; se elimină la deconectarea cablului).
3-2. Aplicația desktop — «LonioBridge — Host»
O fereastră mică de control pentru rularea Bridge pe computer:
- Formularul de configurare:
- Port WebSocket (implicit 8088)
- Adresa de conectare (Bind): doar acest computer sau întreaga rețea (implicit
0.0.0.0). - Afișaj pentru client: selectarea manuală a monitorului care va fi afișajul pentru client (sau niciunul).
- Pornire/oprire pentru rularea punții; setările sunt păstrate între rulări în fișierul
~/.loniobridge/host.properties. - Pornire automată (Autostart): cu parametrul
--autostart(programul de instalare pe Windows îl configurează cu scripturi de activare/dezactivare, pentru a porni odată cu sistemul). - Modul fără fereastră (Console): cu
--consolese poate rula fără interfață grafică. - Panoul de stare: starea serverului (oprit / în curs de pornire / ascultă pe port / port invalid / eroare), numărul de case de marcat conectate, starea terminalului de plată și indicatorul ocupat/inactiv (în timpul tranzacției).
- Raportul de activitate: jurnal cronologic al evenimentelor; opțiunea Verbose pentru înregistrarea cadrelor brute ale terminalului de plată (doar pentru depanare).
⚠️ În fereastra desktop nu există selecție de imprimantă sau cântar; doar port, adresă de conectare și afișaj pentru client. Imprimanta și cântarul sunt configurate din casa de marcat, iar Bridge le pornește conform mesajului casei de marcat.
3-3. Ce dispozitive se conectează
- Terminalul de plată: există două drivere care se selectează în profilul terminalului:
- ZVT (implicit) — prin rețea/TCP, cu reconectare automată (backoff) și stările în curs de conectare/restabilire/conectat.
- GP Tom (SoftPOS) — driverul Global Payments care comunică pe aceeași tabletă Android cu aplicația de terminal GP (vânzare/anulare/retur; decontarea zilnică pe această cale App2App încă nu este acceptată).
- Afișaj pentru client: un șablon web (articolele și totalul comenzii) pe care i-l trimite casa de marcat; pe Android se atașează automat, pe desktop prin selectarea manuală a monitorului.
- Imprimantă:
- ⚠️ Pe Android, tipărirea este momentan doar acceptată, dar execuția reală a tipăririi nu este implementată; tipărirea reală funcționează pe desktop.
- Desktopul are trei modalități: serial, imprimanta sistemului (Windows) și rețea/TCP (implicit, portul 9100); include tăierea hârtiei și deschiderea sertarului de bani.
- Cântar: doar pe desktop — serial sau USB-HID, cu detectarea unității (kg/g/lb/oz) și starea stabil/instabil. Android nu are cântar.
3-4. Configurația pe care driverul trebuie să o cunoască
- Portul (implicit 8088) și adresa de conectare (local față de rețea).
- Diferența dintre
127.0.0.1(local) și IP-ul de rețea: dacă casa de marcat este pe același dispozitiv, este suficient local; dacă este pe un alt dispozitiv, este necesar modul rețea + IP, iar ambele trebuie să fie în aceeași rețea. - Tokenul de asociere (
?token=…) doar în modul rețea. - Setările bateriei Android (Keep Bridge Awake) pentru a preveni deconectarea.
3-5. Depanare rapidă
Simptom | Ce să faceți |
|---|---|
Casa de marcat spune că dispozitivul nu a fost găsit | Asigurați-vă că Bridge este pornit; introduceți adresa afișată în Bridge exact în casa de marcat ← Setări ← Bridge. |
Casa de marcat de pe alt dispozitiv nu se conectează | În Bridge, setați butonul de mod pe rețea și folosiți adresa IP (nu |
Terminalul de plată se deconectează mereu (Android) | Apăsați «Keep Bridge Awake» pentru a-l scoate din economisirea bateriei. |
Cineva nu se poate conecta, deși ar trebui să poată | Poate că tokenul de asociere este activ; introduceți tokenul corect în adresa casei de marcat sau ștergeți tokenul menținând apăsat butonul de mod. |
Tipărirea pe tableta Android nu funcționează | Tipărirea reală pe Android nu este încă implementată; pentru tipărire folosiți versiunea desktop. |
Pentru a raporta o problemă la asistență | Activați jurnalele, reproduceți problema, apoi pe Android copiați manual textul din View Logs (nu are buton de partajare) sau pe desktop trimiteți raportul de activitate cu Verbose. |