Matériel (hwproxy) Architecture
November 26, 2025 at 2:48 AMArchitecture
Le logiciel HWPROXY permet d’exposer la gestion facilitée de matériel via http (api rest + websocket).
Il est déployé dans un conteneur via Kubernetes vers les machines (noeuds) concernées (via daemonset). Ils ont des droits privilégiés pour un accès direct au matériel et au système d’exploitation de la machine.
Composants logiciels HWPROXY
Le proxy matériel se compose de plusieurs modules articulés autour d’un même module matériel (hardware).
graph BT
subgraph hwproxy
escpos[ESCPOS] --> hw{hardware core}
cardprinter[CardPrinter] --> hw
ticketprinter[TicketPrinter] --> hw
cec[HDMI CEC] --> hw
dbus[DBus] --> hw
barcode[Barcode] --> hw
tpa[TPA IUP250] --> hw
clock[Horloge] --> hw
tpe[TPE] --> hw
simplecamera[SimpleCamera] --> hw
nfc[NFC] --> hw
click tpa href "../TPA"
click escpos href "../Escpos"
end
Les modules :
- ESCPOS : imprimantes à ticket de caisse compatible avec le protocol Epson ESCPOS
- CardPrinter : imprimantes à carte vyniles (non développé)
- TicketPrinter : imprimantes à tickets cartonnés
- HDMI CEC : pilotage des périphériques compatibles HDMI CEC
- DBus : gestion des services système, arrêt/redémarrage système
- Barcode : utilisation des lecteurs code-barre
- TPA IUP250 : pilotge de paiements par TPA Ingenico IUP250
- TPE : pilotge de paiements par TPE Ingenico
- Horloge : envoie réguliers de l’heure
- SimpleCamera : utilisation de caméra
- NFC : gestion de cartes NFC
PointOfSale
Une caisse avec opérateur se compose des modules :
- ESCPOS
- DBus
- Barcode
- TPE
- Horloge
flowchart LR
subgraph Linux
os-dbus[DBus]
os-printer[descripteur imprimante]
os-serial[port série]
os-keyboard[clavier]
end
subgraph hwproxy
hw-dbus[DBus]
hw-escpos[ESCPOS]
hw-barcode[Barcode]
hw-tpe[TPE]
end
subgraph Matériel
m-escpos[Imprimante thermique]
m-cash[Tirroir caisse]
m-barcode[Lecteur code-barre]
m-tpe[TPE Ingenico]
m-check[Imprimante chèque]
end
hw-dbus ----- os-dbus
m-escpos ----- os-printer
hw-escpos ----- os-printer
m-cash --- m-escpos
hw-barcode ----- os-serial
hw-barcode -...- os-keyboard
m-barcode ----- os-serial
m-barcode -...- os-keyboard
hw-tpe ----- os-serial
m-tpe ----- os-serial
m-check --- m-tpe
Kiosk
Une caisse automatique se compose des modules :
- ESCPOS (+hook)
- DBus
- Barcode
- TPA IUP250
- Horloge
flowchart LR
subgraph Linux
os-dbus[DBus]
os-printer[descripteur imprimante]
os-serial[port série]
os-keyboard[clavier]
end
subgraph hwproxy
hw-dbus[DBus]
hw-escpos[ESCPOS]
hw-barcode[Barcode]
hw-tpa[TPA]
end
subgraph Matériel
m-escpos[Imprimante thermique]
m-barcode[Lecteur code-barre]
m-tpa[TPA Ingenico]
m-webrelay[Webrelay]
end
hw-dbus ----- os-dbus
m-escpos ----- os-printer
hw-escpos ----- os-printer
hw-barcode ----- os-serial
hw-barcode -...- os-keyboard
m-barcode ----- os-serial
m-barcode -...- os-keyboard
hw-tpa ----- os-serial
m-tpa ----- os-serial
hw-escpos ---|hook| m-webrelay
Les informations du webrelay sont ajoutées à celles de l’imprimante ESCPOS pour compléter les retours de capteurs :
| Imprimante | Borne |
|---|---|
| Capot ouvert | Porte ouverte |
| Fin de papier | Fin de papier |