ProGlove Barcode Scanner Connector
Content Type: Module
Categories: Connectors,Internet-of-Things
Overview
This module connects ProGlove MARK Display industrial barcode & QR code scanners with a Mendix application using WebSocket protocol. It provides pre-prepared methods to receive and parse all incoming messages from the scanners and gateways. It provides pre-prepared methods to control and send all possible commands to the scanners including sending messages to the e-ink displays.
Documentation
Typical usage scenario
Warehouse, logistics.
Features
- All incoming messages from both scanners and gateways can be easily processed including errors, button clicked etc.
- All display templates supported, diacritics is automatically stripped when needed.
- There are pre-prepared microflows to send all possible feedback types and commands to the scanners.
- There is a session store and control implemented in this module.
- The feedback and messages are sent only to the desired scanners.
- Two languages are readily supported by the module, which also demonstrates display messages translation (English & Czech).
- We have a microflow to easily send a desired message to all scanners' displays.
- We can disconnect all scanners with one click.
- We store and can easily get a scanner status including its battery state (charge percentage).
- WebSocket communication between the scanner and Mendix app can be easily switched for MQTT if needed.
- All scans are stored and associated to the warehouse worker.
- Two roles are covered: a warehouse manager and a warehouse worker (picker).
- The connection between the server and the browser is created also using WebSocket (and EZ WebSocket module), so the data from the scanner can be immediately seen on a worker's screen and also on their manager's screen (such as a dashboard – so the charts display the data live, immediately, without any user's action).
- The general workflows includes pairing the scanner with a worker, scanning and logging the scan data, setting up the scanner, disconnecting the scanner. Meanwhile a manager can receive the live data from the workers in his part of the app.
Limitations
- E-ink display messages translation is very simple now, there is no generalization for many languages.
- User entity is inherited from System.User to make the demo simpler. Replace for 1-1 in production.
- For very large apps with horizontal scaling (multiple cloud instances), MQTT protocol could be considered instead of WebSocket.
- (Fortunately, all that would be easy to implement in Mendix within this module.)
- There was no need to handle keepalive (ping-pong) or connection timeouts/disconnections. The scanner is keeping the connection itself very reliably and if it is disconnected (eg. because of network problems), it automatically signals it with LED and a display message so it is obvious to the worker.
- Errors, states, button clicked and other helper messages are processed through non-persistant entities. If complete logs are needed with all these details, it would be needed to persist/log these.
Dependencies
- EZWebsocket
- Community Commons
- Barcode and QR code generator
Installation
Installation process, scanning process & local testing, mocking the scans with Postman and much more information is available in rich documentation in the _Readme folder in the module.
Releases
Version: 1.0.0
Framework Version: 10.18.4
Release Notes: The first version of the module. Developed by Creatity s.r.o.