Logiciel de caisse - Afficheur caisse VFD et TPE

Eléphanteau du PHP | 22 Messages

06 juil. 2012, 10:29

Bonjour,

j'ai développé un logiciel de gestion intégrant une partie achat, gestion de stock, vente et caisse tactile.
J'ai deux problématiques :
- Comment envoyer du texte (prix, total...) à l'afficheur VFD du POS?
- Comment afficher un montant sur le terminal de paiement (TPE) en cas de réglement par CB

Si quelqu'un peut m'aider.....

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 juil. 2012, 11:21

salut,

c'est fait en php tous ça ?

si oui, il te faut voir comment accéder au périphérique système (donc ton écran et le terminal de paiement) depuis php (généralement a partir de la ligne de commande s'il n'existe pas une extension dédiée (ce qui fort probable).

si ce n'est pas le cas tu n'est pas sur le bon forum :mrgreen:
Et au vue de ton pseudo je te dirais de voir avec les constructeurs s'ils offrent des package java pour la com avec les appareil sinon a toi de développer les drivers (a partir des doc constructeurs si elles existent bien entendu).

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

06 juil. 2012, 11:29

Bonjour,
ne te base pas sur mon pseudo. Je développe en php, ajax et javascript... c'est un vieux pseudo :)
Tu as tout à fait compris ma problématique : accéder à un périphérique système à partir de php, par le biais d'une extension php ou une commande batch.
Seulement... je ne sais pas comment faire.

J'ai utilisé une extension PECL pour accéder à l'imprimante ticket, mais pour l'afficheur et le tpe, je ne sais pas où chercher.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 juil. 2012, 11:35

même cible, si cela n'existe pas en PECL va falloir le faire XD

et la batch pour accèder au périphérique (écriture pour le VFD et lecture / écriture pour le lecteur CB).
Tu pourras, surement, après faire un beau package pour PHP :)

Avec du bol tous cela communique via le réseau ? (même local ?) auquel cas peux être qu'une connexion via socket (ou curl ?) peux suffire.

Je pense que tu va devoir potasser les docs constructeurs pour accès directe et faire le pilote php :)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

06 juil. 2012, 12:11

On m'a parlé de YAZ... qu'est ce que c'est?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 juil. 2012, 12:21

http://www.php.net/manual/fr/intro.yaz.php :mrgreen:

Après je n'en sais pas plus


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

09 juil. 2012, 12:42

Un petit up please...

Romain974
Invité n'ayant pas de compte PHPfrance

26 août 2012, 23:18

Salut,
j'ai fais la meme chose que toi (logicel d'encaissement en php), mais mon serveur est sous linux du coup je passe par fsockopen et j'ecris directement sur l'imprimante en ESC/POS, du coup plus besoin de driver. je peux meme coupé le papier, ouvrir mon tiroire caisse.

Peut etre qu'on peux faire de meme pour l'afficheur ainsi que pour le tpe

Eléphanteau du PHP | 22 Messages

18 sept. 2012, 15:32

Un petit up please. Je suis toujours bloqué.....

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 sept. 2012, 19:28

as tu fait quelque chose ?

comment est ce que le serveur php et l'écran (ou le tpe) sont ils reliés ? série (rs-232, usb ...), réseau (upd, tcp, quel port, adresse fixe ?)

quels protocoles utilisent ils ?


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

19 sept. 2012, 08:43

Bonjour,
concernant l'écran VFD, c'est sur le port USB
concernant le TPE, c'est sur le port ethernet

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 sept. 2012, 12:50

Et ?

si c'est sur usb, c'est un port série, donc voir de se coté dans la doc, s'il s'ait d'un protocole particulier il peux exister des choses (comme yaz pour le protocole Z39.50).

Sur ethernet c'est certainement réalisable avec curl ou les sockets, ceci en fonction de la doc constructeur.


dans tous les cas on ne peux pas t'aider sans info plus pertinante.

tu peux regarder, par exemple de l'exension pecl dio

ou ce type de chose http://wanderr.com/jay/controlling-ardu ... 010/12/28/


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

24 sept. 2012, 13:59

Bon,
petit retour :
- je suis arrivé à gérer l'afficheur client en faisant :

exec("mode COM2:BAUD=38400 PARITY=N DATA=8 STOP=1 XON=off"):
$handle=fopen("COM2:","w");
fwrite($handle,"salut");
fclose($handle);

Le texte "salut" s'affiche bien sur l'afficheur.

- par contre, cela ne fonctionne qu'en mode mono-poste :
PHP s’exécutant coté serveur, c'est uniquement l'afficheur client du poste qui fait office de serveur qui peut afficher.

Donc maintenant, ma problématique est : comment afficher sur le port com d'une machine en réseau ( plusieurs postes qui se connectent en réseau à un poste qui fait office de serveur de BD et de pages php)?

Quelqu'un aurait t'il une idée, sans avoir à passer par un activeX ou une applet java?

ps: et merci à moogli qui m'a mis sur la voie... :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 sept. 2012, 22:50

De rien ;)

Donc tu as un serveur et tu dispatch sur des écrans "distants" ?

La pour le coup la seul solution de que j'ai c'est la virtualisation de com.

Tu aurais donc des ports séries virtuel sur ton serveur. Ces ports (via un soft) correspondent avec l'écran qui est sur le réseau (un boîtier fait la conversion série de l'afficheur / ethernet serveur).

Je connais l'entreprise moxa qui fait ce genre de chose (pour l'avoir utilisé avec du matos conçu y a quinze - vingt ans sans soucis).

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 22 Messages

25 sept. 2012, 08:06

Non, c'est pas vraiment cela.
Il s'agit d'autres postes qui font office de caisse, ils sont installés sur le réseau local, et chaque poste a son propre afficheur, son propre tpe et son propre système d'exploitation. Cependant, ils accèdent au logiciel par le biais de leur navigateur.