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.