POS terminal - povezava pos-a in pc-ja preko rs232

Problemi z drugimi jeziki kot so c++, cgi, java, itd.
Odgovori
peterv
Prispevkov: 987
Pridružen: 29.03.2002 13:24:32

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a peterv » 15.07.2009 08:17:15

Pozdravljeni,
zanima me če se je kdo od vas že ubadal z komunikacijo med pos terminalom in pc-jem?
Prejel sem sicer dokumentacijo bankarta za protokol vendar mi ni povsem jasno ali moram pošiljat v "ASCII" znakih ali v hex kodi?!?

vovi
Prispevkov: 85
Pridružen: 03.10.2007 20:11:52

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a vovi » 15.07.2009 11:46:41

Sve je napisano v dokumentaciji.

Če v dokumentaciji ni razvidno kaj je treba poslati na rs232 potem se je treba obrniti na izdelovalca dokumentacije za pojasnila.


LP

P.S.
Skoraj 100% sem prepričan da je treba pošiljati ASCII karakterje, no preveri (v dokumentaciji).

peterv
Prispevkov: 987
Pridružen: 29.03.2002 13:24:32

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a peterv » 15.07.2009 14:56:49

Evo.. sem rešil.... pošilja se byte.. v Javi pošljem Array bytov na rs232 in deluje..
V dokumentaciji je primer "plain text ascii" in HEX format (bloka podatkov)..
Potrebno pa je spokat vsak znak v array bytov in poslat na port..
za komunikacijo uporabljam rxtx knjižnico..

recimo..

byte[] test = new byte[]{2, 2, 48, 48, 48, 48, 48, 48, 49, 50, 51, 52, 48, 49, 49, 49, 50, 28, 48, 49, 49, 48, 48, 48, 28, 28, 43, 48, 28, 55, 48, 53, 28, 28, 28, 28, 28, 28, 28, 3, 1};
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_1, SerialPort.PARITY_EVEN);
outputs = serialPort.getOutputStream();
outputs.write(test);

vovi
Prispevkov: 85
Pridružen: 03.10.2007 20:11:52

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a vovi » 16.07.2009 11:41:06

Super da si porihtal.


Če pa opaziš komunikacija potek na naslednji način:

Open port RS232, 9600 bauda, 7 data bita, 1 stop bit, parity = even;

Podatke ki pošiljaš so:

STX,STX,000000123401112,FS,011000,FS,FS,+0,FS,705,FS,FS,FS,FS,FS,FS, ETX,SOH

pri tem je
STX = #02, start of text
FS = #1C file separator
ETX = #03 end of text
SOH = #01 start of heading

vejice ignoriraj, tu so samo da ločijo segmente.

Podatke ki jih pošiljaš (000000123401112 in podobno) so čisti ASCII

Zato bi koda bila tudi:


serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_1, SerialPort.PARITY_EVEN);
outputs = serialPort.getOutputStream();
outputs.write("&02&02"+"000000123401112" +"&1C"+"011000"+"&1C"+"+0"+"&1C"+"705"+"&1C&1C&1C&1C&1C&1C&1C&03&01");


Da ne govorimo da je zažje spremeniti zneske (podatke) in da je jasno vsakemu ko bere kodo zakaj je to tako.

Lep pozdrav

MP002
Prispevkov: 735
Pridružen: 21.02.2002 15:39:44

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a MP002 » 17.07.2009 11:05:12

Tko na pamet bi reku, da zgornji primer kaže izvedbo plačila za 11.000 SIT in gre za POS terminal z vgrajenim printerjem.
Očitno ne gre za unattendet terminal, ker je sicer teh sporočil precej več kot pa zgolj sale request.
Po moje bi moral dajat ceno v stotinih, +0 zamenjat s +2 ter 705 zamenjat z 978.

Nisem delu s terminali bankarta, pač pa čist z drugim sistemom, pa me res zanima, da bi si ogledal dokumentacijo in slišal mal izkušnje.
Je to možno dobit? Častim alkohol! ;)

Zaebancij s tem sem mel ogromno. Dogajalo se je da je že samo v tej točki stvar delala čudno.
Probal sem vse. 7 krat sem obračal kodo (beri pisal na novo) in nikol ni nč popolnoma pomagalo.
Zgornje sporočilo smo ugotovili, da se občasno zamakne za en znak v levo. Vsaj tako trdi terminal, da je sprejel; aplikacija pravi pa drugače.
Mimgrede, ta zamik zahtevek za sale pretvori v zahtevek za storno prejšnje transakcije. Tko, da to ni kr tko...

Ko je prišlo do točke, da se proba še komponenta (od Dejana Črnile) za COM port zamenjat, ker smo vse drugo že probal, sem predlagal da priklopimo najprej UPS na računalnik.
In problemi so po 6-ih mescih tist moment zginli.
Sem se hotu ustrelt u glavo, še prej pa vse ostale...
Zadnjič spremenil MP002, dne 17.07.2009 11:07:27, skupaj popravljeno 1 krat.

