...
For Windows setup of latest source version StartWinAdminSVN
In case of problems please look for StartWinAdminSVN at http://web.archive.org/web/20070714013447/ofbizwiki.go-integral.com/Wiki.jsp?page=PageIndex
or even begin by http://web.archive.org/web/*/http://ofbizwiki.go-integral.com/
To Run
java -jar ofbiz.jar -pos
...
Some comments pulled from the mailing list and added since |
---|
I found STAR (serial) receipt printers to be the best; a cash drawer which plugs into the back of the printer works great. As for scanners, use a keyboard wedge scanner and a keyboard or USB MSR. The POS devices we used had MSR built in, not exactly sure how it was configured, but in the end it send the signal through the keyboard device. A term pole display will need to be implemented, as this is not currently supported. However, it shouldn't be very difficult which the base which is there today. Touch screen is configured on the OS level. ELO based devices work on Linux. |
The multiple drawers can be thru the serial. most are thru the parallel port. Gets tricky if you have a parallel device as well. Touch screens can use the keyboard wedge as well. |
The model we used for testing was a DigiCom iPOS435 with a side-mounted MSR. Our particular units had Celeron 850MHz processors and 512MB of RAM. Performance was adequate, but I don't think I could call it "fast". (OS - Gentoo, Fedora; DB - postgres). You may want to compare the ipos430 spec to whatever you're looking at currently. Aside from the speed, it is a very nice unit. For printers we used a basic Star Micronics thermal (model TSP600), which worked out just fine during testing, though I can't comment on long-term reliability. |
Beware with wedge scanners not self-powered. I had a problem with a Dell Dimension 4600 (too weak keyboard alimentation I think) and a Zebex 3080. No problem with the USB model. |
I've used Metrologic scanners (tabletop & handheld) almost exclusively for the past 5 years with a variety of Dell's and custom built machines. I've never had a problem with the keyboard wedge versions. They all had their own power source. |
Deployed OK on FC3-XFC4 with a Star TSP600 printer using serial, MetroLogic keyboard wedge scanner and MultiQ 156 serial touch screen using mutouch drivers. Cash draw linked into the printer and operates fine. No MSR requirements so not tested. |
How to use a MSR for CC payments. |
Mag Stripe Readers issue on Windows XP. |
...
- Install the JavaSE which version you like. I use jdk1.5.0_09;
- Then installed the "Epson JavaPOS ADK 1.82" (or 1.81, 1.80, any version suppor jpos18-control; and copy the "epsonJposService182.jar, epsonJposServiceCommon.jar" to /ofbiz/applications/pos/lib;
- Now modified the jpos.xml file, under /ofbiz/applications/pos/config; I post a sample here:
It uses a TM-U220D on COM1 port, please remember to keep the jpos182 or 180 same as the file you using under ./pos/lib;
<JposEntry logicalName="TM-U220D">
<creation factoryClass="jp.co.epson.jpos182.util.EpsonJposServiceInstanceFactory"
serviceClass="jp.co.epson.jpos182.ptr.U220D"/>
<vendor name="SEIKO EPSON" url="http://www.epson.co.jp"/>
<jpos category="POSPrinter" version="1.8"/>
<product description="EPSON TM-U220D Printer Device Service"
name="EPSON Services for JavaPOS(TM) Standard" url="http://www.epson.co.jp"/>
<!-Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )->
<prop name="dataBits" type="String" value="8"/>
<prop name="Parity" type="String" value="0"/>
<prop name="portName" type="String" value="COM1"/>
<prop name="U375Compatible" type="String" value="0"/>
<prop name="deviceBus" type="String" value="RS232"/>
<prop name="DataLen" type="String" value="1"/>
<prop name="UsedJAI" type="String" value="0"/>
<prop name="TimeoutTime" type="String" value="5000"/>
<prop name="baudRate" type="String" value="9600"/>
<prop name="TwoColor" type="String" value="0"/>
<prop name="PortType" type="String" value="0"/>
<prop name="UsedNVRAM" type="String" value="0"/>
<prop name="StopBit" type="String" value="1"/>
<prop name="RetryTime" type="String" value="100"/>
<prop name="ErrorOption" type="String" value="1"/>
<prop name="ReverseEject" type="String" value="0"/>
<prop name="SerialPowerWaitTime" type="String" value="500"/>
<prop name="InputWait" type="String" value="1"/>
<prop name="AnalysisLevel" type="String" value="1"/>
<prop name="BufferSize" type="String" value="2"/>
<prop name="DeviceDesc" type="String" value="EPSON TM-U220D Printer"/>
<prop name="OutputLength" type="String" value="10"/>
<prop name="parity" type="String" value="None"/>
<prop name="stopBits" type="String" value="1"/>
<prop name="PortName" type="String" value="COM1"/> <!-- Windows -->
<!-prop name="PortName" type="String" value="/dev/ttyS0"/> <!- Linux -->
<prop name="ReceiveTimeout" type="String" value="10"/>
<prop name="TwoByteCharacter" type="String" value="0"/>
<prop name="Page254UseCode" type="String" value="0"/>
<prop name="PhysicalDevice" type="String" value="TM-U220D"/>
<prop name="PaperSize" type="String" value="80"/>
<prop name="BaudRate" type="String" value="6"/>
<prop name="Page255UseCode" type="String" value="0"/>
<prop name="ServiceVersion" type="String" value="1.80"/>
<prop name="flowControl" type="String" value="None"/>
<prop name="FlowControl" type="String" value="1"/>
</JposEntry> - Install Java CommAPI 2.0, copy the comm.jar to j2se or j2re 's /lib/ext folder.
and copy the javax.comm.properties to j2se or j2re's /lib folder;
and copy the win32com.dll to /windows/system32. - Modifiy the pos-containers.xml, which under /framework/base/config:
to make the <property name="Receipt" value="TM-U220D" /> value same as you defined in jpos.xml file.
...
- First, replace the modules in back of the printer
- While the printer is unplugged from power, you must change the "reset" dip-switch (2-7) from off to on.
- Power on the printer, and plug it into the network.
- As per the "UB-E02 Technical Reference Guide." (get it, you'll need it) use the switch button on the Ethernet module to set the ROM back to factory defaults. This will also print a settings page afterward, and let you know the subnet / ip address that you'll need to know to configure the printer.
- Use the Epson TMNet WINconfig utility on a Windows box (sorry! there is NO linux utility!) Set the PC on the same subnet, and set your gateway as the default IP address of the printer.
- Change the settings of the printer (once connected) to suite your environment.
- Add the printer to Epson JavaPOS with SetupPOS.sh using the IP address and info that you set previously.
- Test with CheckHealth
- Add printer to pos-containers.
- start and test OFBIZ...You will receive the error at the bottom of the page. I think it's from something in the deviceloader that is able to check through serial and not though Ethernet! Nothing I wanted to fiddle with though, It works just fine and fast!
FYI....DO NOT use a passthrough drawer on Ethernet printers, or customer displays. It mentioned this several times in all of the technical guides.
...
- ***IF YOU HAVE A CASH DRAWER CONFIGURED, AND UNPLUGGED WHILE TESTING, YOU WILL RECEIVE THE FOLLOWING ERROR*** (although it doesn't affect anything, and the application still starts)
--- exception report
...
- ---------------------------------------------------------
Exception: jpos.JposException
Message: The power supply of the device is off.
---
...
- stack trace
...
- --------------------------------------------------------------
jpos.JposException: The power supply of the device is off.
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.getRealtimeStatus(Unknown Source)
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.getPrinterStatus(Unknown Source)
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.getPrinterStatus(Unknown Source)
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.initializeCommon(Unknown Source)
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.initialize(Unknown Source)
jp.co.epson.upos.pntr.init.AbstractPrinterInitialization.initializeDevice(Unknown Source)
jp.co.epson.upos.drw.CashDrawerPortControl.initializePrinterInstance(Unknown Source)
jp.co.epson.upos.drw.CashDrawerPortControl.openPort(Unknown Source)
jp.co.epson.upos.drw.CommonCashDrawerService.setDeviceEnabled(Unknown Source)
jpos.BaseJposControl.setDeviceEnabled(Unknown Source)
org.ofbiz.pos.device.GenericDevice.enable(GenericDevice.java:71)
org.ofbiz.pos.device.GenericDevice.open(GenericDevice.java:46)
org.ofbiz.pos.device.DeviceLoader.load(DeviceLoader.java:165)
org.ofbiz.pos.container.JposDeviceContainer.start(JposDeviceContainer.java:50)
org.ofbiz.base.container.ContainerLoader.start(ContainerLoader.java:101)
org.ofbiz.base.start.Start.startStartLoaders(Start.java:263)
org.ofbiz.base.start.Start.startServer(Start.java:312)
org.ofbiz.base.start.Start.start(Start.java:316)
org.ofbiz.base.start.Start.main(Start.java:399)
--------------------------------------------------------------------------------
Epson JavaPOS ADK 1.82 support these product
...