Opticon ESL Server, EBS-40, EBS-30, EBS-31 User Manual

Electronic Shelf Label
ESL Server manual
The ESL server manual describes how to
demonstrate and set up the Opticon ESL solution.
Opticon ESL
ESL Server manual
v1.0.62.2
2
All information in this manual is subject to change without notice.
Document History
Model Number:
ESL Server Manual
Specification Number:
Edition:
1.0.62.2
Original Spec Number:
Date:
2017
Copyright 2017 Opticon. All rights reserved.
This manual may not, in whole or in part, be copied, photocopied, reproduced, translated or converted to any electronic or machine readable form without prior written consent of Opticon.
Limited Warranty and Disclaimers PLEASE READ THIS MANUAL CAREFULLY BEFORE INSTALLING OR USING THE
PRODUCT.
Serial Number
A serial number appears on all Opticon products. This official registration number is directly related to the device that is purchased. Do not remove the serial number from your Opticon device. Removing the serial number voids the warranty.
Warranty
Unless otherwise agreed in a written contract, all Opticon products are warranted against defects in materials and workmanship for two years after purchase. Opticon will repair or, at its option, replace products that are defective in materials or workmanship with proper use during the warranty period. Opticon is not liable for damages caused by modifications made by a customer. In such cases, standard repair charges will apply. If a product is returned under warranty and no defect is found, standard repair charges will apply. Opticon assumes no liability for any direct, indirect, consequential or incidental damages arising out of use or inability to use both the hardware and software, even if Opticon has been informed about the possibility of such damages.
Packaging
The packing materials are recyclable. We recommend that you save all packing material to use should you need to transport your scanner or send it for service. Damage caused by improper packaging during shipment is not covered by the warranty.
Trademarks
Trademarks used are the property of their respective owners. Opticon Inc. and Opticon Sensors Europe B.V. are wholly owned subsidiaries of OPTOELECTRONICS Co., Ltd., 12-
17, Tsukagoshi 4-chome, Warabi-shi, Saitama, Japan 335-0002. TEL +81-(0) 48-446-1183; FAX +81-(0) 48-446-1184
SUPPORT
USA
Europe
Phone: 800-636-0090
Phone: +31 235692728
Email: support@opticonusa.com
Email: support@opticon.com
Web: www.opticonusa.com
Web: www.opticon.com
Opticon ESL
ESL Server manual
v1.0.62.2
3
Contents
1. Features and Specifications ...................................................................................................... 6
1.1. Abstract ............................................................................................................................... 6
1.2. Contents of an ESL demo kit .............................................................................................. 6
1.3. Physical Features ................................................................................................................ 6
1.3.1. Dimensions ................................................................................................................................ 6
1.3.2. Weight ........................................................................................................................................ 6
1.4. Environmental Specifications .............................................................................................. 7
1.4.1. Operating Temperature and Humidity (EE201) ......................................................................... 7
1.4.2. Storage Temperature and Humidity (EE201) ............................................................................ 7
1.5. Interface Specifications ....................................................................................................... 7
1.6. Electrical Specifications ...................................................................................................... 7
1.6.1. Electrical Characteristics ............................................................................................................ 7
1.6.2. Main Batteries ............................................................................................................................ 8
1.7. Hardware Specifications ..................................................................................................... 9
1.8. Serial Number ................................................................................................................... 10
1.8.1. EBS-30 / EBS-31 / EBS-40 ...................................................................................................... 10
1.8.2. ESLs ......................................................................................................................................... 10
1.9. Safety ................................................................................................................................ 10
1.9.1. Shock ....................................................................................................................................... 10
1.9.2. Temperature Conditions .......................................................................................................... 10
1.9.3. Foreign Materials ..................................................................................................................... 10
1.9.4. Other ........................................................................................................................................ 10
2. Solution overview ................................................................ ..................................................... 11
2.1. CSV-file based solution ..................................................................................................... 12
2.2. SQL Solution ..................................................................................................................... 13
2.3. CSV / SQL hybrid solution ................................................................................................ 14
2.4. External content management solution ............................................................................. 14
2.5. SQL API ............................................................................................................................ 14
3. Setting up the hardware and software .................................................................................... 15
3.1. Installing the ESL Server application ................................................................................ 15
3.2. Installing and finding the EBS3x / EBS40 base stations ................................................... 15
3.3. Installing and activating the ESLs ..................................................................................... 16
3.4. Mounting ESLs .................................................................................................................. 17
4. Linking of ESLs to products .................................................................................................... 18
4.1. Linking in the ESL server application ................................................................................ 19
Opticon ESL
ESL Server manual
v1.0.62.2
4
4.2. Linking using an Opticon batch terminal ........................................................................... 20
4.3. Linking using the provided web application ....................................................................... 20
5. Configuring the base stations ................................................................................................. 21
5.1. Configuring the RF channel .............................................................................................. 21
5.2. Changing the local name .................................................................................................. 22
5.3. Changing the PAN ID / LAN ID ......................................................................................... 22
5.4. Configuring the Ethernet settings ...................................................................................... 23
5.5. Factory default .................................................................................................................. 24
5.6. Base station firmware update ............................................................................................ 25
5.6.1. Trouble shooting ...................................................................................................................... 25
6. Configuration and monitoring of ESLs ................................................................................... 26
6.1. Configuration of ESLs ....................................................................................................... 26
6.1.1. Associate interval ..................................................................................................................... 27
6.1.2. Poll Interval .............................................................................................................................. 27
6.1.3. Poll timeout .............................................................................................................................. 27
6.1.4. Display orientation ................................................................................................................... 27
6.1.5. Poll - Info Ratio ........................................................................................................................ 28
6.1.6. Scan channels ......................................................................................................................... 28
6.1.7. Temperature range .................................................................................................................. 28
6.2. Monitoring of ESLs ............................................................................................................ 29
6.3. Filtering ESLs .................................................................................................................... 30
6.4. Controlling ESLs ............................................................................................................... 30
6.4.1. Actions ..................................................................................................................................... 31
6.4.2. Load balancing ......................................................................................................................... 31
6.4.3. Firmware update ...................................................................................................................... 32
7. Database configuration ............................................................................................................ 32
7.1. CSV Data base configuration ............................................................................................ 33
7.1.1. Changing the database format and settings ............................................................................ 34
7.2. SQL Data base configuration ............................................................................................ 36
7.2.1. Tables ...................................................................................................................................... 38
7.2.2. Connection ............................................................................................................................... 48
7.2.3. Tables configuration ................................................................................................................. 49
7.2.4. Fields configuration .................................................................................................................. 49
7.2.5. Web Application ....................................................................................................................... 49
7.2.6. Advanced Settings ................................................................................................................... 50
7.2.7. Apply and reset ........................................................................................................................ 51
7.3. Open DataBase Connectivity (ODBC) configuration ......................................................... 52
Opticon ESL
ESL Server manual
v1.0.62.2
5
7.4. CSV / SQL Hybrid configuration ........................................................................................ 54
7.5. External content management configuration ..................................................................... 56
7.6. Manual editing of the product database ............................................................................ 58
7.7. Editing the Links-table ....................................................................................................... 58
8. Designing the ESL image layout ............................................................................................. 59
8.1. Template Selection ........................................................................................................... 60
8.1.1. Conditions ................................................................................................................................ 61
8.2. Using the Template editor ................................................................................................. 63
8.2.1. Static and dynamic Content ..................................................................................................... 65
8.2.2. Conditional objects ................................................................................................................... 65
8.3. Saving and exporting a template ....................................................................................... 66
8.4. Using Example data .......................................................................................................... 66
9. Connecting the back office using CSV-files .......................................................................... 68
9.1. Product database format ................................................................................................... 68
9.2. Product-ESL link database format .................................................................................... 69
9.3. Middleware application (CSV-files only) ............................................................................ 71
10. Barcode terminal application .................................................................................................. 72
10.1. Setting up the barcode terminal ........................................................................................ 72
10.2. Loading the database files on the terminal ....................................................................... 73
10.3. Creating links between ESLs and products ...................................................................... 73
10.3.1. OPH100x, H13, OPH3000 or OPL9728 .................................................................................. 74
10.3.2. OPN2002/3/4/5/6 ..................................................................................................................... 75
10.4. Sending the link file back to the PC .................................................................................. 75
11. Using the Web Application for linking and monitoring ......................................................... 76
11.1. Web application with Oracle, PostgreSQL, SQLite, MS-SQL and DB2 ............................ 78
12. Running the ESL server as service ........................................................................................ 78
Appendix A: Demo barcodes ........................................................................................................ 80
Appendix B: My-SQL demo configuration ................................................................................... 81
Appendix C: MS-SQL demo configuration ................................................................................... 83
Appendix D: Oracle demo configuration ...................................................................................... 85
Appendix E: PostgreSQL demo configuration ............................................................................ 87
Appendix F: SQLite demo configuration ...................................................................................... 89
Appendix G: DB2 demo configuration ......................................................................................... 91
Appendix H: Restoring the ESL server back to default (CSV) ................................................... 93
Appendix I: Using the SQL API ..................................................................................................... 94
Appendix J: Version history .......................................................................................................... 99
Opticon ESL
ESL Server manual
v1.0.62.2
6
1. Features and Specifications
1.1. Abstract
This manual describes how to set-up an Electronic Shelf Labels (ESL) system with e-Paper ESLs from Opticon Sensors Europe BV.
1.2. Contents of an ESL demo kit
The ESL demo kit consists of the following components:
Ethernet ESL base station (EBS-30 / EBS-40)  6 2” e-paper ESLs (EE201) including batteries  UTP cable  6.0V 2A Power supply (European)  PC Installation Software (ESL server and web application)  Opticon ESL Server User Manual
The demo kit does NOT include a barcode terminal or scanner, which can be used to link ESLs to products using barcodes. Any of the following barcode terminals or scanners can be used for this purpose:
OPH100x (+ CRD100x cradle)  H13 (+ CRD13 cradle)  OPL9728 / OPL9815 (+ CRD9723RU cradle)  OPN2002/3/4/5/6 (+ mini USB cable)  CLK3000 (+ mini USB cable)  Any handheld barcode terminal with Wifi and a web browser  Any USB-HID barcode scanner
1.3. Physical Features
1.3.1. Dimensions
2” e-paper ESL (EE201): W 65.0 x D 34.0 x H 15.0 mm
Base station (EBS-30/40): W 145.0 x D 110.0 x H 30.0 mm (excl. antenna)
1.3.2. Weight
2” e-paper ESL (EE201): 25 g (incl. 2 batteries)
Base station (EBS-30/40): 125 g (excl. power supply)
Opticon ESL
ESL Server manual
v1.0.62.2
7
1.4. Environmental Specifications
1.4.1. Operating Temperature and Humidity (EE201)
Temperature: 5 to 50° C Humidity: 20-85%
1.4.2. Storage Temperature and Humidity (EE201)
Temperature: -20 to 60° C Humidity: 20-85%
1.5. Interface Specifications
The radio interface of both the base stations and ESLs have the following specifications:
2.4gHz IEEE 802.15.4 compatible  Transmission speeds: up to 250 kbps
1.6. Electrical Specifications
1.6.1. Electrical Characteristics
EE201:
Parameter
Typical
Unit
Remarks
Operating voltage
2.8–3.2 V 2 x CR2450 Lithium battery
Operating current
7-33
mA
During RF and image refresh only
Sleep current
1
uA
EE201 is in sleep state >99,9%
EBS-30 / EBS-40:
Parameter
Typical
Unit
Remarks
Operating voltage
6.0
V
Power adapter
Operating current
<300
mA
Opticon ESL
ESL Server manual
v1.0.62.2
8
1.6.2. Main Batteries
The main batteries in the EE20x are 2 CR2450 Li-Mn batteries:
Nominal capacity: 2x600 mAh  Nominal voltage: 3V  Low voltage: Less than 2.8 V  Operating time: >7 years (default settings; 4 refreshes/day; 15-25° C)
The operating time of the batteries is based on a realistic estimation of any of the following factors that influence the battery life:
Factor
Default values and estimated averages
Correlation * (Higher is better)
Influence
Polling for data & reporting settings
Interval: 20 seconds Retransmissions: 10% Report ratio: 1 to 39
Yes No Yes
61% Display updates
4 per day Temperature: 15-25° C
No Yes
20%
Out of range / base station OFF %
Not connected: 2% Number of channels: 5
No No
4% Sleep time
99,9%
Yes
9%
Battery self-discharge
1 % / year
No
6%
* The correlation shows whether increasing the listed value increases or decreases the power consumption of the ESLs.
For example:
Increasing the poll interval lowers the power consumption  Turning off the base stations increases the power consumption  A lower operating temperature increases the power consumption  More display updates per day increase the power consumption
Opticon ESL
ESL Server manual
v1.0.62.2
9
1.7. Hardware Specifications
Items
Specifications
Remarks
CPU
Type
Stellaris LM3S9B96 (EBS-30) Cortext-M4F TM4C129 (EBS-40) CC2530-F128 (EE200) CC2533-F96 (EE201)
Internal ROM
256 KB (EBS-30) / 512 KB (EBS-40) 128 KB (EE200) 96 KB (EE201)
Internal RAM
96KB (EBS-30) / 256KB (EBS-40) 8 KB (EE200) 6 KB (EE201)
External RAM
8MB (EBS-30 / EBS-40) N/A (EE200) N/A (EE201)
Clock frequency
80 MHz (EBS-30) / 120MHz (EBS-40) 32 MHz (EE20x)
Display (EE20x)
Active area
W 45 x H 22 mm
Number of dots
W 200 x H 96
Model
EG020AS183
Gray scale level
1 bit
Black and white
Contrast ratio
10:1
Pixel pitch
111 dpi
Connector (EBS-xx)
Ethernet
10/100 Mbit
Radio Frequency
2.4gHz
Protocol
IEEE 802.15.4
Opticon ESL
ESL Server manual
v1.0.62.2
10
1.8. Serial Number
1.8.1. EBS-30 / EBS-31 / EBS-40
The serial number can be found on the back of the base station. The base stations also have a unique MAC-address which is used for both Ethernet and radio communication.
1.8.2. ESLs
The serial number of the ESLs is based on the 16 hexadecimal digits MAC-address of the RF-module.
However, the first 6 or 9 digits of the MAC address have been replaced by a letter.  ‘B’ (instead of ‘3889DC’ or ‘3889DC000’) The default barcode that is shown on the display of the ESL is identical to the bar code on
the back of the ESL.
1.9. Safety
Handle this product carefully. Do not deliberately subject it to any of the following.
1.9.1. Shock
Do not throw or drop the devices
1.9.2. Temperature Conditions
Do not use the devices at temperatures outside the specified range. Do not pour water on the devices. Do not throw the devices into the fire. Do not forcibly bend the cable at low temperatures.
1.9.3. Foreign Materials
Do not immerse the devices in liquids. Do not subject the devices to chemicals.
1.9.4. Other
Do not plug/unplug the connectors before disconnecting the power. Do not disassemble this product. The device may be damaged by power surges
Opticon ESL
ESL Server manual
v1.0.62.2
11
2. Solution overview
5 different solutions are currently supported by the ESL server application:
CSV-file solution. The CSV-file based solution operates by running the provided ESL
server application that monitors an input folder in which CSV-files, containing the product and link databases, are being placed by a back office system. Logging is done in a SQLite database file.
SQL solution. The SQL-based solution (MS-SQL, MySQL, Oracle, SQLite, PostgreSQL or
DB2) provides the possibility to monitor and control multiple stores using one central of multiple local SQL databases in combination with the provided web application. The local ESL server application monitors an SQL database using staging tables and processes them and inserts status information of all ESLs into the SQL database. Optionally an ODBC data source can be used to connect using a DSN of an SQL database.
CSV / SQL hybrid solution. Uses the provided ESL server application that monitors an
input folder in which CSV-files, containing the product and link databases, are being placed by a back office system, but inserts status information of all ESLs into a local SQL database to allow remote monitoring of the ESL system.
External content management solution. Allows the connecting of an existing content
management system to the ESL server. Pre-generated images are placed into an input folder, which are automatically processed and send the corresponding ESLs. Logging of status information can be done by SQL if desired.
SQL API. The ESL server supports a full SQL API, which can be used to create your own
(web) application by executing SQL queries to (remotely) control and monitor the ESL system, while running the ESL server as background service.
Opticon ESL
ESL Server manual
v1.0.62.2
12
2.1. CSV-file based solution
The CSV-file based solution operates by running the provided ESL server application that:
Monitors an input folder in which CSV-product databases are being placed by a back office
system and processes them (optionally with pre-processing by a middleware application).
Controls, monitors and configure ESLs and base stations Allows manual editing of product and link data bases Creates/changes image templates, generates the ESL images and sent them to the ESLs Processes linking information from a handheld Wi-Fi barcode device or batch scanner Stores log and status information into a local SQLite database file
A global overview of this solution is shown below. The following chapters will describe the different parts of this system in more detail and how to get started.
Opticon ESL
ESL Server manual
v1.0.62.2
13
2.2. SQL Solution
The SQL-based solution provides the possibility to monitor and control multiple stores using one central or multiple local SQL databases in combination with the provided web application.
The local ESL server application(s) will:
Monitor a local or central SQL database using staging tables and processes them. Inserts status information of all ESLs into the SQL database Controls, monitors and configures ESLs and base stations Allows manual editing of product and link data bases (optional) Creates/changes image templates, generates the ESL images and sent them to the ESLs
The web application can be added to provide remote and in-store control over the ESL system. A global overview of this solution is shown below. The following chapters will describe the different
parts of this system in more detail and how to get started.
Opticon ESL
ESL Server manual
v1.0.62.2
14
2.3. CSV / SQL hybrid solution
The CSV / SQL hybrid solution matches the CSV-solution with as only difference that all status information on the ESLs and base station are logged into a local SQL database which can be retrieved by the back office system. See chapter 7.4 for more information.
2.4. External content management solution
When using external content management solution the back office or content management system handles the generation of the images and the linking of products to ESLs.
The ESL server application basically only monitors an input folder for new images and distributes them to the corresponding base stations / ESLs.
Status information will be logged into a local SQL database. See chapter 7.5 for more information.
2.5. SQL API
SQL can be used as API to create your own (web) application by executing SQL queries to control and monitor the ESL system, while running the ESL server as background service.
See chapter 7.2 for information on how to use the SQL product and link staging tables to link and update ESLs and use the status tables to monitor the ESL system.
See chapter 12 on how run the ESL server as service. See Appendix I: Using the SQL API for more information on this API.
For maximum flexibility the SQL API can also be used in combination with the CSV/SQL hybrid solution and with the external content management solution.
Opticon ESL
ESL Server manual
v1.0.62.2
15
3. Setting up the hardware and software
This SDK contains the following pieces of hardware and software that will have to be installed in order to get an ESL demonstration or pilot up and running:
The ESL Demo kit installer containing:
The ESL server application The ESL Web application Example database files and image templates Firmware for the barcode terminal, base station and ESLs Appload (optional) USB drivers for the barcode terminal cradle (optional) User manual
1 EBS30 / EBS40 Base station(s) that includes:
6V Power supply Ethernet cable
6 EE201 2-inch e-paper ESLs (batteries included)
To be able to quickly link ESLs to products using barcodes, you can use the following options:
USB-HID barcode scanner (connected to the ESL server or by using the local web application)
OPH1004, H13, OPN2006 or OPH300x barcode terminal (incl. communication cradle/cable)
H21, H22 or H32 using Wifi (requires a local web server running the provided web application)
3.1. Installing the ESL Server application
To install and run the software you will also need a PC running Windows 7 or Windows XP (with server pack 3) as server.
Before installing the software, make sure you have administrator rights and the PC is fully updated with al Windows updates, including the latest Internet Explorer updates.
If your PC doesn’t have .NET Framework 3.5 (or higher) installed, you will have to install it prior to installing the ESL Server application.
Run the SDK installer by starting the ‘setup.exe’ file. Select the components that you wish to install. If you haven’t installed Appload or the Opticon
USB drivers on your PC before, make sure you install those components as well.
3.2. Installing and finding the EBS3x / EBS40 base stations
The base station can easily be installed by powering it up, connecting it to the Ethernet with DHCP support and placing it within 10 meter (the actual maximum range is bigger) of your ESLs. The PC will need to be connected to the same LAN, so it can communicate with the base station*.
Opticon ESL
ESL Server manual
v1.0.62.2
16
After starting the application for the first time, no base station will be available to communicate with ESLs.
Press the ‘Find’ button on the ‘Base stations-tab to find the connected base station.
Select the discovered base station to add and connect your PC to the base station.* If activated ESLs are nearby, then the ESL count will start incrementing as they start connecting
to the base station. However if the ESLs are still ‘deactivated’, they will first have to be reactivated.
* Note 1: when the base station is connected to the LAN with DHCP the IP address can vary over time, making it necessary to remove the old base station entry by pressing the ‘Delete’-key of your keyboard and discovering the base station again using the ‘find' button. Using static IP leases in the DHCP server can resolve this problem.
* Note 2: when the base station is connected to the LAN without DHCP, the default IP address/subnet mask of the base station is 169.254.19.63 / 255.255.0.0. Configure a PC or laptop on the same subnet to change this using a web browser.
3.3. Installing and activating the ESLs
On arrival the ESLs already have their batteries inserted. However, to allow safe transport by airplane, it is likely that the ESLs will show a
‘DEACTIVATED’ message in their left top corner. This means the ESLs do not emit any radio
signals and won’t be searching for base stations at this point.
Opticon ESL
ESL Server manual
v1.0.62.2
17
To reactivate these ESLs place them nearby the connected base station and select the base station in the list view of the ‘Base stations’-tab. This allows you to press the ‘Reactivate ESLs’ button in the bottom right corner.
After pressing this button, a dialog will appear showing a progress bar and how many ESLs have been reactivated so far.
Since the ESLs will only wake-up for a split second every few minutes, it can take more than 15 minutes before all ESLs have been successfully reactivated. You can verify this by checking
whether the ‘DEACTIVATED’ message has disappeared from the screen.
Active ESL’s will be periodically seek for an Opticon base station, so as soon as an Opticon
base station is within range, they will associate with it and start sending data requests and status information to it. When a base station is turned off or an ESL is moved out of range, an ESL will time out after a couple of minutes and starts seeking for another base station in range. See chapter 6.1 for more information about configuring ESLs.
It might be possible that even though the ESLs are working properly, they still don’t connect to the base station. This might be caused by strong interference on the default RF-channel of the base station. To resolve this problem, see chapter 5.1
3.4. Mounting ESLs
Since there are many types of mounting clips to mount shelf labels to shelves, the ESLs of the demo kit are supplied without mounting clips. Please contact Opticon for more information on the mounting possibilities of our ESLs to your shelves. For simple demonstration purposes with small amounts of labels one might also consider using double sided foam tape as a temporarily solution.
Opticon ESL
ESL Server manual
v1.0.62.2
18
4. Linking of ESLs to products
Linking of ESLs is the process of telling the system which product should be shown on which ESL. This is usually done by scanning the MAC address bar code on the ESL label followed by scanning (or entering) the unique ID of the product.
The unique ID can be anything: an EAN code, article number, location, room number, etc. As long as it’s a unique identifier in the database, it can be linked to an ESL.
Opticon provides 3 methods for linking ESLs to products in your product database.
1. Using the ESL server application (manually or by using a USB-HID barcode scanner )
Advantage: Linking of ESLs in the ESL server application requires no additional hardware.
This makes it ideal for demonstration purposes and small installations.
Disadvantage: The ESL server usually isn’t located right next to the products and ESLs in a
store, which makes scanning both the ESLs and products and time consuming process
2. Using the provided web application (requires a handheld terminal with web browser & Wifi)
Advantage: Linking of ESLs using a web application is quick and can be done everywhere
in the store with almost all handheld barcode device (as long as it has a web browser and Wifi). ESLs will immediately start updating after linking.
Disadvantage: Requires that the Web application is installed using an HTTP-server (like
Apache) and to be available on the Wifi network.
3. Using an Opticon batch terminal
Advantage: Linking using a batch terminal is quick and can be done everywhere in the
store and without any wireless connection.
Disadvantage: It requires an Opticon batch terminal, which needs to be moved back to the
ESL server to upload the created link information. ESLs won’t start updating until the batch
terminal is connected to the ESL server PC.
The following 3 chapters will describe these 3 methods in more detail.
Opticon ESL
ESL Server manual
v1.0.62.2
19
4.1. Linking in the ESL server application
Linking in the ESL server application can be done manually and by using any USB-HID barcode scanner.
Hint: Using a USB-HID barcode scanner is quick and avoids human error.
To (un)link an ESL, either select the ESLs-tab of the ESL-server and double click on an ESL that needs to be (un)linked and then type, scan or find a product in the product database and then press apply.
Or select the ‘Data’-tab and press the ‘Add’ button or double-click on an existing link and then type, scan or find the MAC address of the ESL and the product ID.
Opticon ESL
ESL Server manual
v1.0.62.2
20
When using an USB-HID scanner, this can be quickly done by scanning the MAC address bar code on the ESL label followed by scanning the unique ID or barcode of the product.
4.2. Linking using an Opticon batch terminal
Opticon provide software for a wide variety of batch terminals to perform this task. The following bar code terminals are currently supported:
OPN2002/5/6 (bar codes only; uses a mini USB cable)  OPH1004 (bar codes & keypad; requires a CRD1001 cradle)  H13 (bar codes & keypad; requires a CRD13 cradle)  OPL9728 (bar codes & keypad; requires a CRD9723RU cradle)  OPH3000 (bar codes & keypad; uses a mini USB cable)
More information on how to set-up the barcode terminal can be found in chapter 10.
4.3. Linking using the provided web application
Using Opticon’s H21, H22, H32 or any other Wifi terminal it is possible to link ESLs to products and monitor the ESL system using a WiFi connection. This is done by installing a local web-server that runs the provided web page to perform the linking.
For large installations this is the ideal solution, because it’s quick, can be done in the store, ESLs will immediately start updating after linking and it contains multiple monitoring options to check the status of all ESLs, products, base stations and the ESL server.
Using and setting up the web application is described in more detail in chapter 11.
Opticon ESL
ESL Server manual
v1.0.62.2
21
5. Configuring the base stations
Base stations have very few configurations besides the configuration of the Ethernet settings (which will be described in chapter 5.4). The only vital configuration is the RF channel on which the base station operates.
5.1. Configuring the RF channel
The base station operates on a single RF channel, which can be selected in a range of channel 11 to 26 (as specified by the IEEE 802.15.4 standard).
When using multiple base stations it’s strongly recommended to use a different RF channel for each base station within range to improve the maximum throughput of data and reduce data collisions.
Since the base station / ESLs, which apply the IEEE 802.15.4 standard, operate on the same
frequency band as i.e. WIFI and Bluetooth it’s important to make sure that a base station does not
operate on the same RF channel as any nearby WIFI network to minimize interference. To detect which RF-channels are least active, the base station can perform an energy scan on all
16 available channels and graphically show the energy levels in a real-time graph.
To check the energy levels on the RF bandwidth select the base station in the ‘Base stations’-tab and press the ‘Scan’ button.
Since the EE201 ESLs will (by default) only look for base stations on channels 11, 15, 20, 25 &
26. Look for the RF channel with the lowest energy level (on average) of these 5 channels.
If the RF channel of the base station is set to a channel outside this selection, the ESLs will not
Opticon ESL
ESL Server manual
v1.0.62.2
22
find the base station. If you do wish to use any of the other channels, then it’s necessary to first
configure a different RF channel selection into the ESLs before configuring the base stations. (See chapter 6.1.6)
Note: If an ESL is not associating to any base station and its RF channel range is unknown, then configure a base station to channel 11. This channel will always be scanned by an ESL to make sure they can always be found and reconfigured without having to look for it on all channels.
After determining the least active RF-channel, close the RfScan-dialog. After that you can change the ‘RF Channel’ in the ‘Configuration’ section of the ‘Base stations’-tab and press ‘Apply’ to confirm.
After the RF channel is changed the base station will automatically reset to apply the new setting. Be aware that any ESLs that were already associated with the base station before changing the
RF channel will lose their connection with the base station. By default it will take 30 polls (times the poll interval of 20 seconds) before the ESLs will time out and start looking for another base station.
To avoid having to wait a couple of minutes before the ESLs starts looking for the base station on the new RF-channel it’s possible to disassociate all the ESLs from the base station prior to
changing the RF channel. To do so, select all ESLs in the ‘ESLs’-tab that need to be
disassociated, then select the ‘Kick from base station’ action and press the ‘Start’ button. All ESLs should now start disassociating from base station. Once they’re all gone, quickly change the RF
channel and the ESLs should start to reappear again on the new channel.
5.2. Changing the local name
To make it easier to distinguish multiple base stations, it’s possible to assign a name to base stations. This can be done by editing the text field besides ‘Local name’ and pressing the ‘Apply’
button afterwards to store the name inside the base station.
5.3. Changing the PAN ID / LAN ID
This feature requires EBS3x firmware version: IBMV0015 or higher and EExxx firmware version IBxV0058 or higher!
Base stations are addressed by the ESLs by their PAN ID (2 bytes) and a 16-bit LAN-ID.
Opticon ESL
ESL Server manual
v1.0.62.2
23
The PAN-ID makes it possible to have multiple base stations operating on the same RF channel. By default the PAN ID is the same as the 2 least significant bytes of the MAC-address. In the extremely rare case that you will have two base stations that have the same default PAN ID, it’s necessary to change the PAN ID manually. In this case, edit the PAN-ID to a unique 4 digit
(hexadecimal) value and press the ‘Apply’ button afterwards to store the name inside the base
station. The LAN-ID makes it possible to run two or more parallel ESL networks next to each other. By
default the LAN-ID is 0000, which means any Opticon ESL will connect to this base station. To run two ESL networks in parallel, change the LAN-ID of both networks to non-zero.
Do this by configuring the LAN-ID of all base stations of both networks. Then make sure the LAN-
ID of all ESLs is cleared (=default), by using the ESL action: ‘Clear LAN Id’). Then move all ESLs
to a base station of the desired LAN-ID. Once all ESLs are associated to the correct network, choose the ESL action ‘Set LAN Id’ to lock the LAN-Id of the ESLs.
Be aware that any ESLs that were already associated with the base station before changing the PAN-ID or LAN-ID will lose their connection with the base station. By default it will take 10 or 20 polls (times the poll interval of 20 seconds) before the ESLs will time out and start looking for base stations again.
5.4. Configuring the Ethernet settings
By default the base station is configured with DHCP enabled. If DHCP is not available, then the EBS-3x / EBS-40 will be available on the following IP address and subnet mask: 169.254.19.63 /
255.255.0.0.
If DHCP is used, make sure the DHCP server always leases the same IP to the same base station to prevent having to find and add the base station again every time that the IP-addresses changes.
To change the Ethernet settings, you first have to find and add the base station in the ‘Base
stations’-tab of the ESL server application. After that, you can open the embedded webpage of the base station with your default web browser by pressing the ‘View’ button next to ‘Ethernet settings’.
It’s also possible to access this webpage directly from your web browser using the IP-address of
the base station. After that you can change all the settings of the base station by going to the ‘Configure’ page. Important notes:
If DHCP is disabled and the current IP address and subnet mask are unknown, then it’s
possible to recover the EBS-3x/4x by applying power the device with the reset button pressed. This will re-enable DHCP temporarily to allow reconfiguration on a network with DHCP enabled.
If DHCP isn’t available or working, then it’s possible to connect the base station directly to
the Ethernet port of your PC with the following IPv4 set-up: ‘Obtain IP address automatically disabled; IP: 169.254.19.61; Subnet: 255.255.0.0. After that the base station can be
Opticon ESL
ESL Server manual
v1.0.62.2
24
discovered and configured on the default IP-address: 169.254.19.63 using the configuration webpage.
Do not use a WiFi connection to connect your ESL server to the EBS-3x/4x’s to unsure a
reliable connection.
The default password of the configuration page is ‘admin’.The base station can also be controlled over the Internet or via a public network, but it won’t
be a secure solution, since SSL isn’t supported yet in this SDK nor is the webpage password protected.
5.5. Factory default
To set the base station back to factory default, apply power with the reset button pressed and keep it pressed for 15 seconds. This will re-enable DHCP and set the IP address and subnet mask back to the default values: 169.254.19.63 / 255.255.0.0. Also the other configurations will reset to factory default.
Important: If DHCP is disabled and the current IP address and subnet mask are unknown, then it’s possible to recover the EBS-3x by applying power the device with the reset-key pressed. This will re-enable DHCP temporarily to allow reconfiguration of the base station on a network with DHCP enabled.
Opticon ESL
ESL Server manual
v1.0.62.2
25
5.6. Base station firmware update
The latest firmware is always included in the latest ESL server application, which can be downloaded from our FTP:
ftp://ftp.opticon.com/pub/ESL/
You can upgrade the firmware by selecting the base station in the base station-tab of the ESL server application and pressing the firmware update button on the bottom right.
The firmware file for the base station can be found in the 'firmware' folder of the installation directory of the ESL server.
Updating the base station firmware
5.6.1. Trouble shooting
If a firmware update fails, this can have a number of causes:
Older firmware versions require the EBSxx and ESL server to be on the same subnet
(connect the EBSxx on the same subnet)
One of the following ports is use: 67, 68, 69, 1002 or 13633 by another process (use netstat
to find out which process uses one of these ports.
Your firewall of router is blocking on of the above ports. Your router/switch has its own bootstrap server (BOOTP) enabled. Check your manual of
your router on how to disable BOOTP (i.e. using ‘ip dhcp bootp ignore’ on Cisco systems) or connect the EBSxx directly to your ESL server,
Opticon ESL
ESL Server manual
v1.0.62.2
26
6. Configuration and monitoring of ESLs
6.1. Configuration of ESLs
There are a number of configurations that can be made in the ESLs to control, customize them and to regulate power consumption.
To edit configurations of an ESL, go to the ‘ESL’-tab base station tab and select the ESLs that you which to configure. To select multiple ESLs, use the shift- or ctrl-key.
After doing so, the current settings of the first selected ESL will be shown below.
Note: If the base station has not yet received the settings from this ESL, then you’ll have to wait till
the settings have been received from the ESLs. These are automatically requested the next time the ESL polls for data.
There are 6 configurations that can be edited. These configurations will be described in the following chapters:
Associate Interval Poll interval Poll timeout Display orientation Poll - Info ratio
Opticon ESL
ESL Server manual
v1.0.62.2
27
Scan channels Temperature range
6.1.1. Associate interval
When an ESL is not connected to any base station it will automatically start looking for nearby base stations. Since searching for base station consumes a relative large amount of power it will not continuously search, but only once every couple of seconds. The associate interval determines the time (in seconds) between two associating attempts of an ESL. The default associate interval is currently 60 seconds.
If an ESL stays disconnected for a longer period of time, then the associate interval will start to increase up to 15 minutes to minimize battery consumption.
The amount of power that is being consumed by the ESL, when it’s not connected to any base
station is also strongly related to the number of RF channels it is configured to search for base
stations. More information about the configuration of the ‘Scan Channels’ can be found in chapter
6.1.6.
6.1.2. Poll Interval
The poll interval specifies the interval (in seconds) at which the ESL sends a poll for data to the base station. This parameter is the most significant configuration of an ESL since it strongly determines the response time of an ESL (how fast is an image displayed) as well as the battery life time.
By default the ESLs poll every 20 seconds once they’re connected to a base station. This means that to response time of an ESL can be anywhere in between 0 to 20 seconds (unless the poll doesn’t arrive at the base station due to interference).
The poll interval greatly influence the battery life time, so lowering it is not recommended. For example, changing the poll interval from 20 seconds to 5 seconds will roughly triple the power consumption and thereby shorten the battery life time by a factor of 3.
An advantage of making the poll interval bigger is the reduction of the used bandwidth per ESL, making it possible to connect more ESLs to a single base station.
6.1.3. Poll timeout
The poll timeout specifies the number of polls without acknowledge from the base station after which the ESL will time out its connection and start searching for another base station. The default poll time out is currently 10 polls, so by default the time out is 10x20 seconds = 200 seconds.
6.1.4. Display orientation
It is allowed to mount ESLs up-side-down. To make sure that the images are displayed correctly, the display orientation can be changed to ‘Flipped’.
Opticon ESL
ESL Server manual
v1.0.62.2
28
6.1.5. Poll - Info Ratio
The poll info ratio determines how often ESLs will automatically send their current status and settings to the base stations. By default the ESLs will transmit this information once every 40 polls, so a ratio of 1:39.
The status and information of an ESL is also requested immediately by selected un ESL in the ESL-tab. This will cause the base station to request the settings the next time this ESL polls for data.
The poll info ratio is set to a relative high value, because settings and status usually don’t vary a lot. Also sending settings and status information uses more bandwidth and consumes more power than regular polls for data.
6.1.6. Scan channels
Once an ESL has associated (connected) to a base station, it operates on a single RF channel.
However when it’s not yet connected to a base station, the ESL will automatically scan a range of
RF-channels for base stations. The range of RF channels that an ESL will scan for base station is configurable. All channels in the range of channel 11 to 26 can be scanned by adding the channel in the dash-separated list of channels.
By default the channels 11, 15, 20, 25, 26 are enabled. Channel 11 can’t be disabled to make
sure that when an ESL that is not associating to any base station and its RF channel range is unknown, it can always be retrieved by configuring a nearby base station to channel 11.
6.1.7. Temperature range
Configures the temperature range at which the ESL is installed. Because e-paper displays become slower at low temperature, lowering the temperature range compensates for this to avoid the display not updating correctly.
Only use this feature when the display is not updating correctly under low temperatures, because lowering the temperature range increases power consumption, because it takes longer to update the display. Also be aware that low temperatures decrease the battery capacity and thereby also the battery life time.
Opticon ESL
ESL Server manual
v1.0.62.2
29
6.2. Monitoring of ESLs
All available information of an ESL can be displayed in the ESL-tab. Each column can be enabled or disabled by right-clicking of the column-header and (un)selecting items of the list below.
Unique ID Unique ID of the product to which the ESL is linked.
o Red Product was not found in product database / image file could not be found
MAC 16-digit MAC address of the ESL Group Product group as configured in the ‘Data’-tab. Description Product description as configured in the ‘Data’-tab. Image file File name of the generated image for this ESL
o <Empty> ESL is not linked to any product o Light green Image on ESL is up-to-date o Dark green Image is currently updating o Yellow Image is currently updating (previous attempt failed) o Orange Image is ready for updating, but the ESL has not polled since o Red Error: Image file could not be found / Image update failed o Light grey ESL is missing / not associated to any base station
Poll Interval Poll interval (see chapter 6.1.2) Poll Timeout Poll time out (see chapter 6.1.3) Associate Interval Associate interval (see chapter 6.1.1)
Battery voltage Current battery voltage (deprecated)
Model Hardware model of the ESL (i.e. EE200 / EE201) Version Software version of the ESL firmware SubVersion Software version of the sub-processor of the ESL (if present) Image Id Image Id of the image on the ESL. (0=default image; 1=normal image) Backlight Backlight setting of the ESL (only for TFT based ESLs) Display Orientation Display Orientation (Normal or Flipped; See chapter 6.1.4) LQI Indicator of the signal strength from an ESL (measured by base station)
o Dark orange (1-3) Link quality is poor and high packet loss (>60%) o Orange (4-7) Link quality is poor and significant packet loss (>20%) o Yellow (8-10) Link quality is poor, but no significant packet loss (<20%) o Light green (>10) Link quality is good and no significant packet loss
LQI (Rx) Indicator of the signal strength from an ESL (measured by ESL) Last Poll Time of the latest poll that has been received from the ESL Base Station IP-address of the base station to which the ESL is currently connected
o Light green Base station is connected o Orange Base station is not connected o Light grey ESL is missing / not associated to any base station
Status Current state of the ESL. Temperature range Temperature setting: 0=default (higher the value, the lower the temp.) Image status Shows the current status of the image update Firmware status Shows the current status of the firmware update LAN ID Shows the preferred LAN-ID on which the ESL will look for base stations
(0000=associate to any base station, XXXX = only associate to base stations with same LAN-ID or with 0000 only)
Opticon ESL
ESL Server manual
v1.0.62.2
30
6.3. Filtering ESLs
Using the newly added filter options in the ESL-tab it’s possible to sort and filter on almost any ESL property.
6.4. Controlling ESLs
ESLs can be further controlled by using the ‘Actions’ of the ESL-tab. To use these features, select one of more ESLs and then select the action that you wish to execute.
Features that are unavailable for this ESL will be grayed out. Below a description of the different actions is given.
Opticon ESL
ESL Server manual
v1.0.62.2
31
6.4.1. Actions
 Reset Resets the firmware of the ESL, causing it to reassociate with the
same base station
Show default image Make the ESL show the default image with its MAC address (if the
ESL is linked, the default image is shown for 15 minutes after which the product image is send again)
Refresh image Refreshes the current image on the ESL Resend image Resends the current image to the ESL Request settings Force the ESL to send its current settings Unlink Unlinks the ESL from the link database Find best base station Search for a base station with a better link quality Kick from base station Search for another base station Move to base station Move ESL to the specified base station Set LAN-Id Sets the LAN-Id (see chapter 5.3) Clear LAN-Id Clears the LAN-Id (see chapter 5.3) Deactivate De-activate the ESL for transport or storage Factory default Resets the firmware of the ESL to default Radio test mode Used for certification only (disabled by default)
6.4.2. Load balancing
ESL server 1.45 and higher has to possibility to automatically and manually re-balance the ESLs over all available base stations. Enabling this option on a daily basis improved the average link quality of the ESLs, because all ESLs with poor link quality will check if there’s a better base station available.
Especially after a new base station was added or a base station has been temporarily offline, it can be beneficial to execute load balancing manually.
Opticon ESL
ESL Server manual
v1.0.62.2
32
Please note that load balancing significantly improves if ESL’s run firmware IBxV0058 or higher.
Be aware that during the rebalancing of the ESLs, they can appear to be offline for 1 to 15 minutes, so it’s safest to execute the daily load balancing at night to avoid slowing down the image updating process at daytime.
6.4.3. Firmware update
To upgrade the firmware of ESLs, select one of more ESLs and then press the ‘Firmware update’ browse button and select the correct firmware file for these ESLs, which can be found in the ‘Firmware’
sub-folder of the installation. Make sure the first 3 characters of the firmware file match the reported first 3 characters of the reported firmware version by these ESLs.
7. Database configuration
The ESL server support 8 different database formats:
CSV
Comma separated files. It’s easy to setup and it’s suitable for smaller projects and demos with a limited number of ESLs. Disadvantage is that the ESL server is difficult to control and monitor by an external server due to the limited feedback on the status of the ESL system. Also CSV-based systems tend to become slow when used with large numbers (thousands) of ESLs. Status information is stored in a SQLite database file. See chapter 7.1.
MySQL
MySQL is an OpenSource relational database system. Requires knowledge about SQL databases and MySQL has to be installed on your system. MySQL provides the possibility to monitor and control multiple stores using one central of multiple local SQL databases in combination with the provided web application. MySQL is suitable for a large number of ESLs per ESL server. See chapter 7.2.
MS-SQL
MS-SQL is a relational database system from Microsoft. Same advantages and disadvantages as MySQL and Oracle. MS-SQL has a slightly better performance over MySQL, because the ESL server is developed on and runs on a Microsoft platform. To use the provided web­application it is recommended to create an ODBC data source. See chapter 7.2 and chapter 7.3.
Oracle
Oracle is a relational database system from Oracle. Same advantages and disadvantages as MySQL and MS-SQL. Oracle databases have tons of features, but this also makes them more complex to set-up and requires serious knowledge about this database format. To use the provided web-application it is recommended to create an ODBC data source. See chapter 7.2 and chapter 7.3.
Opticon ESL
ESL Server manual
v1.0.62.2
33
PostgreSQL
PostgreSQL is an OpenSource relational database system. Requires knowledge about SQL databases and PostgreSQL has to be installed on your system. To use the provided web­application it is recommended to create an ODBC data source. See chapter 7.2 and chapter 7.3.
SQLite
SQLite is a lightweight cross-platform relational database library. It requires some knowledge about SQL-databases. No additional software has to be installed on your system and configurations are minimal. When using SQLite it is recommended to apply changes to the product and link table by placing CSV-files into the Input-folder to avoid locked database conflicts. To use the provided web-application it is recommended to create an ODBC data source. See chapter 7.2 and chapter 7.3.
DB2
DB2 is a relational database system of IBM. Requires knowledge about SQL databases and a DB2 database has to be installed on your system. Currently DB2 is only supported using an ODBC connection. To use the provided web-application it is recommended to create an ODBC data source. See chapter 7.2 and chapter 7.3.
ODBC
ODBC support makes it possible to connect to any SQL-based data source. ODBC makes it easier to connect to SQL based databases since it only requires a Data source name (DSN), username and password. Requires knowledge about ODBC and SQL-databases and it requires the installation of an ODBC-driver. An ODBC data source first needs to be configured using the ODBC data source control panel. Be aware that using an ODBC connection is generally slower than a direct connection to the SQL database. See chapter 7.3.
CSV & SQL hybrid
It is possible to combine the advantages of CSV and SQL by configuring a hybrid configuration with both CSV (to provide the product databases and ESL-product links) and SQL (to log all ESL and Base station status information). This makes it easy to link the back-office to the ESL server using CSV-files and all status information will be available for remote monitoring. See chapter
7.4
7.1. CSV Data base configuration
When using CSV-files, the ESL server application is triggered by files that are being placed in a
specified ‘Input’ folder by the back office. These can be either: CSV-, image or template files. Using a shared folder it’s possible to allow external access by the back office from anywhere in
the world.
If the back office system is not yet available, then it’s also possible to edit prices, links and
products manually in the ESL server application in the ‘Data’-tab. Alternatively there’s also the possibility to manually place (and rename) some CSV-files in the
‘Input folder’ (see chapter 7.1.1) for demonstration purposes and testing.
To select the CSV-database format, select ‘CSV’ in the ‘Data’-tab. See chapter 9 for information about on setting up the back office system.
Opticon ESL
ESL Server manual
v1.0.62.2
34
7.1.1. Changing the database format and settings
Important: Whenever you change the database format (i.e. by changing the field sequence or by adding/removing fields) or change the database set-up, then it will be necessary to place a new full copy of the product database in the ‘Input’-folder. This will automatically trigger the parsing of database with the new format or settings.
(a) Input Folder
Directory in which the back office uploads the new product data files (see chapter 9.1. The database files must have the file extension .csv in order to be detected by the ESL server application. Besides database files, it’s also possible to place ESL-product link files (see chapter 9.2), template files, images and template files in this folder for processing.
Opticon ESL
ESL Server manual
v1.0.62.2
35
(b) Output Folder
It will contain 2 CSV-files:
dbase.csv (combined product database) linked.csv (ESL-products links)
When using a bar code terminal for linking, it can also contain the following file: scan.csv (truncated article database)
Any processed CSV-files from the Input folder will be moved to the sub-folder: /Processed
(c) CSV parser (optional)
Important note: The CSV parser field can best be left empty if no post processing is necessary on the provided CSV-files!
Executable of the middleware application that parses a new product databases into a combined database file (dbase.csv). When a bar code terminal is used, it can also generate a truncated article database (scan.csv) that is sent to the barcode terminal to allow linking of products to ESLs.
By default the CSV-parser expects the following field sequence in the CSV-files:
<Modification code>;<Unique ID>;<Barcode>;<Description>;<Group>;<From price>;<Sell
price>;<Discount %>;…;etc.
If the field sequence of the supplied database is different, then this can be changed by altering the following field numbers.
Important notes:
The first field is field number ‘0’, the second is ‘1’, etc! The default CSV-parser uses the field 0 to detect whether it’s a complete or modification
database file, so please don’t remove this field.
Unique Id field: Field number of the unique product ID in the CSV-record. Even though the product ID must be unique, it is allowed to have multiple records with the same ID in your database with different barcodes.
Barcode field: Field number of the product barcode in the CSV-record. If the barcode field is the same as the Unique Id field or when the barcode field isn’t unique or present, use the Unique Id field number for both configurations!
Description field: Field number of the product description in a CSV-record.
(The description is shown by the barcode terminal when a link is created, so the user can verify the correct product was linked).
Group field: Field number of the product group in a CSV-record. If no group field is present in the CSV-record, set the field number to ‘0’.
From price field: Field number that holds the ‘from price’ from the article. If no ‘from price’ is present in the CSV-record set it to the ‘sell price field’
Opticon ESL
ESL Server manual
v1.0.62.2
36
Sell price field: Field number that holds the current ‘sell price’ from the article. If no ‘sell price’ is present in the CSV-record set it to the ‘0’
Discount % field: Field number which holds the automatically calculated discount percentage. If
the ‘from price’ and ‘sell price’ fields are equal or set to ‘0’, then the discount percentage isn’t
calculated. Currency Symbol: Holds the currency symbol. Used by the image generator to add the currency
in front of the price. (Must be specified in the image template using %C%, see chapter 8)
Decimal Symbol: Holds the decimal symbol for prices, which can be either a dot or comma. If the user accidently types in a comma instead of a dot (or vice versa) in a price field, then the CSV­parser will automatically correct this.
Display leading zero: Specifies the price formatting when the price is smaller than one standard currency (i.e. 0.75). The CSV-parser can automatically format prices in any of the following three formats: 0.75, -.75 or .75.
7.2. SQL Data base configuration
The ESL server supports MS-SQL, MySQL, SQLite, PostgreSQL, Oracle and DB2, which need to be installed besides the ESL server application in order to use it.
MS-SQL Express Server 2012 (with tools) is available at Microsoft.com. MySQL can be installed separately or using XAMPP (see chapter 11) Oracle Express can be downloaded from ORACLE.com PostgreSQL can be downloaded from postgresql.org SQLite is file based and does not require any installation or configuration. DB2 Express-C can be downloaded from IBM.com
The ESL server application will generate most SQL tables automatically, except for the product tables, which contain the product database.
The ESL Server installation contains example queries to quickly set-up a demo for each database format. The example queries can be found in the following folder of your installation
‘/Examples/’ The demo configuration for MySQL can be found in ‘Appendix B: My-SQL demo configuration The demo configuration for MS-SQL can be found in ‘Appendix C: MS-SQL demo configuration The demo configuration for Oracle can be found in ‘Appendix D: Oracle demo configuration The demo configuration for PgSQL can be found in ‘Appendix E: PostgreSQL demo configuration
Opticon ESL
ESL Server manual
v1.0.62.2
37
The demo configuration for SQLite can be found in Appendix F: SQLite demo configuration The demo configuration for DB2 can be found in Appendix G: DB2 demo configuration Note: make sure the SQL-account, that is to be used by the ESL server, has sufficient rights to
read, write and create these tables. Also makes sure that the used login doesn’t require periodic password changes.
Opticon ESL
ESL Server manual
v1.0.62.2
38
7.2.1. Tables
When using SQL, the ESL server uses 10 SQL-tables in order to work properly, which have a couple of restrictions.
A product table containing the product information, which allows the image content on the
ESLs to be automatically generated.
A product staging table. Used to serve as the interface to add, modify and removes
products from the product table
Link table This table is automatically generated and is used to containing the links
between products and links
Link staging table. This table is automatically generated and is used as the interface to
create and remove links from the link table
LabelStatus table. This table is automatically generated and is used to store all
information about each ESL in the server. This table is described in chapter 7.2.1.5.
BaseStationStatus table. This table is automatically generated and is used to store all
information about each base station in the server. This table is described in chapter
7.2.1.6.
Logging table. This table is automatically generated and is used to store events and
alerts and exceptions to help trouble shooting in case of problems.
Users table. This table holds the users, encrypted passwords and access rights
Change log table. This table is used to log user activity.
(Optional) Product look-up table containing just bar codes and their related product ID.
It’s not actually used by the ESL server application, but it’s used by the included Web-app to link products to ESLs by scanning the barcode of a product followed by the barcode on
the ESL. This table is described in chapter 7.2.1.7. The following chapters will describe these tables in more details. (The ESL server also creates 3 ‘action’ tables, which are created to allow remote control over the
ESL server using SQL queries. See Appendix I: Using the SQL API.
7.2.1.1 Link table
Important note: Only the ESL server is allowed to modify this table directly. A link staging table is used for changing the content of this table, which is described in the following chapter.
The ESL server requires a link table that contains the links between the products and ESLs.
Opticon ESL
ESL Server manual
v1.0.62.2
39
If no Link-Table is supplied, then one will be automatically created (called "links") in the following format:
CREATE TABLE links
(
[ID] VARCHAR(40), [Variant] VARCHAR(1), [MAC] VARCHAR(16) NOT NULL PRIMARY KEY
)
If you wish to name the table or columns differently, this is allowed. You can do so by creating a table with the same format, but different table and column names.
The 1st column (ID) should contain the unique product code. The 2nd column (Variant) should contain the ESL software variant (‘H’=EE200/201, ‘I’=EE201) The 3rd column (MAC) should contain the MAC (or IEEE) addresses of the ESLs.
It is allowed to link the same product to multiple ESLs.
7.2.1.2 Link staging table
Staging tables are the interface tables between the remote database from the back office and the local SQL databases used by the ESL server.
If no Link staging-Table is supplied, then one will be automatically created (called "Links_Staging") in the following format:
CREATE TABLE links_staging
(
[ID] VARCHAR(40), [Variant] VARCHAR(1), [MAC] VARCHAR(16) NOT NULL PRIMARY KEY, [DELETE] VARCHAR(1)
)
Changed links should be inserted in the link staging table and the ESL server will automatically detect and process this data and insert the data into the Link table. If the processed data requires an ESL to be updated, it will automatically generate a new image and sent it to the ESL.
The link staging table must have the same formatting as the link table, but should also contain a
‘DELETE’ column. The ‘DELETE’ column makes it possible to remove a link from the link table, by
placing an ‘X’ in this column*.
* Oracle requires the column ‘DEL’ instead of ‘DELETE’
7.2.1.3 Product table
The product table should at least contain all the product information, which should be shown on the automatically generated image of ESLs.
Example queries for each SQL database format and matching configurations can be found in:
Appendix B: My-SQL demo configuration
Opticon ESL
ESL Server manual
v1.0.62.2
40
Appendix C: MS-SQL demo configuration Appendix D: Oracle demo configuration Appendix E: PostgreSQL demo configuration Appendix F: SQLite demo configuration Appendix G: DB2 demo configuration
The only mandatory column in the product table is the (product) ID column. If no additional barcode column is used, this column should be a VARCHAR string and marked as the PRIMARY KEY.
Always make sure to configure the ‘Unique ID’ field in the ‘Data’-tab as well.
It is recommended to name the [ID] column of the link table the same as the [ID] column of the product table.
The names and formats can be changed as desired. An example of a product table is shown below.
CREATE TABLE products (
[ID] VARCHAR(20) PRIMARY KEY, [Description] VARCHAR(60), [Group] VARCHAR(10), [Std. Price] VARCHAR(10), [Sell Price] VARCHAR(10), [Content] VARCHAR(20), [Unit] VARCHAR(10))
If barcodes, like EAN/UPC, are used for linking, then be aware that multiple EAN/UPC barcodes can exist for the same product(!) making them unsuitable as ‘Unique ID’.
In this situation the barcode column would be the ‘PRIMARY KEY’, but the product ID- column must be configured as ‘Unique ID’.
Opticon ESL
ESL Server manual
v1.0.62.2
41
An example of a product table with barcodes is shown below.
CREATE TABLE products
(
[Barcode] VARCHAR(20) PRIMARY KEY, [ID] VARCHAR(20), [Description] VARCHAR(60), [Group] VARCHAR(10), [Std. Price] VARCHAR(10), [Sell Price] VARCHAR(10), [Content] VARCHAR(20), [Unit] VARCHAR(10))
The configuration in the ‘Data’-tab would then become:
7.2.1.4 Product staging table
Changed product information should be inserted in the product staging table and the ESL server will automatically detect and process this data and insert the data into the Product table. If the processed data requires an ESL to be updated, it will automatically generate a new image and sent it to the ESL.
The product staging table must have the exact same formatting as the product table, but should
also contain a ‘DELETE’ column. The ‘DELETE’ column makes it possible to remove a product
from the link table, by placing an ‘X’ in this column. *
The product staging table that match the previous product table examples are shown below.
CREATE TABLE products_staging
(
[ID] VARCHAR(20) PRIMARY KEY, [Description] VARCHAR(60), [Group] VARCHAR(10), [Std. Price] VARCHAR(10), [Sell Price] VARCHAR(10), [Content] VARCHAR(20), [Unit] VARCHAR(10), [DELETE] VARCHAR(1))
Or with barcode column:
CREATE TABLE products_staging
(
[Barcode] VARCHAR(20) PRIMARY KEY, [ID] VARCHAR(20), ... )
* Oracle requires the column ‘DEL’ instead of ‘DELETE’
Opticon ESL
ESL Server manual
v1.0.62.2
42
7.2.1.5 ESL status and configuration table
When using SQL, the ESL server automatically creates a table called ‘labelstatus’. This table is used to store all information about each ESL in the server and has the following table design.
Opticon ESL
ESL Server manual
v1.0.62.2
43
Below an overview is given of the different fields in the ‘labelstatus’ table.
ID
Unique article ID to which the ESL is linked. <Null> or empty if the ESL is/was present in the ESL system, but not linked.
MAC
16-digit hexadecimal IEEE (MAC) address of the ESL.
GROUP
If a group field is configured in the Data-tab, this field will contain the group of the product linked to the ESL
DESCRIPTION
If the ESL is linked, this field will contain the configured product description. <Null> if not linked or unknown
IMAGE_FILE
If the ESL is linked, this field will contain the file name of the automatically generated image content. <Null> if not linked.
POLL_INTERVAL
If the ESL is physically present, this field will contain the poll interval of the ESL. <Null> if the poll interval is unknown
POLL_TIMEOUT
If the ESL is physically present, this field will contain the poll timeout of the ESL. <Null> if the poll timeout is unknown
SCAN_INTERVAL
If the ESL is physically present, this field will contain the scan/associate interval of the ESL. <Null> if the interval is unknown.
BATTERY_STATUS
If the ESL is physically present, this field will contain the battery status of the ESL. 1=OK, 0=Low, <Null> = Unknown
VARIANT
If the ESL is physically present or linked, this field will contain the software variant of the ESL. ‘H’=EE200/EE201 and ‘I’=EE201. <Null> = Unknown
FIRMWARE_ VERSION
This field will contain the software version of the ESL. Typically in the format: IBxVyyyy. <Null> = Unknown
FIRMWARE_ SUBVERSION
This field will contain the software subversion of the ESL. Typically not used by e-paper based ESLs. <Null> = Unknown
IMAGE_ID
This field will contain the image ID of the image shown on the ESL. 0=default image; 1=custom Image; <Null> = Unknown. In the future the ESLs can contain multiple images.
BACKLIGHT
If the ESL is physically present, this field will contain the back light setting (ranging from 5-100(%), <Null> = unknown). Only used by TFT based ESLs
DISPLAY_OPTIONS
If the ESL is physically present, this field will contain the image orientation. 0=Normal, 1=Upside-down, <Null> = unknown
LQI
This field will contain the last received Link-Quality-Index, indicating the connection strength with the base station.
o -1 Unknown / not connected o 0-3 Link quality is poor and high packet loss (>40%) o 4-7 Link quality is poor and significant packet loss (>20%) o 8-10 Link quality is poor, but no significant packet loss (<20%) o >10 Link quality is good and no significant packet loss
LQI_RX
This field will contain the last received Link-Quality-Index measured by the ESL, indicating the connection strength with the base station. Ranges from 1-255 is fine, 0 is poor, <Null>=unknown.
LAST_POLL
This field will contain the UTC time of the last received poll for data. <Null> means unknown / never received. (This field is
currently not updated on each poll to reduce the amount of SQL queries executed by the ESL server).
Opticon ESL
ESL Server manual
v1.0.62.2
44
LAST_INFO
This field will contain the UTC time of the last reported status by the ESL. <Null> means unknown / never received.
LAST_IMAGE
This field will contain the UTC time of the last successful image update. <Null> means unknown or hasn’t been updated.
BASE_STATION
If the ESL is/was connected to a base station, this field will contain the IP address of the last base station it was connected to. String format is xxx.xxx.xxx.xxx (i.e. 192.168.0.12). <Null> = unknown or never connected. Use the ‘STATUS’ field to verify if the ESL is currently connected or not.
SCAN_CHANNELS
This field contains an integer value of which each bit represents an RF-channel on which the ESL will or will not search for base stations (when not connected). Example: 101746688 would represent a binary value of 110000100001000100000000000’. Counting from right to left this means, channels 11, 15, 20, 25 and 26 will be searched. <Null> = unknown.
STATUS
This field contains an integer value representing the last reported status of the ESL.
<NULL> = Unknown 0 = ASSOCIATED 1 = POLLING 2 = INFO RECEIVED 3 = DISASSOCIATED 4 = COMMAND COMPLETED 5 = COMMAND NOT_ACCEPTED / DISGARDED 6 = POLL TIMEOUT 7 = COMMAND_TIMEOUT
8 = ADDRESS CHANGED (factory status only)
9 = DEACTIVATED 10 = IMAGE_UPDATE_COMPLETED 11 = IMAGE_UPDATE_FAILED 12 = FIRMWARE_UPDATE_COMPLETED 13 = FIRMWARE_UPDATE_STARTED 14 = FIRMWARE_UPDATE_FAILED
15 = REACTIVATED
FIRMWARE_STATUS
This field contains an integer value representing the last reported status of the ESL.
<NULL> = Unknown 0 = Idle 1 = Firmware update pending 2 = Firmware update queud 3 = <not used for firmware updates> 4 = Firmware update failed 5 = <not used for firmware updates> 6 = <not used for firmware updates> 7 = <not used for firmware updates> 8 = Firmware update succesfully completed
IMAGE_STATUS
This field contains an integer value representing the last reported image status of the ESL.
<NULL> = Unknown 0 = Idle 1 = Image update pending
Opticon ESL
ESL Server manual
v1.0.62.2
45
2 = Image update queued 3 = Image update queued and next already pending 4 = Image update failed 5 = Image update failed, waiting for retry 6 = Image update failed, busy retrying 7 = Image update failed, busy retrying, next pending 8 = Image updated succesfully 16 = Image error (image could not be opened, found or generated)
X, Y
If the ESL is linked, these fields contain an integer value of the X-, Y-offset of the generated image on the ESL. Generally these values will be ‘0’. <Null> = Unknown or not linked
WIDTH, HEIGHT
If the ESL is linked, these fields contain an integer value of the width and height (in pixels) of the generated image on the ESL. Generally these values will be 200 x 96 for the EE201. <Null> = Unknown or not linked
IMG_IX
This field will generally be ‘0’. Only if multiple products will be shown on a single large ESL, then IMG_IX will be different for each image that is displayed on the ESL. <Null> = Unknown or not linked
IMG_FORMAT
If an e-paper ESL is linked, this field will generally be set to ‘1’ indicating that the image is transmitted compressed to the ESL. If
the data is sent uncompressed it would be ‘0’. Other values are
reserved for TFT based ESLs (TIFF=2, JPG=3, GIF=4, FIRMARE=5). <Null> = Unknown or not linked
BOOT_COUNT
Shows how many time the firmware of the ESL was reset
TEMPERATURE
Shows the temperature range on which the ESL is supposed to run on (0=default; higher values are to compensate for low temperatures). Please note that low temperatures and values > 0 will increase power consumption!
LANID
LANID = 0000 means ESL will associate to all base stations. LANID <> 0000 means ESLs will only associate to base stations with the same LANID or with LANID 0000
Opticon ESL
ESL Server manual
v1.0.62.2
46
7.2.1.6 Base station Status table
When using SQL, the ESL server automatically creates a table called ‘basestationstatus’. This table is used to store all information about each base station in the server application and has the following table design
MAC
12-digit hexadecimal MAC address of the base station
IP_ADDRESS
Current IP address of the base station
PORT
Current IP port number of the base station
MODEL
Current hardware model of the base station (EBS30/EBS31/EBS40)
NAME
Current local name f the base station
PAN_ID
Current PAN-Id on which this base station operates
CHANNEL
Current RF-channel on which this base station operates
VERSION
Firmware version of the base station
STATUS
Current connection status (Connected or Disconnected)
ESLS
Current number of associated ESLs to this base station
MIN_LOAD
RFU (for load balancing)
MAX_LOAD
RFU (for load balancing)
LAN_ID
LANID = 0000 (default) means all ESL will associate with this base station. LANID <> 0000 means only ESLs with the same LANID or with LANID=0 will associate with this base stations
7.2.1.7 Logging table
When using SQL, the ESL server automatically creates a table called ‘esllog. This table is used to store all alerts and events, except user activity. This table has the following table design
Opticon ESL
ESL Server manual
v1.0.62.2
47
7.2.1.8 Change log table
When using SQL, the ESL server automatically creates a table called ‘changelog. This table is
used to store user activity. This table has the following table design
This table is used for by the ESL server and the Web application.
7.2.1.9 User table
When using SQL, the ESL server automatically creates a table called ‘user. This table is used to
store usernames, encrypted password and access rights.
This table is used for user access control by the ESL server and the Web application. Users can only be added, removed or altered in the ESL server application.
7.2.1.10 (deprecated) Product look-up table
This table is only required when the Web-application for linking is used and no barcode column has been added to the ‘Product’ tables.
Opticon ESL
ESL Server manual
v1.0.62.2
48
A product look-up table can be added for easy linking of products to ESLs by scanning the barcode of a product followed by the address barcode on the ESL. This table should only contain the bar codes and related unique product IDs and a short description of the product.
A typical product look-up table would be created using the following query. The use of the barcode column as primary key makes it possible to have products with multiple barcodes.
CREATE TABLE barcodes
(
[Barcode] VARCHAR(40) NOT NULL PRIMARY KEY, [ProductID] VARCHAR(40) NOT NULL, [Description] VARCHAR(50),
)
Important notes: Please make sure that the barcodes in this table are in the same format as output format of the handheld barcode reader. Databases often strip any leading zeros and/or checksums, while barcode readers DO output them. This can cause barcodes of products not to be recognized.
When using the supplied WebApp or using a barcode terminal to link ESLs, ALL barcodes in the look-up table should NOT have any leading zeros.
7.2.2. Connection
To configure the connection with the SQL database,first select which type of SQL database is used. This can be MySQL, MS-SQL, SQLite, Oracle and PostgreSQL.
Alternatively an ODBC data source can be used to connect to a SQL based database. See chapter 7.3 for more information.
Next, fill in the SQL Server address, login, password and database name and press ‘Test’ to verify the connection with the SQL server is configured correctly.
Opticon ESL
ESL Server manual
v1.0.62.2
49
7.2.3. Tables configuration
After a successful connection to the SQL server select the two product tables and two link tables. The other tables will be generated automatically, but can be renamed if desired.
7.2.4. Fields configuration
The Fields-tab configures which fields of the product table are the ‘Barcode’, ‘Unique ID’, ‘Group’ and ‘Description’ field. (The sell and standard price are used only by the web application)
7.2.5. Web Application
Configuration of the Web application is described in Chapter 11.
Opticon ESL
ESL Server manual
v1.0.62.2
50
7.2.6. Advanced Settings
7.2.6.1 Currency
The selected currency is used only by the Template editor in case a ‘Currency’ field is added in a template.
7.2.6.2 Culture info
The culture info setting must match the culture settings of the SQL database to avoid issues with notation differences of decimal separators (dot or comma).
7.2.6.3 Process staging tables interval
The ‘process staging tables’ setting specifies how often staging tables are processed (in seconds)
7.2.6.4 Update status tables interval
The ‘update status tables’ setting specifies how often the ESL server updates the status of the
ESLs and base stations in the database.
7.2.6.5 Generate column for layering support
Only use this option when multiple products must be displayed on a single ESL!
Adds an extra column to the link-tables to support multiple products on a single ESL
7.2.6.6 Load only linked products in memory
Enable this option when the product table is extremely large (i.e. more than 1 million items) or when the product table is ‘read only’ for the ESL server. Create and select an extra product table in which the ESL server can store the product
Opticon ESL
ESL Server manual
v1.0.62.2
51
information of all the products that are linked to an ESL. The structure of this table must be identical to the structure of the selected ‘Product Table’.
Note: Finding products that are not linked to an ESL and altering products in the Data-tab is not possible when this option is enabled.
7.2.6.7 Field separator (for CSV-import)
When using SQL it is still allowed to input CSV-files (product and link files) into the configured Input-folder as long as the format of the number of columns and the sequence of the columns in the CSV-file matches the product and/or link table. The field separator option configures the field separator that is used in the CSV-files.
7.2.7. Apply and reset
Press ‘Apply’ to finish the configuration. After a successful configuration, it is now possible to start adding products to the product staging
table using standard SQL queries. An example of a query to add a product to the product staging table would look like this:
CREATE TABLE products_staging
(
[ID] VARCHAR(20) PRIMARY KEY, [Description] VARCHAR(60), [Group] VARCHAR(10), [Std. Price] VARCHAR(10), [Sell Price] VARCHAR(10), [Content] VARCHAR(20), [Unit] VARCHAR(10), [DELETE] VARCHAR(1)
)
INSERT INTO [products_staging] (
[ID], [Description], [Group], [Std. Price], [Sell Price], [Content], [Unit], [DELETE] )
VALUES
('031',
'HOUSE WINE RED', '30', '3,00', '3,00', '2', 'LT', ''
)
To delete a product use ‘X’ as value for the [DELETE] field.* An example of a query to add a new link to the link staging table would look like this:
Opticon ESL
ESL Server manual
v1.0.62.2
52
INSERT INTO Links_Staging ([ID], [Variant], [MAC], [DELETE])
VALUES ('008', 'H', '3889DC00010DA031', '');
To delete a link, use ‘X’ as value for the [DELETE] field and [ID] and [Variant] can be left empty.
INSERT INTO Links_Staging ([ID], [Variant], [MAC], [DELETE])
VALUES (NULL, NULL, '3889DC00010DA031', 'X');
* Oracle requires the column ‘DEL’ instead of ‘DELETE’
Links can also be added manually, which is described in the following chapters. It’s also possible to create links by using the supplied web application for Wifi barcode terminals
like the H22, which allows quick linking by scanning the barcode on a products and the barcode on the ESL. This requires a web-server running the web-app and a barcode field to be present in the product table or otherwise a separate product look-up table to be present. See chapter 11 for more information.
7.3. Open DataBase Connectivity (ODBC) configuration
ODBC support makes it possible to connect to the following SQL-based data sources:
MS-SQL SQLite PostgreSQL MySQL Oracle DB2
Connecting to an ODBC data source only requires a Data source name (DSN), username and password, which makes the configuration in the ESL server easier.
Before configuring the ESL server, first make sure the ODBC data source has been created using the ODBC data source control panel as System DSN and that the required ODBC driver has been installed. Make sure that the 32-bit or 64-bit architecture of the ODBC connection matches that of the ESL server (and, if used, of the HTTP-server of the web application).
Below you’ll find a few example configurations for various ODBC data sources.
ODBC DSN configuration to a SQLite database
Opticon ESL
ESL Server manual
v1.0.62.2
53
ODBC DSN configuration to a MySQL database
ODBC DSN configuration to an Oracle database
ODBC DSN configuration to a PostgreSQL database
Opticon ESL
ESL Server manual
v1.0.62.2
54
ODBC DSN configuration to a MS-SQL express database
ODBC DSN configuration to a DB2 database
7.4. CSV / SQL Hybrid configuration
When using a CSV / SQL hybrid solution the product databases and ESL-product links are provided by CSV-files, but all ESL and Base station status information are logged into an SQL database. This makes it easier to link the back-office to the ESL server using simple CSV-files and all status information is logged into an SQL database for external monitoring and trouble shooting. Also the start-up time of the ESL server will be significantly faster when a large
Opticon ESL
ESL Server manual
v1.0.62.2
55
number of ESLs are linked compared to using CSV only. To make such a configuration, start by configuring the ESL server with a standard CSV
configuration as described in chapter 7.1. When done, go to the ‘Settings’-tab and change the database format for logging to the desired
SQL database format as shown below.
After that, go back to the ‘Data’-tab and temporarily change the ‘Database format to the desired SQL format as shown below.
Configure all SQL options as described in the previous chapter, but clear the product and link table fields.
When done, the SQL table configuration should look like this:
To test the SQL configuration, press the ‘Test’ button. If the connection is OK, then press ‘Apply’ to save the SQL configuration.
Opticon ESL
ESL Server manual
v1.0.62.2
56
The various SQL tables will be automatically created. After that, change back the ‘Database format’ to ‘CSV’ and press ‘Apply’ again to finish the
configuration.
7.5. External content management configuration
When using the external content management solution the 3rd party content management system handles the generation of the images and the linking of products to ESLs.
The ESL server application monitors an input folder for new images and distributes them to the corresponding base stations / ESLs.
The only main database configurations for this set-up in the ESL server are the ‘Input’ and
‘Output’ folder (select CSV-database format). The other configurations will be ignored.
If the ‘Output’ folder already contains the files ‘dbase.csv’ or ‘linked.csv’ then these files should be
removed, so the system won’t use them as product or link database
Optionally, status information can be logged into a SQL database using the same configuration as described in chapter 7.4
If desired, remote control over the base stations and ESLs can be achieved using SQL queries as described in Appendix I: Using the SQL API
When the images for ESLs are generated and supplied by the content management system, then they must meet the following criteria:
The image format must be either .bmp, .gif or .pngThe images must be monochrome or black/white/red (so no gray scale or anti-aliasing
allowed!).
Each image file must be uniquely named for each ESL (it's not allowed to use the same
image file for multiple ESLs)
In order to process image files automatically the ESL server they should be placed in the configured 'Input'-folder, accompanied by a matching xml-info file.
The xml-info file provides the ESL server application with information on which image should be shown on which ESL and some other optional information which is displayed in the ESL server application.
The file name of the xml-info file is predetermined to:
<MAC address>.XML (i.e. 3889DC0000002345.xml)
Opticon ESL
ESL Server manual
v1.0.62.2
57
Example of an xml-info file:
<?xml version="1.0" encoding="utf-8"?> <EslImageInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ImageFile>3889DC0000003441.bmp</ImageFile> <ID>001</ID> <X>0</X> <Y>0</Y> <HOffset>0</HOffset> <VOffset>0</VOffset> <Variant>H</Variant> <Group>Vegetables</Group> <Note>YELLOW CARROTS</Note> <Label>3889DC0000003441</Label> <Width>200</Width> <Height>96</Height> <Ix>1</Ix> <Format>1</Format> </EslImageInfo>
The variable fields are marked in bold and the functions of these fields are described on the next page.
<ImageFile> : Must match the image file name for this ESL (.bmp, .gif or .png) <ID> : Unique product ID to which the ESL is linked <Variant> : The 3rd digit of the firmware version of the ESL <Group> : Group field is intended to supply additional information to the user on the product group in the 'ESL'-tab (useful for sorting or searching) <Note> : Note field is intended to supply additional information to the user about the product in the 'ESL'-tab (useful for sorting or searching) <Label> : 16-digit MAC of the ESL for which the image is intended <Width> / : Display resolution (i.e. the EE201 image size is 200 x 96 pixels) <Height> <Ix> : Used by the ESL server to keep track which image is currently displayed on the ESL. It should increment from 1 to 255, 1 to 255, etc. 0=reserved for the default image. Not incrementing the image index can lead to incorrect images on the ESL display if a new image update for the same ESL starts before the previous update was finished. <Format> : Determines the image transfer protocol, for the EE201 it should be fixed to '1'. (It’s not related to using bmp, png or gif)
To unlink an ESL, place an XML-file into the ‘Input’-folder with following name format:
<MAC address>.XML
To indicate this ESL should be unlinked leave the ImageFile-field empty: <ImageFile></ImageFile>
Opticon ESL
ESL Server manual
v1.0.62.2
58
7.6. Manual editing of the product database
Using the ‘Data’-tab of the ESL server application it is possible to quickly view and edit the content of the current product database. To do this, select the field that you wish to change and edit the value.
After editing, press the ‘Save Changes’ button in the lower-left corner to apply the changes. The changes will be automatically processed and send to the ESLs if the resulting image is altered. To undo any unsaved changes, press the ‘Reload’ button to reload to the original database.
7.7. Editing the Links-table
The ‘Links’ table tells the system which product should be shown on which ESL by linking the
MAC address of the ESL to a unique product ID.
The unique ID can be anything: an EAN code, article number, location, room number, etc. As long as it’s a unique identifier, it can be linked to an ESL.
Chapter 4 provides more information on how to link products to ESLs.
Opticon ESL
ESL Server manual
v1.0.62.2
59
8. Designing the ESL image layout
Probably the most important step in the customization process of the ESL system is specifying the images that should be displayed on the ESLs.
The template editing consists of 2 parts:
Template selection Determines which template should be shown on which ESL variant
(i.e. EE201 or EE440) and under which conditions (i.e. discount or no discount)
Template editing Determines the layout of the image that will be shown on the ESL Both aspects will be described in the following chapters. When designing the layout of an e-paper ESL, it’s important to know the limitations of what can
and what can’t be displayed on an ESL. The main characteristics are:
Fixed resolution (i.e. 200x96 pixels for the EE20x) Monochrome images (for black & white ESLs) or Black/white/red images (for BWR ESLs) No anti-aliasing can be used on fonts (limiting the amount of available fonts) Black / white (/red) company logos or other images can be added to the layout. 1D- and 2D-Barcodes can be added using information from the database Texts, images and barcodes can be rotated in steps of 90° Dynamic texts, using information from the database, can be added and aligned as desired.
The ‘Templates’-tab contains the following configurations:
Template Folder Folder in which all templates are stored. The default location of the
templates is "/Templates".
Images Folder All automatically generated images will be placed in this folder. Once
these images have been sent to ESLs they will be moved to the sub-folder: /Completed
Opticon ESL
ESL Server manual
v1.0.62.2
60
8.1. Template Selection
Template selection determines which image template is used under which conditions.
The template selection area lists all the found templates in the specified ‘Template folder’ and shows if the template is currently enabled and, if so, under which condition it must be used.
Example of the template selection area
Opticon ESL
ESL Server manual
v1.0.62.2
61
8.1.1. Conditions
To make it possible to use different templates under different conditions, a template can be configured as:
‘Default’- template Used if an ESL is linked to an known product ‘Not found’-template Used if an ESL is linked to an unknown product Conditional-template Used when the specified condition is TRUE
Conditional templates can be configured by selecting ‘<Conditional>’ in the dropdown-list or edited by pressing the ‘Condition editor’ icon.
The condition editor allows you to specify up to 4 conditions under which the template should be used.
Press OK to apply the condition for this template.
Opticon ESL
ESL Server manual
v1.0.62.2
62
Hints and tips:
Only 1 ‘Default’-template can be enabled at a time
Only 1 ‘Not found’-template can be enabled at a time
‘Conditional’-templates must be listed first, because the first template with a matching condition
will be used.
Use the - button to change the template sequence.
Use the -button to preview a template
Use the -button to edit a template
Use the -button to permanently delete a template
When done editing the template selection, press the ‘Apply’ button to save the template selection and apply the templates to any linked ESLs.
Use ‘Reset’ to revert all changes in the template selection (deleted templates can’t be reverted!)
To create a new template, press the button, after which the ‘Create New Template’­dialog will appear to create a new template for a specific type of ESL.
After pressing the ‘OK’-button a new template is created, which you can start editing immediate.
Please note that this new template is still disabled to prevent accidentally sending an unfinished template to linked ESLs.
Opticon ESL
ESL Server manual
v1.0.62.2
63
8.2. Using the Template editor
Image templates can be create and edited to design your own label layout.
To edit an image layout template, press the button next an existing template or press the
- button to create a new template.
The opened template will be displayed on the right.
Click on an object in the template to edit its properties
Opticon ESL
ESL Server manual
v1.0.62.2
64
Image templates currently support 7 types of objects that can be added to design the ESL layout:
Text (fixed and dynamic)
Lines
Rectangles (filled / non-filled)
Ellipses (filled / non-filled)
Barcodes
Images (monochrome or black/white/red; fixed and dynamic)
Time stamp (of the last image update)
To add an object to the template, select the type of the object that you want to add, by pressing the corresponding button and draw a rectangle on the image to indicate the position of the new object. After drawing the object its properties can be changed as desired.
To edit an existing object, press the button and left-click on the object that you want to edit. Objects can also be moved by dragging and resized by selecting an object and dragging its
borders.
Note: The arrow keys can also be used to move a selected object.
To preview the template enable to get a realistic view on the end result.
Opticon ESL
ESL Server manual
v1.0.62.2
65
8.2.1. Static and dynamic Content
Static content of barcodes, images and text can be added by typing in the content-box:
Dynamic content is added by specifying a column from your product database using the dropdown-list of the content-box:
It’s also allowed to combine static context and/or multiple dynamic contents. To add a certain column of a database record to your template, add the column number between
two ‘%’-characters in the content field of the object. Example:
8.2.2. Conditional objects
Any type of object can be made conditional, meaning that it is only shown in the resulting image if specified condition is matched (i.e. a certain column contains a certain value).
This is can be done by pressing the -button next to the ‘Condition-textbox to open the condition editor.
Opticon ESL
ESL Server manual
v1.0.62.2
66
8.3. Saving and exporting a template
When done editing, press the -button to save the template.
To save an existing under a different name, press the -button.
To undo all unsaved changes press the -button To apply/export a template to all linked ESLs, press the -button.
(Note: Make sure the applied template is enabled in the template selection area)
8.4. Using Example data
The ‘Example data’ area next to the Template selection provides the possibility to preview the image template with actual product data.
Opticon ESL
ESL Server manual
v1.0.62.2
67
If you leave these ‘Example data’ fields empty, then the preview of the Image template will show
its text ‘as is’ in the previewer. You can either change the ‘Example data’ manually or you can select one product from the
product database by pressing the -button. This way you can be sure the generated image will be correct.
Image preview with example data
Opticon ESL
ESL Server manual
v1.0.62.2
68
9. Connecting the back office using CSV-files
The back office triggers the ESL server application by placing a file, containing either only product modifications or a complete product database, in the ‘Input’ folder (see chapter 7.1).
Only one file may reside in this folder to enforce sequential handling. This means that the Back office may only store another file, when the current file has been processed and moved to a different folder.
To avoid read/write conflicts the database files should first be copied into the specified folder under a temporary name (i.e. *.tmp) and renamed to the correct name afterwards.
The placing and processing of incoming CSV-files should be done as follows:
The file is moved/copied to a configurable local folder, called the ‘Input folder’. When moving/copying the file from the Back office to the folder a temporary name is used, i.e.
‘productdata_1.tmp’, ‘productdata_2.tmp’, etc. After the complete file has been moved or copied, the file will be renamed to its final name, i.e. ‘productdata_1.csv’, ‘productdata_2.csv’, etc.
The server application will pick up the CSV-file as soon as it detects this rename file event. The file will be processed instantly, as the records contain no start/end date. Once a file is processed, it will be moved to the configurable ‘Processed’ folder and the Back office is
able to put another file in the folder. When errors occur, they will be reported in an error log in the ‘Log’ folder. The data file will not be moved in case of errors. The ESL server application will call the middleware applications to parse the incoming CSV-file into a combined database file. After that the ESL server application will generates the information and image files that are used to update the ESLs.
9.1. Product database format
Currently the only supported database format is CSV (comma separated values) with the following properties:
UTF-8, UTF-7, ANSI or Unicode encoding (other encoding formats on request) Allowed field separator(s): 1) semi-colons Methods: 1) modification database (add, replace, delete) and 2) complete database Each product in the database must contain a unique product ID field to allow linking of an ESL to a
product.
If there’s a 1-to-many relation between the unique product ID and the barcode on this product, then
the same product should be added to the database multiple times for each unique barcode, but all other fields must be identical. Also any product modifications (like price) should be applied on each record for this product.
The adding of a product barcode field to the database isn’t mandatory. However it is recommended,
since it adds the possibility to quickly link ESLs to a product by simply scanning the barcodes on the product and the ESL using the barcode terminal.
If any, a column header line should start with ‘#’.
Opticon ESL
ESL Server manual
v1.0.62.2
69
When using a modification database, the modification field should be located at the beginning of each line. As modification code the characters ‘I’ (Insert), ‘R’ (replace) and ‘D’ (delete) should be used.
The typical record format of a product modification database would be:
<Modification code>;<Unique ID>;<Barcode>;<Description>;<Field 4>;<Field 5>;etc.
When a complete database is used (meaning any new database file replaces the previous one), the first (modification) field of each line must be left empty.
The typical record format of a complete product database would be:
;<Unique ID>;<Barcode>;<Description>;<Field 4>;<Field 5>;etc.
Any field that should be displayed on the ESL should be in the same formatting as it should be displayed on the ESL, because the image generator uses the exact field data to render the images.
Note: Database formats other than CSV can be supported, but require modifications to the existing middleware application. Please contact Opticon for more information on supporting different database formats.
9.2. Product-ESL link database format
The link between an ESL label and a product is made by linking the unique MAC address of the ESL label to the unique product ID.
To create, modify or delete the product-ESL links various methods can be used:
Using an Opticon barcode terminal (see chapter 10) Using the ‘Data’-tab of the ESL server application (see chapter 7.7).  Using the web application for linking (see chapter 11) Using a custom method (i.e. using an existing cash-register or terminal).
All of the above methods work by placing the product-ESL link database in the configured ‘Input’ folder, which is then automatically processed by the ESL Server application.
This link database is a CSV-file that must contain the word ‘link’ in its filename and has the extension ‘.csv’ (i.e. ‘Product_links1.csv’).
Each record of a complete link-file (to replace the existing link database) should have the following exact format:
<Unique ID>;<Hardware variant>;<16-digit MAC address>
Opticon ESL
ESL Server manual
v1.0.62.2
70
The hardware variant is the 3rd digit of the software version of an ESL. (For black/white/red ESLs a lowercase character must be used, for example use: ‘t’ for the EE150R)
Example:
012;H;3889DC00010DACCD 014;H;3889DC00010DA152 008;H;3889DC00010DD7C5 013;H;3889DC00010DA234 011;D;3889DC00010DAF28 010;D;3889DC00010DB222 009;D;3889DC00010DC9E1 015;H;3889DC000141BB01 016;H;3889DC00010DCF40 017;H;3889DC00010DAF3E
018;H;3889DC000141B84B
Each record of the modification link-file should have the following exact format:
<Modification code>;<Unique ID>;<Variant>;<16-digit MAC address>
When using a modification link-file, the allowed modification codes are ‘I’ (Insert), ‘R’ (replace) and ‘D’ (delete) should be used.
When deleting a record, only the MAC address field is mandatory. Example:
I;3;H;3889DC000141B633 I;2;H;3889DC000141B632 I;1;H;3889DC000141B634 I;1;K;3889DC000141B631 D;;;3889DC00028000A3 D;;;3889DC00028000B4 D;;;3889DC000141B57A I;6;H;3889DC000141B635 I;7;H;3889DC000141B631
Opticon ESL
ESL Server manual
v1.0.62.2
71
9.3. Middleware application (CSV-files only)
Note: By default the use of a middleware application is disabled (‘CSV-parser’ field in the ‘Data’­tab is empty).
The ESL server application can use a middleware application to process the CSV-files from the Back office into a combined CSV-file that the ESL server application uses.
The tasks of the CSV-parser are: Parse product database files (modification or complete databases) into a combined CSV-
database containing all product info. Parse product-ESL link files (modification or complete databases) into a combined CSV­database containing all product-ESL links.
(Optional) Generate a reduced article database (CSV-format) for the barcode terminal. (Optional) Verify price formatting and calculate the discount percentage
To process a product database, the ESL server manager will call the CSV-parser with the following parameters as specified in the setup window of the ESL server application:
<CSV-parser>.exe –O<Output folder> -I<Image folder>
-i<Id field> -b<Barcode field> -d<Description field>
-f<From price field> -s<Sell price field>
-p<discount percentage field> -F<Field separator>
-D<Decimal symbol>
-Z<Display leading zero setting> (-Z –Z- or -Z0>
-T<Create barcode terminal file (scan.csv)> <Database file>.csv
So the default call by the ESL server application would be:
EGF3709x.exe -O"Output" -I"Output\Images" -i1 -b2 -d3 -f5 -s6 -p7 -F; -D. -Z0 "Input\ExampleData.csv"
To process a product-ESL link database, the ESL server manager will call the CSV-parser with the following parameters as specified in the setup window of the ESL server application:
<CSV-parser>.exe –O<Output folder> -i<Id field> <*link*>.csv
So the default call by the ESL server application would be:
EGF3709x.exe -O"Output" -i1 "Input\Linked.csv"
If used, the record format of the truncated database file (scan.csv) for the bar code terminal that is generated will have the following format:
<Barcode>;<Unique ID>;<Description (optional)>
If no barcodes are used in your application or when the Unique ID is the barcode, then the ‘Barcode’-field will be the same as the ‘Unique ID’-field.
Opticon ESL
ESL Server manual
v1.0.62.2
72
10. Barcode terminal application
An Opticon barcode terminal can be used to link an ESL (using its unique MAC address) to products, objects or locations. How to create these links will be described in the following chapter.
The barcode terminals that most suitable for this purpose are the OPH1004, OPH1005, H13, and OPH300x, in combination with a communication cradle or USB cable.
Also the OPN2002/4/5/6 can be used for quick linking only barcodes, but place keep in mind that this terminal does not have a display for detailed feedback or a keyboard for manual editing.
Alternatively, the most common method of linking is using the supplied Web application for linking that can be using on almost any barcode terminal with Wifi and a web browser, like the H21, H22 or H32. This is done by installing a local HTTP-server on the ESL server to the web application for linking and monitoring. See chapter 11 for more information.
10.1. Setting up the barcode terminal
When using the USB cable it’s necessary to install Opticons USB driver pack, which can be selected in the installer. The drivers can also be found in the ‘Tools’ folder of this installation.
If the ‘ESL Linking Application’ is not yet loaded on the terminal or needs to be updated, then the
software can be loaded by using the ‘Update Firmware’ option in the ‘Setup’ window of the ESL
server manager. *
To load the software, open the ‘Setup’-tab of the ESL server application. Make sure you’ve
selected the correct COM port. Then press the ‘Update Firmware’ button and select the correct
firmware file, being:
Opticon ESL
ESL Server manual
v1.0.62.2
73
OPH1004_H13_XPA3693x.HEX’ for the OPH1004/H13 OPL9728_LBF3693x.S32’ for the OPL9728 ‘OPL9815_XFO3693x.hex’ for OPL9815 ‘OPN2002_3_RFG3693x.hex’ for the OPN2002 / OPN2003 ‘OPN2004_5_6_RFI3693x.hex’ for the OPN2004 / OPN2005 / OPN2006 OPH3000_XFM3693x.hex’ for OPH3000/CLK3000 OPH1005_XFP3693x.hex’ for OPH1005
These files can be found in the ‘Firmware’ folder of this installation. * Note: Updating the firmware of the barcode terminal can also be done using Appload. Appload
can be installed by selecting ‘Appload’ in the installer or it can be found in the ‘Tools’ folder.
10.2. Loading the database files on the terminal
Before any links can be created, the reduced product database (scan.csv) first has to be loaded on the terminal to allow the reading of the barcodes on product.
To be able to transfer files between the ESL server application and the barcode terminal the serial
port of the PC is used. Make sure you’ve enabled and configured the correct serial port in the
‘Setup’-tab in the server application.
Also verify that the field numbers of the unique ID, barcode and description match your CSV­database file (See chapter 7.1). Note that the first field is field number 0; the second is 1, etc.
Loading any files onto the terminal and sending back the resulting link database is done by placing the terminal into its cradle. As soon as the combined article database (scan.csv) or the link database has been changed, the server application will automatically synchronize the barcode terminal with the PC and process any modifications using the OseComm protocol.
When using the OPN200x or OPH300x with USB, then the file exchange has to be started manually
10.3. Creating links between ESLs and products
To create a link between an ESL and a product, the barcode on the back of an ESL needs to be scanned.
If the barcode on the e-paper ESLs is not accessible, it’s also possible to display this same barcode on the e-paper ESLs. To do so, select all ESLs in the ‘ESLs’-tab that have not yet been linked, then select the ‘Show default image’ action and press the ‘Start’ button. All ESLs should now start displaying the (default) barcode image containing the MAC address.
Note: The barcode on the ESL is truncated to fit the display, meaning that the first 6 or 9 digits (3889DC or ‘3889DC000’) have been replaced by the letter ‘B’.
Opticon ESL
ESL Server manual
v1.0.62.2
74
For re-linking and unlinking of ESLs that already show a product, it’s also possible to add the MAC address barcode to your template file, by adding a small bar at the top of the template containing this barcode. See chapter 8.2.1 for more information.
10.3.1. OPH100x, H13, OPH3000, OPL9728 or OPL9815
Make sure the correct firmware version is loaded on the terminal:
OPH1004_H13_XPA3693x.HEX’ for the OPH1004/H13 OPL9728_LBF3693x.S32’ for the OPL9728 ‘OPL9815_XFO3693x.hex’ for OPL9815 ‘OPH3000_XFM3693x.hex’ for OPH3000/CLK3000 OPH1005_XFP3693x.hex’ for OPH1005
Then press ‘1’ (Link ESLs) to start linking ESLs. To create a link, first scan the MAC address barcode on the ESL followed by entering or scanning
the unique ID or barcode of the product that you want to link to this ESL. After scanning/entering the product the terminal should say that the linking was successful
(‘Linking successful’). If the product wasn’t found in the database it will show a message that the product wasn’t found (‘Product not found’).
If you accidently linked the wrong product to an ESL, then you can correct this by scanning the ESL’s MAC address again and linking it to the correct product.
Settings:
The settings menu of the terminal can be accessed by pressing ‘4’ (‘Settings). This menu contains
2 options:
1. Delete data Deletes all files from the terminal, so also all links that have not yet been sent back to the PC.
2. Barcodes This menu can enable/disable different barcode symbologies, so almost all barcodes can be scanned.
Version:
Shows the version of the terminal application, which can be useful for support purposes.
Opticon ESL
ESL Server manual
v1.0.62.2
75
10.3.2. OPN2002/3/4/5/6
Make sure the correct firmware version is loaded on the terminal:
‘OPN2002_3_RFG3693x.hex’ for the OPN2002 / OPN2003 ‘OPN2004_5_6_RFI3693x.hex’ for the OPN2004 / OPN2005 / OPN2006
To create a link press the trigger button and scan the product barcode.
If the product wasn’t found in the database (or no database was present) it will sound an error beep to indicate the product wasn’t found.
If the product was found, the laser will stay on and will start beeping every second to indicate that you can now scan MAC address of the ESL.
After scanning the MAC address an OK-beep will be given to indicate that the linking was successful.
To delete an existing link, press the small button and scan the MAC address of the ESL. The OPN200x will either sound an OK-beep or an error-beep indicating the unlinking was successful or not.
_+-FORMAT-+_
Format Disk
* Note: Use the format label to erase all data from the OPN200x, in case you wish to start over.
10.4. Sending the link file back to the PC
After all links have been created using the barcode terminal, this information needs to be send back to the PC, so they can be processed by the server application. This can be done by placing the terminal back into its cradle (or connecting it to a USB-cable). The terminal should now automatically send the link database (linked.csv) back to the PC.
After the barcode terminal has sent back the link database, the ESL server application will parse the product database and link database into image files and update the ESLs if necessary.
Note: When using the OPN200x or OPH300x with USB, then the file exchange has to be started manually by pressing the ‘Start’ button on the ESL server in the ‘Settings’-tab.
Opticon ESL
ESL Server manual
v1.0.62.2
76
11. Using the Web Application for linking and monitoring
It is also possible to use the H21, H22, H32 or any other Wifi terminal to link ESL to products and monitor the ESL system using a WiFi connection. This is done by installing a local web-server on the ESL server to run a web page to perform the linking.
During installation, make sure you’ve checked the option ‘Install web application’. This will install
the web application into the ‘WebApp-Fullsub-directory of the ESL server installation. The easiest way to set-up a local HTTP-server is by downloading and installing XAMPP from the
internet and installing the following features:
After installation, start the ‘XAMPP Control panel’ and press the ‘Config’ button next to ‘Apache’
and open the ‘httpd.config’ file.
Change the document root directory to the /WebApp-Full' folder of your ESL server installation by changing both occurrences of ‘Documentroot’:
Example:
#<Directory "C:/xampp/htdocs"> DocumentRoot "C:/Opticon/ESL Server/WebApp-Full" #<Directory "C:/xampp/htdocs"> <Directory "C:/Opticon/ESL Server/WebApp-Full">
Opticon ESL
ESL Server manual
v1.0.62.2
77
Save the config-file and start the ‘Apache’ process in the ‘XAMPP Control panel’. If you’re running a different HTTP-server than Apache, please refer to the documentation of that
specific HTTP-server on how to change the ‘document root’ directory. The Web application should now be running. Open any web browser and enter ‘localhost’ to see
the web application.
The Web-application should be automatically configured by the ESL server to match the configuration of the ESL server itself. If this is not the cause, please verify that the Source folder of the Web application is correctly configured in the Data-tab.
Opticon ESL
ESL Server manual
v1.0.62.2
78
11.1. Web application with Oracle, PostgreSQL, SQLite, MS-SQL and DB2
When using the web application with these databases it is recommended to use an ODBC. If the ESL server connects to the database without ODBC, but the web application uses an ODBC
data source, then this DSN can be configured in the ‘Web application’-tab as shown below.
Be aware that it is important that the ODBC data source needs the same architecture as the HTTP-server. This means that a 32-bit HTTP-server requires a 32-bit ODBC driver/data source.
See chapter 7.3 for more information on how to set-up an ODBC connection.
12. Running the ESL server as service
To make sure the ESL server will always run on the background and can‘t be closed accidently, the ESL server can also be configured to run as service.
To run the ESL server as service, run the ESL server as administrator and go to the ‘Settings-tab and enable the option: ‘Run as Service.
Secondly, the Windows account details on which the ESL server has been installed need to be
Opticon ESL
ESL Server manual
v1.0.62.2
79
filled in. This makes sure that the ESL service will run under the same Windows account and will use the same configuration file when it’s started manually with GUI (Graphical User Interface)
The shutdown time out of the service can be increased when closing generally takes longer than 15 seconds, i.e. when using a slow PC or when SQL is used in combination with a remote SQL server.
The service will be installed after pressing the ‘Install’ button and will start running as soon as the ESL server application is closed or after the PC has been rebooted.
After that, the ESL service will automatically be stopped (and restarted afterwards) when the ESL server is started with GUI.
Opticon ESL
ESL Server manual
v1.0.62.2
80
Appendix A: Demo barcodes
The quickest way to setup an ESL demonstration with barcode terminal is to simply use the included sample database and example templates. After installation of the software and hardware, the only configuration steps necessary are finding and adding of the base station and configuring the serial port of the barcode terminal.
The example database file will automatically be send to the barcode terminal and then you can link your ESLs using the barcode terminal and the product barcodes in the images below. (See chapter 10).
Opticon ESL
ESL Server manual
v1.0.62.2
81
Appendix B: My-SQL demo configuration
The ESL Server installation contains example queries to quickly set-up a demo with MySQL. The example query can be found in the following folder of your installation.
‘/Examples/MySQL
Use PhpMyAdmin to create a database called ‘esl’ and use the following configuration in the ESL server:
After making the configuration, use the ‘Test’-button to test the connection details.
Opticon ESL
ESL Server manual
v1.0.62.2
82
If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/MySQL/products_mysql.sql
The product data should now appear in the Data-tab. Product changes can now be made:
Manually by editing the products in the Data-tab By placing a compatible CSV-file in the configured Input-folder, which can be found here:
‘/Examples/CSV/products.csv’
Using the provided full web application (price changes only) Automatically by placing product changes into the product staging table
See chapter 11 for more information on using the full Web application. See ‘Appendix A: Demo barcodes’ to demonstrate easy linking using EAN/UPC barcodes and a
barcode scanner.
Opticon ESL
ESL Server manual
v1.0.62.2
83
Appendix C: MS-SQL demo configuration
The ESL Server installation contains example queries to quickly set-up a demo with MS-SQL. The example query can be found in the following folder of your installation.
‘/Examples/MS-SQL
Use SQL Server management studio to create a database called ‘ESL’ and use the following configuration in the ESL server:
Opticon ESL
ESL Server manual
v1.0.62.2
84
After making the configuration, use the ‘Test’-button to test the connection details. If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/MS-SQL/products_mssql.sql
The product data should now appear in the Data-tab. Product changes can now be made:
Manually by editing the products in the Data-tab By placing a compatible CSV-file in the configured Input-folder, which can be found here:
‘/Examples/CSV/products.csv’
Automatically by placing product changes into the product staging table
See chapter 11 for more information on using the Web application for linking and monitoring. See ‘Appendix A: Demo barcodes’ to demonstrate linking products using EAN/UPC barcodes
Opticon ESL
ESL Server manual
v1.0.62.2
85
Appendix D: Oracle demo configuration
The ESL Server installation contains example queries to quickly set-up a demo with Oracle. The example query can be found in the following folder of your installation.
‘/Examples/Oracle
Create a database called ESL and Open an SQL Worksheet in Oracle SQL developer and use the following configuration in the ESL server:
After making the configuration, use the ‘Test’-button to test the connection details.
Opticon ESL
ESL Server manual
v1.0.62.2
86
If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/Oracle/products_oracle.sql
The product data should now appear in the Data-tab. Product changes can now be made:
Manually by editing the products in the Data-tab By placing a compatible CSV-file in the configured Input-folder, which can be found here:
‘/Examples/CSV/products.csv’
Automatically by placing product changes into the product staging table
See chapter 11 for more information on using the Web application for linking and monitoring. See ‘Appendix A: Demo barcodes’ to demonstrate linking products using EAN/UPC barcodes
Opticon ESL
ESL Server manual
v1.0.62.2
87
Appendix E: PostgreSQL demo configuration
The ESL Server installation contains example queries to quickly set-up a demo with PostgreSQL. The example query can be found in the following folder of your installation.
‘/Examples/PostgreSQL
Create a database called ‘esl’ in a PostgreSQL editor, i.e. pgAdmin, and use the following configuration in the ESL server:
After making the configuration, use the ‘Test’-button to test the connection details.
Opticon ESL
ESL Server manual
v1.0.62.2
88
If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/PostgreSQL/products_pgsql.sql
Product changes can now be made:
Manually by editing the products in the Data-tab By placing a compatible CSV-file in the configured Input-folder, which can be found here:
‘/Examples/CSV/products.csv’
Automatically by placing product changes into the product staging table
See chapter 11 for more information on using the Web application for linking and monitoring. See ‘Appendix A: Demo barcodes’ to demonstrate linking products using EAN/UPC barcodes
Opticon ESL
ESL Server manual
v1.0.62.2
89
Appendix F: SQLite demo configuration
When using SQLite, the SQLite database will be automatically generated in the installation folder of the ESL server.
Use the following configuration in the ESL server. (User name and password are ignored)
After making the configuration, use the ‘Test’-button to test the connection details.
Opticon ESL
ESL Server manual
v1.0.62.2
90
If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/SQLite/products_sqlite.sql
The product data should now appear in the Data-tab. Since SQLite is file based, accessing the database file from a 3rd party application can result in
locked database errors. Therefor it is recommended to apply changes to the product and link table using CSV-files.
A compatible CSV-file for this demo product table can be found here:
‘/Examples/CSV/products.csv
This file can be imported using the ‘Import’-button or by placing it in the configured Input-folder.
See chapter 11 for more information on using the Web application for linking and monitoring. See ‘Appendix A: Demo barcodes’ to demonstrate linking products using EAN/UPC barcodes
Opticon ESL
ESL Server manual
v1.0.62.2
91
Appendix G: DB2 demo configuration
When using DB2, it is mandatory to create an ODBC data source (i.e. called DB2_ODBC_ESL) to connect to the DB2 database. See chapter 7.3 for more information on ODBC.
Use the following configuration in the ESL server.
After making the configuration, use the ‘Test’-button to test the connection details.
Opticon ESL
ESL Server manual
v1.0.62.2
92
If the connection was successful, then press ‘Apply’ to save the settings. To create the product tables, use the Import-button to ‘Import’ the query-file:
‘/Examples/DB2/products_db2.sql
The product data should now appear in the Data-tab. A compatible CSV-file for this demo product table can be found here:
‘/Examples/CSV/products.csv
This file can be imported using the ‘Import’-button or by placing it in the configured Input-folder.
See chapter 11 for more information on using the Web application for linking and monitoring. See ‘Appendix A: Demo barcodes’ to demonstrate linking products using EAN/UPC barcodes
Opticon ESL
ESL Server manual
v1.0.62.2
93
Appendix H: Restoring the ESL server back to default (CSV)
The ESL Server can be reverted to factory default by importing a configuration file found in the following folder of your installation.
‘/Examples/Default Configuration
Be aware that any changed configurations, changes to the templates and to the CSV-database will be lost in the process!
Use the Import-button in the ‘Data’-tab to ‘Import’ the config-file:
‘/Examples/Default Configuration/ESL Server.config
After importing the configuration file, the ESL server will be restored back to factory default. Restart the ESL server to apply all changes.
Opticon ESL
ESL Server manual
v1.0.62.2
94
Appendix I: Using the SQL API
SQL queries can be used as API to create your own application by executing SQL queries to control and monitor the ESL system, while running the ESL server as background service (See chapter 12 on how run the ESL server as service).
See chapter 7.2 for information on how to use the product and link staging tables to update ESLs and status tables to monitor the ESL system remotely.
Besides the SQL tables described in chapter 7.2, the ESL server also automatically creates the following 3 SQL tables to allow control over the ESL server using SQL queries.
Actions_staging: Staging table used to insert new actions that need to be executed.
Actions_pending: Actions that involve commands that need to be send to ESLs are moved from the
staging table to this table to indicate that the command is queued and will be sent as soon as the ESL wakes up.
Actions_results: All actions that have immediate result will be moved from the staging table to this
table. This includes base station commands and failed ESL commands.
Opticon ESL
ESL Server manual
v1.0.62.2
95
Supported ESL actions
The following list of SQL-commands is currently supported to initiate an ESL action. Valid commands will be moved to the action_pending table. Disgarded commands will be moved to the action_results table
ACTION
MAC
PARAM1
RESET
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('RESET', '3889DC000000A842');
DEFAULT_IMAGE
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('DEFAULT_IMAGE', '3889DC000000A842');
REFRESH_IMAGE
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REFRESH_IMAGE', '3889DC000000A842');
RESEND_IMAGE
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('RESEND_IMAGE', '3889DC000000A842');
REQUEST_SETTINGS
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REQUEST_SETTINGS', '3889DC000000A842');
UNLINK
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('UNLINK', '3889DC000000A842');
REASSOCIATE
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REASSOCIATE', '3889DC000000A842');
KICK_FROM_EBS
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('KICK_FROM_EBS', '3889DC000000A842');
MOVE_TO_EBS
MAC-Address (16)
MAC-Address EBS (12)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('MOVE_TO_EBS', '3889DC000000A842', '00126AF5001234');
SET_LANID
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('SET_LANID', '3889DC000000A842');
CLEAR_LANID
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('CLEAR_LANID', '3889DC000000A842');
DEACTIVATE
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('DEACTIVATE', '3889DC000000A842');
FACTORY_DEFAULT
MAC-Address (16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('FACTORY_DEFAULT', '3889DC000000A842');
CHANGE_MAC_ADDRESS
MAC-Address (16)
MAC-Address (new) (16) (For factory only)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('CHANGE_MAC_ADDRESS', '3889DC00049F203D', '3889DC000000A000');
Opticon ESL
ESL Server manual
v1.0.62.2
96
Supported ESL settings
The following list of SQL-commands is currently supported to change ESL settings. Valid commands will be moved to the action_pending table. Disgarded settings and settings that match the current setting will be moved to the action_results table.
ACTION
MAC
PARAM1 (default; min; max)
POLL_INTERVAL (int)
MAC-Address (16)
Min. poll interval in seconds (20, 5, 200)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('POLL_INTERVAL',
'3889DC000000A842', 20);
POLL_TIMEOUT (int)
MAC-Address (16)
Poll timeout in polls (10, 5, 30)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('POLL_TIMEOUT',
'3889DC000000A842', 20);
SCAN_INTERVAL (int)
MAC-Address (16)
Associate interval in seconds (60, 60, 300)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('SCAN_INTERVAL',
'3889DC000000A842', 60);
DISPLAY_OPTIONS (int)
MAC-Address (16)
0: normal, 1: upside down
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('DISPLAY_OPTIONS',
'3889DC000000A842', 1);
SCAN_CHANNELS (flags)
MAC-Address (16)
11: 0x00000800
12: 0x00001000 13: 0x00002000 14: 0x00004000
15: 0x00008000
16: 0x00010000 17: 0x00020000 18: 0x00040000
19: 0x00080000
20: 0x00100000
21: 0x00200000 22: 0x00400000 23: 0x00800000 24: 0x01000000
25: 0x02000000 26: 0x04000000
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('SCAN_CHANNELS',
'3889DC000000A842', '101746688'); (0x06108800 = 11, 15, 20, 25, 26)
TEMPERATURE
MAC-Address (16)
Temperature range. (0=default; 0, 4) (>0 values are to compensate for lower temperatures, but shorten battery life)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('TEMPERATURE',
'3889DC000000A842', 0);
Opticon ESL
ESL Server manual
v1.0.62.2
97
Supported Base station actions
The following list of SQL-commands is currently supported to initiate a base-station-action. Successfully executed and discarded commands will be moved to the action results-table.
ACTION
MAC
PARAM1
REACTIVATE_START
MAC-Address (12)
Timeout in sec (min 30, max 900)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('REACTIVATE_START', '00126AF5FFF8', 180);
REACTIVATE_STOP
MAC-Address (12)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REACTIVATE_STOP', '00126AF5FFF8');
DEACTIVATE
Start range (MAC-Address (16)
End range (MAC-Address 16)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('DEACTIVATE', '3889DC0001000000', '3889DC000100FFFF');
DISCOVER
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('DISCOVER', '');
BALANCE_ESLS
(Use preferably once a day)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('BALANCE_ESLS', '');
REFRESH_ESLS
(Warning: Refreshing effects battery life!)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REFRESH_ESLS', '');
RESET
MAC-Address (12)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('RESET', '00126AF5FFF8');
ADD
MAC-Address (12)
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('ADD', '00126AF5FFF8');
REMOVE
INSERT INTO `actions_staging`(`ACTION`, `MAC`) VALUES ('REMOVE', '00126AF5FFF8');
FIRMWARE_UPDATE
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('FIRMWARE_UPDATE', '00126AF5FFF8', 'EBS40-IBUV0052.bin');
Supported Base station settings
The following list of SQL-commands is currently supported to change a base-station-setting. Successfully executed and disgarded commands will be moved to the action results-table.
ACTION
MAC
PARAM1
CHANNEL
MAC-Address (12)
RF-Channel (int) (default 11, min 11, max 26)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('CHANNEL','00126AF5FFF8',15);
PANID
MAC-Address (12)
PAN-ID (4) (default: last 4 digits of MAC)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('PANID','00126AF5FFF8','12AB');
LANID
MAC-Address (12)
LAN-ID (4) (default 0000, min 0000, max FFFE)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('LANID','00126AF5FFF8','0003');
LOCAL_NAME
MAC-Address (12)
LAN-ID (4) (default 0000, min 0000, max FFFE)
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`) VALUES ('LOCAL_NAME','00126AF5FFF8','FIRST_FLOOR');
Opticon ESL
ESL Server manual
v1.0.62.2
98
Supported External Trigger actions
The following list of SQL-commands is currently supported to initiate external actions like calling an SQL script, batch file or 3rd party application on a given event. Successfully executed and discarded commands will be moved to the action results-table.
ACTION
MAC
PARAM1
PARAM2
PARAM3
SQL_SCRIPT
MAC-Address (12 or 16)
Path of script
Arguments of script file
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`, `PARAM2`) VALUES ('SQL_SCRIPT’, '00126AF5FFF8', 'SCRIPTS\\Alert.sql', '00126AF5FFF8 001' );
BATCH_FILE
MAC-Address (12 or 16)
Path of batch file
Arguments of batch file
Process list to kill in advance
INSERT INTO `actions_staging`(`ACTION`, `MAC`, `PARAM1`, `PARAM2`, `PARAM3`) VALUES ('BATCH_FILE', '00126AF5FFF8', 'Batch\Alert.bat', '00126AF5FFF8 001', 'SendAlert.exe' );
Opticon ESL
ESL Server manual
v1.0.62.2
99
Appendix J: Version history
V0.0.1
First preliminary release
October 11, 2011
V0.0.2 Added following features:
- OPL9728 compatibility (LFD36931)
- 2.7" e-paper compatibility
- Support of alphanumeric product IDs Fixed adding images to image templates Fixed delete database button Updated manual to match Opticon style
November 10, 2011
Fixed cross-references
November 18, 2011
V1.0.0
Fully updated manual to support:
- EBS-30 base station
- New ESL server application
- OPN2002 compatibility
January 3, 2013
V1.0.14
Stability and performance updates Added 4.4” and 7.4” e-paper compatibility Added import settings/templates feature Converted databases to UTF-8 for improved language support Updated base station and ESL firmware for improved stability and performance
June 18, 2013
V1.0.20
Added following features:
- EE201 support, MySQL & MS-SQL support
August 8, 2013
V1.0.21
Added following features:
- Fixes related to MySQL and MS-SQL support
- Enabled use of SQL status table ‘LabelStatus’ to provide feedback on the ESL system
- Improved performance with large link and product databases
- Improved performance with large quantities of ESLs
- Added support of rotated text, barcodes and images to Image templates
August 16, 2013
V1.0.22-V1.0.29
- Fixes related to MySQL, MS-SQL and CSV support
- Improved performance with large link and product databases
- Improved performance with large quantities of ESLs
- Various bug fixes
- Updated firmware for EBS30 and EE200/1
- Fixed Windows explorer crash
- Added multi-language support
- Added 2D barcode support
February 11, 2014 V1.0.30
- Extended UAC and Monitoring
- Added minimize to tray options
- Improved performance with large quantities of ESLs
- Updated firmware for EBS30
- Fixed progress bar on closing application
- Fixed minor language issues
- Update manual
March 27, 2014
V1.0.31
- Updated firmware for EBS30
- Added CSV/SQL hybrid solution
- Added external content management solution
- Minor bug fixes for image updating and CSV-parsing
- Fixed issue of linked ESLs that weren’t listed in the ESL-tab under certain conditions
- Added Web Application to installer and documentation
April 7, 2014
V1.0.32
- Added OPH1005 link application
- Added French language support
- Added Italian language support
- Minor authentication bug fix
April 11, 2014
V1.0.33­V1.0.34
- Added protective measures against loosing of templates, links or database files
- Enabled logging of user activity by default
- Prevented double execution of ESL server
- Fixes various rare exceptions
- Fixed issue with image id's not incrementing
- Made SQL status/logging tables configurable
- Fixed not automatically reloading of Product table after using SQL staging tables
- Option to show default image on unlinking
- Automatically change CSV-log file name
April 30, 2014
V1.0.35
- Improvements to CSV-parser
- Added option show default image after unlinking
- Fixed crash on removing USB-cable
May 6, 2014
Opticon ESL
ESL Server manual
v1.0.62.2
100
- Fixed rare image update issues
- Fixed reactivation problems (requires EBS3x firmware IBMV0014a or higher)
V1.0.36
- Fixed issue with image IDs not incrementing on re-linking
- Fixed crash related to OseComm / USB
- Fixed SQL issue with removing products
- Moved processing of Link files from CSV-parser to ESL-server
- Resolved rare exceptions on logging
- Added support of ‘unlink’ option in ESL-tab
- Improved importing of database/link files
- Fixed resending of images to unlinked ESLs
May 9, 2014
V1.0.37
- Fixed issue with disconnected EBS3x
- Fixed SQL logging date/time issue
May 15, 2014
V1.0.38
- Improved 4.4” (EE440) support
- Fixed logging failed pop-up (CSV only)
- Fixed deleting of products (SQL only)
- Improved handling of unreliable / remote SQL connections
- Added preliminary support for running parallel ESL networks
May 27, 2014
V1.0.39-1.0.40
- Improved SQL performance and stability
- Added ‘Find best base station’ action
- Updated EE20x firmware with LAN-ID support and improved searching algorithm to find best base station connection.
- Updated EBS3x firmware with LAN-ID support
- Improved firmware upgrading of EE201 (variant ‘IBIxxxx’)
- Added EE202 support (=EE201 with new display)
June 30, 2014
V1.0.41
- Added option to run and ESL server as Window service.
- Fixed start-up message base station table
- Fixed out-of-sync SQL tables after Ethernet connection issues
July 9, 2014
V1.0.42
- Added graphical template designer
- Lowered CPU usage
- Add (non-filled) rectangles and ellipses to template designer
- Added shrink-to-fit option for texts
July 30, 2014 V1.0.43
- Updated EBS3x firmware (IBMV0016) with stability fixes
- Improvements to graphical template designer
- Improved EBS3x firmware updating
August 5, 2014
V1.0.45
- Added new filter option: ‘Not contain’
- Added automatic / manual load balancing options (see chapter 6.4.2)
- Allow modification databases with no CSV-parser configured
- Improved link quality indication. Packet loss is now included in the calculation of the link quality. (See chapter 6.2)
August 22, 2014
V1.0.46.2
- Improvements to barcode terminal applications (incl. SQL-support, OPH3000 compatibility)
- Fixed issues with ‘Show default image on unlinking’
- Simplified the configuration of SQL
- Added example SQL queries to the Appendixes
- Improved UTF8 support on copying example data to template editor
- Fixed issue with ‘Link to Data’ not working
- Added compatibility with EBS40
October 16, 2014 V1.0.47.0
- Updated SQL solution with Web application with (un)linking, user access control, product reviewing, price editing and monitoring
- Added change-log table to SQL
- Added ‘users table to SQL for UAC
- Added support of different e-paper formats (1.5”, 2.9” and 4.2”)
- Added possibility to import CSV-file into an SQL product table
December 24, 2014
V1.0.47.2
- Added support of tab-separated files
- Improved firmware update of EBS3x/EBS4x
- Fixed missing file in new web-application
January 22, 2015
V1.0.48.0
- Added Oracle database support
- Added shop selection interface to web application
- Improved Asian language support for MySQL
- Fixed EAN13 encoding bug
- Fixed issue with link files not being processed
- Improved firmware updating of EBSxx
March 23, 2015
V1.0.48.5
- Added preliminary EE580 support
- Resolved issues with duplicate base station in base station list
- Added check for IP-address change of base station at start-up (still recommended to use static DHCP leases)
- Added field numbers to example data text boxes for easy-of-use
- Automatically configure web application settings on changing database settings in ESL-server
- Added SQL API for executing actions and changing settings in ESL server
- Fixed incorrect value of field separator
May 28, 2015
Loading...