tesina-electronic shelf labels (muhamad asim nazir) (751695) · prices" on electronic...
TRANSCRIPT
1 | P a g e Electronic Shelf Labels
POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione
Polo Regionale Di COMO
Master of Science in Computer Enigneering
“ELECTRONIC SHELF LABELS”
Supervised by: Professor Sara Comai
Tesina by: Muhammad Asim Nazir
Student Id: 751695
2 | P a g e Electronic Shelf Labels
CONTENTS
1. Introduction .................................................................................................................. 6 1.1. Company & Objective ......................................................................................................... 6 1.2. ESL (Electronic Shelf Label) ............................................................................................ 6 1.3. Transmission System ......................................................................................................... 7 1.4. Operational Software ......................................................................................................... 8 1.4.1. Web application ........................................................................................................... 9 1.4.2. PDA application ......................................................................................................... 10 1.4.3. Data Import Application ........................................................................................ 10
1.5. Advantages ........................................................................................................................... 10 2. Business Requirements: ......................................................................................... 12 2.1. Target Customers .............................................................................................................. 12 2.2. Functional Requirements ............................................................................................... 12 2.2.1. Web Application ........................................................................................................ 12 2.2.1.1. Advanced Mode ................................................................................................. 13 2.2.1.2. Standard Mode .................................................................................................. 28
2.2.2. PDA Application ......................................................................................................... 34 2.2.3. Data Import ................................................................................................................. 38
3. Design ........................................................................................................................... 43 3.1. Application Flow ................................................................................................................ 43 3.2. Web Application Architecture ..................................................................................... 44 3.3. Database Design ................................................................................................................. 45 3.4. Page Layout .......................................................................................................................... 49 3.4.1. Advanced Mode Page Layout ............................................................................... 49 3.4.1.1. Main Content Area (Content Area Level 1) ........................................... 50 3.4.1.2. Detailed Content Area (Content Area Level 2) .................................... 51
3.4.2. Standard Mode Page Layout ................................................................................ 53 3.4.2.1. Main Page ............................................................................................................. 53 3.4.2.2. Detailed Operation Page ................................................................................ 54
3.4.3. Web Application Navigation ................................................................................ 55 4. Implementation ........................................................................................................ 58 4.1. Web Application ................................................................................................................. 58 4.1.1. Master Page ................................................................................................................. 58 4.1.2. Code Behind ................................................................................................................ 59 4.1.3. Database / Database connectivity ..................................................................... 60 4.1.4. Internet Information Server (IIS) ...................................................................... 60
4.2. XML .......................................................................................................................................... 61 4.2.1. ESL Status Request XML ........................................................................................ 61 4.2.2. ESL Status Response ................................................................................................ 62 4.2.3. ESL night mode Request XML .............................................................................. 62
3 | P a g e Electronic Shelf Labels
4.2.4. ESL Enter night mode (for all ESLs) XML ....................................................... 62 4.2.5. ESL Acknowledge Night mode Response XML ............................................. 63 4.2.6. ESL Price update Request XML ........................................................................... 63 4.2.7. ESL Acknowledge Price update Response XML ........................................... 63
5. Future Work ............................................................................................................... 64 5.1. Responsive design of Web application ..................................................................... 64 5.2. Graphical ESL display ...................................................................................................... 64
6. References .................................................................................................................. 66
4 | P a g e Electronic Shelf Labels
LIST OF FIGURES
Figure 1: Electronic Shelf Label ........................................................................................................... 7 Figure 2: System Overview .................................................................................................................... 8 Figure 3: Login .......................................................................................................................................... 12 Figure 4: Mode Selection ...................................................................................................................... 13 Figure 5: Product Search ...................................................................................................................... 14 Figure 6: ESL Import .............................................................................................................................. 14 Figure 7: Delete ESL ............................................................................................................................... 15 Figure 8: ESL Status /Acknowledgment ........................................................................................ 15 Figure 9: ESL Search ............................................................................................................................... 16 Figure 10: ESL Master data ................................................................................................................. 17 Figure 11: ESL Master data modify .................................................................................................. 18 Figure 12: ESL Firmware Management ......................................................................................... 18 Figure 13: Upload Firmware .............................................................................................................. 19 Figure 14: Product ESL Join ................................................................................................................ 20 Figure 15: Product / ESL bulk join ................................................................................................... 20 Figure 16: Product / ESL association List ..................................................................................... 21 Figure 17: ESL / Product Association List Filter ........................................................................ 21 Figure 18: ESL Template ...................................................................................................................... 22 Figure 19: ESL Template Preview .................................................................................................... 22 Figure 20: ESL / Template Association List ................................................................................. 23 Figure 21: Change Product Price ...................................................................................................... 24 Figure 22: Set Night Mode ................................................................................................................... 24 Figure 23: System Health ..................................................................................................................... 25 Figure 24: Coordinator Health Overview ...................................................................................... 25 Figure 25: Coordinator Health Detail ............................................................................................. 26 Figure 26: ESL Health ............................................................................................................................ 26 Figure 27: Users List .............................................................................................................................. 27 Figure 28: New User Creation ............................................................................................................ 27 Figure 29: Application Settings ......................................................................................................... 28 Figure 30: Mail Notification ................................................................................................................ 28 Figure 31: Change Product Price (Standard Mode) .................................................................. 29 Figure 32: New Price (Standard Mode) ......................................................................................... 29 Figure 33:Product Offers (Standard Mode) ................................................................................. 30 Figure 34: Price change summary (Standard Mode) ............................................................... 30 Figure 35: Product Detail 1(Standard Mode) .............................................................................. 31 Figure 36:Product Detail 2(Standard Mode) ............................................................................... 32 Figure 37: Product / ESL association (Standard Mode) ......................................................... 32 Figure 38: Remove Product / ESL Join ........................................................................................... 33 Figure 39: Motorola MC55A0 ............................................................................................................. 34 Figure 40: PDA Login ............................................................................................................................. 35 Figure 41: PDA configuration ............................................................................................................. 35 Figure 42: PDA product / ESL association .................................................................................... 36
5 | P a g e Electronic Shelf Labels
Figure 43: Product / ESL association .............................................................................................. 36 Figure 44: Product / ESL disassociation ....................................................................................... 37 Figure 45: Application Flow ................................................................................................................ 43 Figure 46: Web Application Three tier Architecture ............................................................... 44 Figure 47: DB Users ................................................................................................................................ 45 Figure 48: DB Coordinators ................................................................................................................ 46 Figure 49: DB Hubs ................................................................................................................................. 47 Figure 50:Db ESLs ................................................................................................................................... 48 Figure 51:Db Products .......................................................................................................................... 49 Figure 52: Content Area Level 1 ........................................................................................................ 51 Figure 53: Content Area Level 2 ........................................................................................................ 52 Figure 54: Main Page (Standard Mode) ......................................................................................... 53 Figure 55: Detailed Operation Page (Standard Mode) ............................................................ 54 Figure 56: Login to Mode Selection Navigation ......................................................................... 55 Figure 57: Standard Mode Navigation ............................................................................................ 56 Figure 58: Advanced Mode Navigation .......................................................................................... 57 Figure 59: Master Page ......................................................................................................................... 59 Figure 60: Code behind ......................................................................................................................... 59 Figure 61: Data provider (SqlClient) ............................................................................................... 60 Figure 62: IIS / Asp.Net page life cycle ........................................................................................... 61 Figure 63: Graphical ESL display ...................................................................................................... 65
6 | P a g e Electronic Shelf Labels
1. INTRODUCTION This work addresses the problem of price changes, promotion add-‐on and central 'real-‐time' pricing control of the products in super markets by introducing the wirelessly controlled Electronic shelf labels, which provide flexibility to change the product prices and introduction of promotions from the central system which is integrated with store POS system, thus guarantees that the prices are always up-‐to-‐date and accurate. The work has been carried out at S5 Tech SpA where I am working as a software developer and most of my work is related to the operation software.
1.1. Company & Objective S5 Tech SpA [1] was founded in 2009 by a group of entrepreneurs with the objective of offering a completely innovative in-‐store information system capable to overcome all limits of the solutions available today through a powerful, light, versatile, non-‐invasive network. Since the date of its incorporation until April 2011 the Company developed and tested at length an advanced architecture, that supports present and future needs through a scalable and wireless radio frequency platform able, not only to obtain cost efficiency, error reduction, and innovative pricing opportunities, but also to provide the store and its clients with new communication tools and applications that includes web, PDA and smartphone interfaces to centrally control the product prices on Electronic shelf labels thus reducing the store labor cost of changing prices, adding promotions and guarantees the accurate price of the product. Roles and Responsibilities: I was involved in the project, right from its initial stage, so I get a chance to involve in complete life cycle of the development of the system. My roles and responsibilities are primarily focused on the operation software and I was involved in
• Web and PDA application architecture • Database design of the system • PDA and web application development • Integration strategy of ESL backend system with store POS • Provided technical assistance to other team members in developing other
modules of WEB and PDA applications
1.2. ESL (Electronic Shelf Label) ESL, is a system used by retailers for displaying product pricing on shelves [2]. Typically, electronic display modules are attached to the front edge of retail
7 | P a g e Electronic Shelf Labels
shelving. These modules use Liquid Crystal Display (LCD) (see Figure 1: Electronic Shelf Label) to show the current product price to the customer. A communication network allows the price display to be automatically updated whenever a product price is changed. This communication network is based on radio communication. Automated ESL systems reduce pricing management labor costs and improve pricing accuracy. S5 Tech’s electronic carries inside a powerful and reliable processor as of today it is available as Electronic LCD labels in 7 segments in 2 sizes. Fast, secure and protected communication is insured due to a 2.4 GHz band and its own protected channels according to 802.15.4 protocol. Each label carries temperature sensors, and NFC (Near Field Communication). Every 15 seconds all ESLs communicate with the transmission system, thus guaranteeing a constant feedback on its performance and the success of the price updating. Each ESL has a sticker on it, which contains the product description & barcode for the product that specifies to which product this specific ESL is associated. ESL has different digital sections and some predefined icons that can be mapped to different database fields to display different information (e-‐g: Price, price per unit, promotion, discount, promotion end date, etc..).
Figure 1: Electronic Shelf Label
1.3. Transmission System The communication system (see Figure 2: System Overview) is based on widespread and powerful Wi-‐Fi technologies optimized so as to work in an ultra-‐low power mode. Transmission works with a USB Coordinator equipment, which can manage up to 3500 electronic labels. In small stores the Coordinator can be directly managed with a PC. Otherwise in large stores, concentrators, called HUBs, manage up to 6 Coordinators. This architecture can operate in stores of any size with just two kinds of peripherals without any size limit.
8 | P a g e Electronic Shelf Labels
Each coordinator has an individual integral and rechargeable battery, which, in the event of temporary absence of power carries on efficiently for up to 24 hours. In the case of middle size or major stores Hubs may operate in mesh topology [3] either by using net cables or Wi-‐Fi at 2.4 or 5 GHz. Clients may choose connections or bands to be used according to their policies. The transmission system dialogs with the HUBs using a 2.4 or 5 GHz band on protocol 802.11a/b/g/n/s and can adopt with minor modifications any future communication protocol. The Coordinators dialog with the electronic labels on a 2.4 GHz band using protocol 802.15.4 thus guaranteeing a band sufficient for operating any future graphic color label in a 1000 square meter store.
Figure 2: System Overview
1.4. Operational Software The software is the core of the entire system, the complex technology remains hidden to the advantage of an extremely simple interface, capable of returning only pertinent feedback. Integration with the client’s back office is planned in such a way as to minimize the necessary time for the start-‐up in the store. Single modular software has been designed to serve all purposes: in this way, all clients big and small can benefit from every future improvement of the product. Software package includes:
9 | P a g e Electronic Shelf Labels
• Web application • PDA application • Data Import Application
1.4.1. Web application Web application is available in English, Italian and French languages, and provides two modes of operations for end user (store manager, Administrator). (List of operations in each mode can be limit by the administrator)
• Standard Mode • Advanced Mode
Standard Mode: Standard Mode is used for quick daily operations which includes:
• Product Searching based on barcode • Product Price Change • Product Offer activation • Daily import report from supper market “back office” to “ESL backend
system” • Re-‐printing of ESL stickers for which there is some change in the description
of the product. • Product & ESL association • Product & ESL disassociation
Advanced Mode: Advanced mode is used to perform more detailed operations, which includes:
• Product Searching based on different filters (barcode, description, internal reference etc..)
• Sticker printing for the product (Sticker includes product description, barcode and internal reference in a specific format)
• ESL mac addition in the system (Each ESL has its unique MAC address which need to be added in the system in-‐order to associate it to a product)
• Bulk ESL Mac addition (In-‐order to add MAC address in bulk a file of MACs needs to be provided in a specific format)
• ESL & product association • ESL & product massive association (In-‐order to associate ESLs and products
in bulk a file needs to be provided in a specific format) • ESL & product disassociation. • Reporting
10 | P a g e Electronic Shelf Labels
o ESL status report o Coordinator status report o Price change report
• ESL Template mapping (ESL has different digital sections and each section can be mapped to show different information)
1.4.2. PDA application PDA application is available in English, Italian and French languages. PDA is connected wirelessly to the local hub and can be used by the store manager to perform different operations right at the shelf. Features offered by the PDA application includes:
• Product Information (Using PDA built-‐in barcode scanned, store manager can scan the product barcode and can get its complete detail)
• Product price change • Product & ESL association • Product & ESL disassociation • Recent price change information
1.4.3. Data Import Application Data import application runs as a backend service and looks for any updated files from client side in a specific folder. The files from the client are in a predefined specific format. As soon as the service finds the new file in the specific folder it import that data in the backend database and create a backup of client’s file for future reference. File name format, File location, backup path are configurable.
1.5. Advantages The proposed work has many advantages; the main advantages can be summarized as follows: Reduction in price change labor and costs
• Reduces in store labor cost of changing prices • Reduce ticket printing and paper costs • Redeploy labor to value-‐adding tasks such as customer service or store
merchandising
Low Cost of Ownership
11 | P a g e Electronic Shelf Labels
• Integrates with current store POS system • Affordable and easy installation does not require any store infrastructure
changes or major installations. • No operational interference
Pricing accuracy, flexibility and responsiveness
• Provides central or Head Office 'real-‐time' pricing control and flexibility • Confidence in knowing that the prices are always up-‐to-‐date, accurate and
compliant
Increased shopper interaction, merchandising and sell-‐through
• Recapturing lost sales through incorrect shelf pricing • Increase sell through of short sales life or perishable items through
automatic price-‐change programs aimed at price reductions in line with diminishing sales life
• Improve interaction with shoppers with greater product pricing and promotional information
Opportunistic pricing strategies and margin maximization
• Take advantage of trading fluctuations or events to maximize Gross Profit through strategic pricing
• Implement 'time of day' pricing for extended hours trading, lunch hour or happy hour specials
• No longer and opportunity cost of time and resource to implement strategic or event based pricing
Improved stock control and retail operations
• Assist with improved ordering, stock control and store operations • Improve store staff productivity and job satisfaction at eliminating repetitive
non-‐value adding tasks • Improved register productivity through elimination of price checks
12 | P a g e Electronic Shelf Labels
2. BUSINESS REQUIREMENTS:
2.1. Target Customers Targeted customers are
• Supermarkets • Pharmacy
2.2. Functional Requirements Following are the detailed requirements for
• Web application • PDA application • Data Import Application
2.2.1. Web Application
R.1. Website should be accessible only to authorized users.
Figure 3: Login
R.2. Website should provide separate modes for
• Advanced operations • Standard daily operations
13 | P a g e Electronic Shelf Labels
Figure 4: Mode Selection
2.2.1.1. Advanced Mode
R.3. Website should provide Product Searching based on
• Barcode • Description • Internal reference • Product Id
Search result should show the • Product ID • Product description • Barcode • ESLType to which this product is associated • Actual price of the product • Actual price per unit of the product
14 | P a g e Electronic Shelf Labels
Figure 5: Product Search
R.4. Ability to add ESLs in bulk by providing the plain text file in the format (“ESLMac, ESLType”)
Figure 6: ESL Import
R.5. Ability to delete existing ESLs from the system.
15 | P a g e Electronic Shelf Labels
Figure 7: Delete ESL
R.6. Functionality to determine the status of the ESL (i-‐e to determine if the ESL is working or not). The log should provide the following information:
• Acknowledgement Date • Message ID • Acknowledgement Command • Acknowledgment Result • Acknowledgement Description • Acknowledgement Hash code
Figure 8: ESL Status /Acknowledgment
R.7. Functionality to search ESLs based on
• ESL Mac • ESL Type • ESL signal level
16 | P a g e Electronic Shelf Labels
• Product Associated to ESL. • Associated Product ID • ESL Battery Level • Product Description • Free text search
The result should be shown in the list with following information:
• ESL MAC • ESL Type • Product ID • Product Description • Actual Price • Actual Price per unit
Figure 9: ESL Search
R.8. Functionality to search for ESL master data, that provides the list of ESL types with following information:
• ESL Type Code • ESL Type Description • ESL Display
The list should be filterable based on
17 | P a g e Electronic Shelf Labels
• ESL type code • ESL type description
Figure 10: ESL Master data
R.9. Functionality to Modify the following ESL master data details
• ESL Type description • Set to Null info (the code to switch on all segments of the ESL of particular type)
18 | P a g e Electronic Shelf Labels
Figure 11: ESL Master data modify
R.10. Functionality to update ESL firmware, provide the list of ESL types with current firmware version installed and additional following information:
• ESL Type Code • ESL Type Description • ESL Display Technology • Firmware Version • Last Firmware Update date • Number of ESLs updated • Firmware upload user name
The list should be possible to filter based on :
• ESL Type Code • ESL Type Description • Last Firmware update date
Figure 12: ESL Firmware Management
R.11. Functionality to upload the new ESL firmware by providing following information
19 | P a g e Electronic Shelf Labels
• Firmware Version • Firmware Description • Firmware File
Figure 13: Upload Firmware
R.12. Ability to associate new ESL with existing product and print the stickers in medium / large size once the product is associated to the ESL.
20 | P a g e Electronic Shelf Labels
Figure 14: Product ESL Join
R.13. Ability to associate ESLs with products in bulk mode by providing the plain text file (“ESL Mac”,”ProductId”) Show following information once the bulk association is complete:
• Total number of records • Number of correct records • Number of incorrect records • Incorrect record details
Figure 15: Product / ESL bulk join
R.14. Provide the list of Product & ESL Association, with following information
• Product ID • Product Description • ESL MAC
21 | P a g e Electronic Shelf Labels
Figure 16: Product / ESL association List
R.15. Provide the criteria to filter the list of Product & ESL association based on • Product ID • Product Description • ESL ID • Free text search.
Figure 17: ESL / Product Association List Filter
R.16. ESL Template to map the different segments of ESL with different dynamic fields (administrator should be able to decide which fields to map to which segment). Separate template for each ESL type based on the segments available for that specific ESL type. Administrator should also be able to bind the static information to the ESL segment.
22 | P a g e Electronic Shelf Labels
Figure 18: ESL Template
Once the Field mapping is done provide the preview of the mapping
Figure 19: ESL Template Preview
23 | P a g e Electronic Shelf Labels
R.17. Provide the list of templates associated with the different type of ESLs with following information: • ESL Type • ESL Type description • Template description
Provide filtering criteria to filter the list of templates and ESL type association based on
• ESL Type • ESL Description • ESL Template.
Figure 20: ESL / Template Association List
R.18. Ability to change product price & price per unit and Provide the history of previous changes in the
price of the product with following information: • Product ID • Product Description • Associated ESL • Price sent to ESL • Piece per unit sent to ESL • Product Creation Date • Price Sent date • Date when the price is published on the ESL • Acknowledge date of ESL to receive the price.
24 | P a g e Electronic Shelf Labels
Figure 21: Change Product Price
R.19. Ability to set night mode timing of the ESLs so that ESLs switched off automatically during specific
time period in the night.
Figure 22: Set Night Mode
R.20. Website should provide the details about system health. That should show:
• The total number of coordinators present • Total number of ESLs associated • ESLs not responding since the date of installation of the system.
25 | P a g e Electronic Shelf Labels
Figure 23: System Health
R.21. Website should provide the health of the coordinators graphically, based on specified interval of dates.
Figure 24: Coordinator Health Overview
26 | P a g e Electronic Shelf Labels
Figure 25: Coordinator Health Detail
R.22. Website should provide graphically the health of each ESL with following information:
• Associate product • Linked coordinator • The time of the last pending request for that ESL which is not processed.
Figure 26: ESL Health
R.23. Ability to search, Add, Modify and delete Users of the website; Users could be assigned the roles of
• Store manager • Administrator
Provide the feature to filter the list of users based on • Name • Surname • User ID • Level of administration.
27 | P a g e Electronic Shelf Labels
Figure 27: Users List
Figure 28: New User Creation
R.24. Functionality to add the Application settings where administrator can configure following settings • ESL Firmware folder • Hub Firmware folder • Mail Server configuration
28 | P a g e Electronic Shelf Labels
Figure 29: Application Settings
R.25. Products import report should be sent in the via email , Administrator should be able to register
the mail server by providing following information
Figure 30: Mail Notification
2.2.1.2. Standard Mode
R.26. Provide the feature to change the product Price by providing the product bar code.
29 | P a g e Electronic Shelf Labels
Figure 31: Change Product Price (Standard Mode)
Figure 32: New Price (Standard Mode)
R.27. Provide feature to set the following promotions:
• Discount % • Highlight segment on ESL to indicate that the product is in offer. • Highlight Offer and 3X2 segments on ESL
30 | P a g e Electronic Shelf Labels
Figure 33:Product Offers (Standard Mode)
Provide the product price change/ promotion summary before publishing
Figure 34: Price change summary (Standard Mode)
R.28. Provide following product information based on product bar code:
• Product ID • Product Barcode • Product Description
31 | P a g e Electronic Shelf Labels
• Category • Actual Price • Actual price per unit • Previous Price • Previous price per unit • Price publishing date & time • Base price (price before any the promotion)
Figure 35: Product Detail 1(Standard Mode)
32 | P a g e Electronic Shelf Labels
Figure 36:Product Detail 2(Standard Mode)
R.29. Provide feature to associate product with ESL based on product ID or barcode and ESL MAC
address.
Figure 37: Product / ESL association (Standard Mode)
33 | P a g e Electronic Shelf Labels
R.30. Ability to remove the product and ESL association based on ESL Mac address.
Figure 38: Remove Product / ESL Join
34 | P a g e Electronic Shelf Labels
2.2.2. PDA Application
R.1. PDA application should be incompliant with Windows Mobile 6.5 or higher. The application UI should be compliant with Motorola MC55A0 [16] screen resolution i-‐e 480 x 640
Figure 39: Motorola MC55A0
R.2. Only the authorized User should be able to access the PDA application. User can be either an administrator or a store manager.
35 | P a g e Electronic Shelf Labels
Figure 40: PDA Login
R.3. Administrator should be able to configure the PDA. Administrator should provide the following information:
• SQL server IP • Database instance name • Database User Name • Database Password • Language selection (It, English) • Administrator password • Store manager password
Figure 41: PDA configuration
R.4. User should be able to Associate the product to the ESL by providing following information • ProductID / BarCode • ESL Mac
User should be able to provide the above information either by typing through built-‐in keyboard or via built-‐in barcode scanner
36 | P a g e Electronic Shelf Labels
Figure 42: PDA product / ESL association
R.5. If the product is already associated to some other ESL then provide the warning message to the user that product is already associated to another ESL & provide the option to change the association to the newly provided ESL mac. If user confirms the new association then change the association otherwise keep the existing association.
Figure 43: Product / ESL association
37 | P a g e Electronic Shelf Labels
R.6. Feature to disassociate the product & ESL join by providing the MAC address of the ESL
Figure 44: Product / ESL disassociation
R.7. User should be able to go to the main menu from any screen and should be able to logout and close the application from main menu.
38 | P a g e Electronic Shelf Labels
2.2.3. Data Import
This system integration involves sending one or more files with data on products and prices to publish on the electronic labels. There are two methods to send data: via FTP or plugged directly into a conventional folder. For the ftp transfer the standard user and password are: s5techftp/ftps5tech. The name of the shared folder is \\<machine name>\ftp that can be accessed using the same user and password as the ftp method (in the <machine name> domain). The format is the standard CSV without string delimiters and the default character to separate fields is "|" (pipe). The record of the file may vary depending on needs, but you must submit a minimum set of information specified below. Naming convention: S5_FTPINT_AAAAMMGGHHMMSS.s5 where: S5_FTPINT = fixed prefix YYYYMMDDHHMMSS = creation date and time of file (four digits for year, two digits for month, day, hour, minutes and seconds) s5 = fixed file extension
39 | P a g e Electronic Shelf Labels
Description of mandatory fields:
Pos. Which data contains Type of data expected
Maximum length or permitted values Notes
1 Product code (the internal reference)
Alphanumeric 20
It’s possible to use this value to print the barcode. In this case the value must be numeric and 13 characters length.
2 Product category Alphanumeric 20
Information not mandatory, the field must be present also when empty.
3 Product description Alphanumeric 100
4 Price Numeric Between 0.00 and 1999.99
5 Price per unit Numeric Between 0.00 and 1999.99
6 Barcode number Numeric 13
7 First line of the paper label
Alphanumeric 60
The full print of this line depends from the used font and the label’s dimensions
8 Second line of the paper label
Alphanumeric 60
The full print of this line depends from the used font and the label’s dimensions
9 Third line of the paper label
Alphanumeric 60
The full print of this line depends from the used font and the label’s dimensions
10 Date and time to publish the price
Numeric Date and time in YYYYMMDDHHMMSS format
Information is not mandatory at present, this field is not used but it is reserved for future use.
11 Department Alphanumeric 20
Information not mandatory, the field must be present also when empty.
12 Aisle Alphanumeric 20 Information not
40 | P a g e Electronic Shelf Labels
mandatory, the field must be present also when empty.
13 Shelf Numeric Between 0 and 9
Information not mandatory, the field must be present also when empty.
14 Position Alphanumeric 20
Information not mandatory, the field must be present also when empty.
15 Unit of measure Alphanumeric Allowed values: KG, LT and MT
16 Product cancellation Numeric
0 or nothing = no action; different from zero = eliminates the barcode of the product from 'list of multiple references (if it’s not the only reference)
17 Code used in barcode printing
Alphanumeric 30
This is the field used to print the barcode on the sticker. The content of this field must be in accordance with the type of barcode selected, for example, must be of thirteen digits (including check digit) in the case of standard EAN-‐13. As you can guess this field can have a value different from the field "INTERNAL PRODUCT CODE” which represents the internal reference.
18 Base Price Numeric Between 0.00 and 1999.99
The price before promotion.
19 Promotion start date Numeric Date in DDMMYY
format The promotion will start at 01.00 o’clock
41 | P a g e Electronic Shelf Labels
on the day specified. The icons PROMO, FINO AL, SCONTO, OFFERTA and PUNTI will be switched on automatically in relation to the content of the fields Discount, Promotion Text and Points.
20 Promotion end date Numeric Date in DDMMYY
format
Information not mandatory, the field must be present also when empty. If mentioned the promotion will end at 01.00 o’clock on the next day to the day specified. After this time all the icons PROMO, FINO AL, SCONTO, OFFERTA, PUNTI will be switched off and the price gets back to the value contained in base price field.
21 Discount Numeric Integer between 0 and 99
This field is required to display the discount percentage with “SCONTO” switched on, if you are in between the promotion start and end date.
22 Symbol A Numeric 0 or 1 0 means off and 1 on 23 Symbol B Numeric 0 or 1 0 means off and 1 on 24 Symbol C Numeric 0 or 1 0 means off and 1 on 25 Symbol D Numeric 0 or 1 0 means off and 1 on 26 Symbol N Numeric 0 or 1 0 means off and 1 on 27 Symbol Moon Numeric 0 or 1 0 means off and 1 on
28 Symbol Refresh Numeric 0 or 1 0 means off and 1 on
29 Symbol Hand Numeric 0 or 1 0 means off and 1 on
42 | P a g e Electronic Shelf Labels
30 Symbol SOTTOCOSTO Numeric 0 or 1 0 means off and 1 on
31 Promotion Text Alphanumeric
For example “3x2”, in general NxN where N is between 0 and 99
This field is required to display the offer type with “OFFERTA” switched on, if you are in between the promotion start and end date.
32 Points Alphanumeric Integer between 0 and 99999
This field is required to display the points value with “PUNTI” switched on, if you are in between the promotion start and end date.
33 Symbol Pz Numeric 0 or 1 0 means off and 1 on Here is a sample of file with the name S5_FTPINT_201003011115000.s5, there is only two records and due to lack of space they are represented on multiple rows: 000310426|001014014098|RISOTTO F/PORCINI GALLO |000001.35|000007.71|8004393100011|RISOTTO F/PORCINI GALLO | RISO GALLO S 8001420005813 GR.175 | 222 000310426 2 DP I 6|20111021150436||11|2|12|KG|0|9990003104267|101011|211011|27|1|0|0|0|0|0|0|0|0| 3X2|00000|0 000350072|001014014098|G.GOLD SALM/POL DADINI |000001.35|000007.71|8004293100013|G.GOLD SALM/POL DADINI | NESTLE' ITAL 0000080361497 GR.85 | 232 000350072 5 DP I 24|20111021150436||11|2|12|KG|0|9990003500723|||27|1|0|0|0|0|1|0|0|0| |00067|0
43 | P a g e Electronic Shelf Labels
3. DESIGN 3.1. Application Flow
Following is the application flow for data import and PDA / web application to ESL e-‐g price update.
Figure 45: Application Flow
/ Web Page PDA SQLDB
Backend service
XML
ESL
Price info
Retrieve updated info
Update records
Updated info
Product import file
Request to ESL Response from ESL
44 | P a g e Electronic Shelf Labels
3.2. Web Application Architecture Web application is based on multi-‐tier architecture [4] (often referred to as n-‐tier architecture) is a client–server architecture in which presentation, application processing, and data management functions are logically separated. Three-‐tier architecture is typically composed of a presentation tier, a business or data access tier, and a data tier.
• Presentation tier
This is the topmost level of the application. The presentation tier displays information to the client. • Application tier (business logic)
The logical tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
• Data tier
This tier consists of database servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance.
Figure 46: Web Application Three tier Architecture
Presentation Layer
Business Logic
DataBase
First Layer
Second Layer
Third Layer
45 | P a g e Electronic Shelf Labels
3.3. Database Design Relational Database [5] is used to store the data.
Figure 47: DB Users
rolesrole
roleDescription
userPasswordsid
userId
password
creationDate
usersuserId
password
name
surname
role
lastModify
v isible
46 | P a g e Electronic Shelf Labels
Figure 48: DB Coordinators
coordinatorscoordinator
ip
port
channel
status
machineName
lastStatusUpdate
coordinatorDescription
coordinatorStatuscoordinatorStatus
coordinatorStatusDescription
coordinatorStatusLogid
coordinator
ip
port
channel
status
machineName
logDateTime
47 | P a g e Electronic Shelf Labels
Figure 49: DB Hubs
hubFirmwareshubType
firmwareV ersion
firmwareDescription
localF ileName
localPath
uploadDate
uploadUser
hubshub
hubDescription
hubTy pe
mainGateway
hubLocation
battery Lev el
firmwareV ersion
lastF irmwareUpdate
lanIpA ddress
installationKey
freeMemory
freeDisk
channel802_15_4
w ifiC hannel
temperature
eth0Status
eth1Status
powerState
lastEv ent
lastUpdate
updateUser
macC oordinator
hubTypeshubType
hubTy peDescription
firmwareV ersion
serv erF irmwareV ersion
lastF irmwareUpdate
48 | P a g e Electronic Shelf Labels
Figure 50:Db ESLs
displayTypesdisplay Ty pe
displayDescription
isDotMatrix
grey Scale
fullC olor
wholeImageWidth
wholeImageHeight
eslFirmwareseslTy pe
firmwareV ersion
firmwareDescription
localF ileName
localPath
uploadDate
uploadUser
eslFirmwaresStatuseslTy pe
firmwareV ersion
coordinator
uploadStatus
uploadDescription
logDateTime
eslsesl
eslTy pe
associatedC oordinator
product
lastUpdate
updateUser
eslStatus
battery Lev el
signalLev el
firmwareV ersion
lastF irmwareUpdate
txPower
alarmMode
installationKey
temperature
lifetimeHours
channel
railDetected
installationDateTime
hashC odeA ctiv ePrice
hashC odePendingPrice
coordinatorMac
eslShortA ddress
enableStatistics
eslTypeseslTy pe
eslTy peDescription
display Ty pe
timeToSendStatus
pollingTime
detachTime
forcedDetachTime
defaultTemplate
firmwareV ersion
serv erF irmwareV ersion
lastF irmwareUpdate
networkEquiv alentTy pe
setToNullInfo
unauthInfo
templatesDefaulttemplate
templateDescription
templateF ielName
thumbnailImage
isDefault
display Ty pe
49 | P a g e Electronic Shelf Labels
Figure 51:Db Products
3.4. Page Layout
3.4.1. Advanced Mode Page Layout For advanced page mode there are two levels of content areas:
• Main Content Area (Content Area Level 1) • Detailed Content Area (Content Area Level 2)
50 | P a g e Electronic Shelf Labels
3.4.1.1. Main Content Area (Content Area Level 1) There are following sections in the main content area
• Header Represents the company Logo / banner.
• Main Menu Represents the navigation to main pages of the website
• Pathway Represents the current page navigation (bread crumbs)
• Search Function Represents the filter section, to filter the search results.
• Message Window A collapsible window represents the current activities e-‐g: Addition of ESLs etc.
• Buttons Area All the buttons to perform some action specific to the displayed page will be shown in this section.
• List View List view represents the search results. The list view have paging and sorting for each column. The record in the list view can be linked to the detailed screen, which will navigate to the detailed content area (content area level 2).
51 | P a g e Electronic Shelf Labels
Figure 52: Content Area Level 1
3.4.1.2. Detailed Content Area (Content Area Level 2)
52 | P a g e Electronic Shelf Labels
Detailed content area is shown after once the record is selected from the content area level 1. There are following sections in the main content area
• Header Represents the company Logo / banner.
• Main Menu Represents the navigation to main pages of the website
• Pathway Represents the current page navigation (bread crumbs)
• Message Window A collapsible window represents the current activities e-‐g: Addition of ESLs etc.
• Content Detail Underneath the message window details of the record selected at level 1 will be shown.
Figure 53: Content Area Level 2
53 | P a g e Electronic Shelf Labels
3.4.2. Standard Mode Page Layout Standard page has two level of navigation
• Main Page • Detailed Operation Page
3.4.2.1. Main Page Main page has following sections:
• Header Represents the title of the content
• Options Represents the operations that the user can perform, each option will navigate the user to the detailed operation page.
Figure 54: Main Page (Standard Mode)
HEADER
Option 1
Option 2
Option 3
Option 4
54 | P a g e Electronic Shelf Labels
3.4.2.2. Detailed Operation Page This page appears after selection of specific option from main page in standard mode. This page will act like a wizard to navigate to different steps and perform operations in each step. There are following sections in this page:
• Steps There could be multiple steps involved for specific operation, current steps will be highlighted in the steps section.
• Title Represents the title of the current step
• Content Represents the fields, labels and actions to be performed for current step.
• Navigation Buttons The navigation between the different steps is performed by the button in the navigation button bar. The buttons in the navigation bar are “Next”, “Previous” & “Home”
Figure 55: Detailed Operation Page (Standard Mode)
Title
Steps
Navigation Buttons
Content
55 | P a g e Electronic Shelf Labels
3.4.3. Web Application Navigation
• Login page to mode selection
Figure 56: Login to Mode Selection Navigation
• Standard Mode Navigation
Login
Advanced Mode
Standard Mode
56 | P a g e Electronic Shelf Labels
Figure 57: Standard Mode Navigation
• Advanced Mode Navigation
Standard Mode Home
Page
Change Price
Product Details
ESL Join ESL Remove Join
Identify Product
New Price
Add Options (Discount,
Offer,
Summary
Identify Product
Detailed View
57 | P a g e Electronic Shelf Labels
Figure 58: Advanced Mode Navigation
Advanced Mode Home Page
ESL Network System Health Users Product
Management Application
Settings
ESL Master Data/ Type
registry
ESL Template
Add ESL Remove ESL Night Mode
System Overview
Coordinator Overview
ESL Overview
Add / Modify User Delete User
Mail Notification
Product/ ESl Join
New Join Delete Join Massive Join
58 | P a g e Electronic Shelf Labels
4. IMPLEMENTATION
4.1. Web Application Microsoft Asp.Net [6][7] (.Net framework 3.5) [8] for the web pages with code behind of C# is used. ASP.NET is a server-‐side Web application framework designed for Web development to produce dynamic Web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, web applications and web services. ASP.NET is built on the Common Language Runtime (CLR) [10], allowing programmers to write ASP.NET code using any supported .NET language.
4.1.1. Master Page Web application makes use of the master page [6], which allow for the template based page development. Master templates have place-‐holder controls, called “ContentPlaceHolders” to denote where the dynamic content goes, as well as HTML and JavaScript shared across child pages. Child pages use those “ContentPlaceHolder” controls, which must be mapped to the place-‐holder of the master page that the content page is populating. The rest of the page is defined by the shared parts of the master page. All markup and server controls in the content page must be placed within the ContentPlaceHolder control. When a request is made for a content page, ASP.NET merges the output of the content page with the output of the master page, and sends the output to the user. The master page remains fully accessible to the content page.
59 | P a g e Electronic Shelf Labels
Figure 59: Master Page
4.1.2. Code Behind C# code behind [14] is used for Asp.Net. Code-‐behind refers to code for ASP.NET page that is contained within a separate class file. This allows a clean separation of HTML from your presentation logic.
Figure 60: Code behind
60 | P a g e Electronic Shelf Labels
4.1.3. Database / Database connectivity Microsoft SQL Server [9] is used as a database. Microsoft SQL Server is a relational database management system developed by Microsoft. As a database, it is a software product whose primary function is to store and retrieve data as requested by other software applications. For connection between web application and database SqlClient [11] data provider is used. The .NET Framework Data Provider for SQL Server (SqlClient) uses its own protocol to communicate with SQL Server. It is lightweight and performs well because it is optimized to access a SQL Server directly without adding an OLE DB [12] or Open Database Connectivity (ODBC) [13] layer.
Figure 61: Data provider (SqlClient)
4.1.4. Internet Information Server (IIS) IIS [15] is used for web application hosting. IIS is an extensible web server is created by Microsoft for use with Windows NT family. IIS supports HTTP, HTTPS, FTP, FTPS, SMTP and NNTP.
61 | P a g e Electronic Shelf Labels
Figure 62: IIS / Asp.Net page life cycle
4.2. XML XML is used to communicate between the ESL network application and the web application via sql server database. Following different XMLs are used for communication.
4.2.1. ESL Status Request XML <?xml version='1.0' encoding='UTF-‐8'?> <message msgId="12" msgCommand="EslStatusRequest" xsi:schemaLocation="http://s5tech.com/network schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://s5tech.com/network"> <eslList all="true" /> <!-‐-‐ request status for specific list of esls -‐-‐> <eslList> <mac>0015BC0000000011</mac> <mac>0015BC0000000012</mac> <mac>0015BC0000000013</mac> <mac>0015BC0000000014</mac> <mac>00124B000112CA06</mac> <mac>0015BC0000000016</mac> </eslList> </message>
62 | P a g e Electronic Shelf Labels
4.2.2. ESL Status Response <?xml version='1.0' encoding='UTF-‐8'?> <message msgId="12" msgCommand="EslStatus" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech"> <eslStatus mac="0015BC000D000001"> <batteryLevel>99</batteryLevel> <txPower>99</txPower> <macAssociatedHub>0015BC000D000601</macAssociatedHub> <temperature>65</temperature> <firmwareVersion>1.00.5</firmwareVersion> <lifetimeHours>999</lifetimeHours> <channel>14</channel> <railDetected>true</railDetected> <nightMode>false</nightMode> <state>Standby</state> <hubsInRange> <hub mac="0015BC000D000601" signalLevel="78"/> <hub mac="0015BC000D000602" signalLevel="45"/> <hub mac="0015BC000D000604" signalLevel="57"/> <hub mac="0015BC000D000607" signalLevel="34"/> </hubsInRange> </eslStatus> </message>
4.2.3. ESL night mode Request XML
<?xml version='1.0' encoding='UTF-‐8'?> <message msgId="12" msgCommand="EslEnterNightMode" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech"> <!-‐-‐ Expect acks for each esl in the list -‐-‐> <eslList> <mac>0015BC0000000011</mac> <mac>0015BC0000000012</mac> </eslList> <time activation="2010-‐02-‐22T11:53:33" durationSecs="28800"/> </message>
4.2.4. ESL Enter night mode (for all ESLs) XML <?xml version='1.0' encoding='UTF-‐8'?> <message msgId="12" msgCommand="EslEnterNightMode" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech">
63 | P a g e Electronic Shelf Labels
<!-‐-‐ Expect acks for each esl in the list -‐-‐> <eslList all="true" /> <time activation="2010-‐02-‐22T11:53:33" durationSecs="28800"/> </message>
4.2.5. ESL Acknowledge Night mode Response XML <?xml version='1.0' encoding='UTF-‐8'?> <ackMessage msgId="1234" msgCommand="EslEnterNightMode" result="Success" mac="0015BC0000886411" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech"> <description>this is the description of the result / ack message</description> </ackMessage>
4.2.6. ESL Price update Request XML The price update information is encrypted. <?xml version='1.0' encoding='UTF-‐8'?> <message msgId="12" msgCommand="EslPriceUpdate" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech"> <!-‐-‐ Expect acks for each esl in the list -‐-‐> <eslList> <mac>0015BC0000000011</mac> <mac>0015BC0000000012</mac> <mac>0015BC0000000013</mac> <mac>0015BC0000000014</mac> <mac>0015BC0000000015</mac> <mac>0015BC0000000016</mac> </eslList> <eslPriceData activationTime="2010-‐02-‐22T01:02:05" hashCode="123456789"> VGhlIGNvbW11bmljYXRpb24gaXMgYmFzZWQgb24gYSBtZXNzYWdlIHF1ZXVlIHNlcnZpY2Uu </eslPriceData> </message>
4.2.7. ESL Acknowledge Price update Response XML <?xml version='1.0' encoding='UTF-‐8'?> <ackMessage msgId="1234" msgCommand="EslPriceUpdate" result="Success" mac="0015BC0000000011" xsi:schemaLocation="http://develco.com/s5tech schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns="http://develco.com/s5tech"> <description>this is the description of the result / ack message</description> <hash>143532451234</hash> </ackMessage>
64 | P a g e Electronic Shelf Labels
5. FUTURE WORK
5.1. Responsive design of Web application Responsive Web Design (RWD) [20] is a Web design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from mobile phones to desktop computer monitors).
A site designed with RWD adapts the layout to the viewing environment by using fluid, proportion-based grids [17] flexible images and CSS3 [18] media queries [18], an extension of the @media rule [20]
• The fluid grid concept calls for page element sizing to be in relative units like percentages, rather than absolute units like pixels or points
• Flexible images are also sized in relative units, so as to prevent them from displaying outside their containing element
• Media queries allow the page to use different CSS style rules based on characteristics of the device the site is being displayed on, most commonly the width of the browser.
• Server-side components (RESS) in conjunction with client-side ones such as media queries can produce faster-loading sites for access over cellular networks and also deliver richer functionality/usability avoiding some of the pitfalls of device-side-only solutions.
5.2. Graphical ESL display To implement fully graphical electronic shelf-‐edge labels (ESLs), which can be used to display text, numbers, barcodes, QR codes and brand logos anywhere on freely-‐configurable displays.
66 | P a g e Electronic Shelf Labels
6. REFERENCES 1. http://www.s5tech.com/ 2. http://en.wikipedia.org/wiki/Electronic_Shelf_Label 3. http://en.wikipedia.org/wiki/Network_topology 4. http://en.wikipedia.org/wiki/Multitier_architecture 5. http://en.wikipedia.org/wiki/Relational_database 6. http://en.wikipedia.org/wiki/ASP.NET 7. http://www.asp.net/ 8. http://en.wikipedia.org/wiki/.NET_Framework 9. https://www.microsoft.com/en-‐us/sqlserver/default.aspx 10. http://en.wikipedia.org/wiki/Common_Language_Runtime 11. http://msdn.microsoft.com/en-‐us/library/a6cd7c08(v=vs.110).aspx 12. http://en.wikipedia.org/wiki/OLE_DB 13. http://en.wikipedia.org/wiki/ODBC 14. http://support.microsoft.com/kb/303247 15. http://en.wikipedia.org/wiki/Internet_Information_Services 16. http://www.motorolasolutions.com/US-‐
EN/Business+Product+and+Services/Mobile+Computers/Handheld+Computers/MC55A0#
17. Marcotte, Ethan (March 3, 2009). "Fluid Grids". A List Apart. 18. Gillenwater, Zoe Mickley (Dec 15, 2010). "Examples of flexible layouts with CSS3
media queries". Stunning CSS3. p. 320. ISBN 978-‐0-‐321-‐722133. 19. http://www.w3.org/TR/CSS2/media.html#at-‐media-‐rule 20. http://en.wikipedia.org/wiki/Responsive_web_design