Fortuna
Prispevkov: 1097
Pridružen: 26.06.2004 09:59:52

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a Fortuna » 17.07.2009 16:55:45

priklopimo najprej UPS na računalnik.
.
Ha, ha. Sem imel primer na isto temo. Stranki sem prodal rabljen računalnik.

Pa je internet in lokalni mreži dela 3 sekunde pa spet ni delal.

Ko si se dotaknil ohišja te je občasno streslo 110 voltov.
Menjal se napajalnik pa ni popmagalo.
In ko je stranka čisto popizdla sem stranki šenkal čisto nov računalnik.

Vendar problem je ostal nespremenjen.

Potem sem pa vklopil računalni na drugo vtičnico pa so vsi problemi izginili.

Poklical smo strokovnjake za elektriko.
Na vtičnici ni pokazalo nobene nepravilnosti.
Šele ko so zmerili kabel pod obremenitvijo se pokazal povratni tok, ki preko ozemljive dal na ohišje računalnika naključno 110 voltov.
Npr: Vedno ko je zagnal diski je elektrika preko ozemljive prišla na ohišje in je računalnik popizdu.
Nauk iz vsega tega je: da stranki za poslovno rabo ne prodam več računalnika če ni priklopjen na UPS.

Cel postopek ugotavljanja z ogromno nervoze je trajal 3 mesece.
LP.
Zadnjič spremenil Fortuna, dne 17.07.2009 17:00:43, skupaj popravljeno 1 krat.

vovi
Prispevkov: 85
Pridružen: 03.10.2007 20:11:52

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a vovi » 18.07.2009 07:20:57


Poklical smo strokovnjake za elektriko.
Na vtičnici ni pokazalo nobene nepravilnosti.
Šele ko so zmerili kabel pod obremenitvijo se pokazal povratni tok, ki preko ozemljive dal na ohišje računalnika naključno 110 voltov.

Mogoče je da je vtičnica bila OK.
Definitivno ni bila OK vzemljitev, zato kar napoetosti zaradi povratnega toka sploh ne bi smelo biti.


Nauk iz vsega tega je: da stranki za poslovno rabo ne prodam več računalnika če ni priklopjen na UPS
Če upoštevamo da je cena UPS enaka kot nekaj ur dela elektrikarja (brez cene materijala), je takšna rešitev najbolj poceni (kar pa ne pomeni da je prav).

V takšem primeru je potrebno popraviti elektro inštalacijo. Vse ostalo je nevarno za uporabnike.
Odgovorna osoba v podjetju, zadolžena za varnost pri delu, tvega zakonsko prepisano visoko denarno kazen, a v primeru smrtnega primerja tudi zaporno kazen.

Potem sem pa vklopil računalni na drugo vtičnico pa so vsi problemi izginili.

Tm bi moral ostati vkljopljen dokler ne popravijo elekto inštalacijo.

Fortuna
Prispevkov: 1097
Pridružen: 26.06.2004 09:59:52

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a Fortuna » 18.07.2009 13:38:49


Tm bi moral ostati vkljopljen dokler ne popravijo elekto inštalacijo.
Saj tudi je, pa tud UPS sem dodal.
In od takra že kako leto ni bilo nobeni problemov.

Zagotovo vem pa, da še tega niso popravili in majo še vedno na pokvarjeno fazo priklopljen kavni aprat, milinček za kavo, hladilnik in še kaj.
In naprave delujejo . Res je pa da še vedno trese. 110 volov lahko držiš. Občutek tresenja te malce manj kot pri elekrtičnem pastirju za živino.
Držati moraš dve stvari hkrti npr: šank kot ozemljitev. in ohišje aprata oz. ohišje računalnika. Držanje samo aprata ni dovolj ker so tla in čevlji dober izolator.

Je pa zanimivo da do tega toka pride samo pod obremenmitvijo. Pri računalniku ko je zagnalo disk.
Meritve na prazno vtičničnico ne pokažejo nič.
V takšem primeru je potrebno popraviti elektro inštalacijo. Vse ostalo je nevarno za uporabnike.

Na to ne morem vplivati. Lastinik to ve pa po letu dni še vedno ni popravil.
Če bi bilo smrtno, bi že že kaj mrtvih, ker pod tako elekriko delajo že nakaj let in še vedno delajo.

Lp
Zadnjič spremenil Fortuna, dne 18.07.2009 13:39:49, skupaj popravljeno 1 krat.

GJ
Prispevkov: 1078
Pridružen: 13.03.2004 12:34:48

POS terminal - povezava pos-a in pc-ja preko rs232

Odgovor Napisal/-a GJ » 19.07.2009 11:10:43

Zagotovo vem pa, da še tega niso popravili in majo še vedno na pokvarjeno fazo priklopljen kavni aprat, milinček za kavo, hladilnik in še kaj.
In naprave delujejo . Res je pa da še vedno trese. 110 volov lahko držiš. Občutek tresenja te malce manj kot pri elekrtičnem pastirju za živino.
Ma tega tut v Alan Fordu ne prebereš!
Samomorilci...

LP :D GJ
Kdor se zadnji smeje, se smeje zadnji!

Odgovori