Barcode Scanning Framework : Initial interest Discussions

So... Mods, I'm not sure where to put this, so feel free to move it (Sorry if its in the wrong place)


Last few weeks, I have had an idea, and would like to get the communities interest - barcode freaks or commercial uses otherwise.

Having developed a couple of nodes/side projects for/involving Node RED - I have a thirst for another.

  1. A Barcode scanning Node
  2. An accompanying web based application (or possibly a Native mobile app) - Skillset held :nerd_face:

The idea:

A Barcode input Node:

When deploying the node, it asks for a config instance, this instance contains the following config values

  • Department
  • Symboligies supported

These configs can be considered a 'warehouse' or a section of a warehouse

The subscribed nodes, are obviously attached to this config.

Now then...

These workspace Nodes, will emit Scanned Barcodes, along with various Metadata, I.e the user (or device)

So how does a user or device become a user or device?

There will be a Side Panel where you can register "Scanners" - that is a mobile phone or some other handheld, that has iOS / Android as the OS

The registration process involves scanning an invitation QR Code - and that QR Code states the device or user information (that you provide) - the QR is for each device you add (and scan on the client device)

So when that device later scans codes - it will send the Barcode data, and include all metadata that was obtained from the registration scan.

Note : The registration scan - can also include the location of a logo, and colour schemes of the Barcode Scanning UI - which can be set in the Config Node

The Workspace Incoming Nodes, can optionally be attached to a "Return" Node - that allows the device (mobile/tablet) to show any response you provide in your return.

You can even react if another section of the warehouse, has not scanned a matching or some other related code - and show that to the scanner in operation / User / Device

what's the feeling here?

It essentially adds almost native Barcode Scanning in Node RED - without the price tag.

Feel free to shoot this down or >>>> praise <<<< its idea

Could this be done with a web page using the camera? So I access a web page (hosted by Node-RED) that activates the camera, scans the barcode/qr code and sends the data back to Node-RED. Perhaps using a post http endpoint also located in Node-RED.

No need for App nor registering device....

Yes!!

The scanner portion can be provided by express, or a free native app for the platform you wish to enroll.

enrolment will still be required.

The reason for registration - is identity / customisation of the scanning department and authenticity!

I wouldn’t want random devices - scanning into my system - without enrolment first

Ah ok, you want people to scan things for you - ok.

I was thinking of a basic inventory system that some company wants to setup using Node-RED. They have products and what to scan it into a central database - would be one usecase.

1 Like

Correct!

My view with this set of nodes is to become a complete system of barcode scanning clients - each with an identity and allocation of department - and at the Same time, can interact with each other, but can also be used by enthusiasts.

A barcode scanning framework

The web page @gregorius suggested can have a pwa manifest. This way you can have an "app" and use the phone's camera. It would be necessary to validate if the camera is accessible in a PWA

2 Likes

There even seems to be a Web API Barcode Detection API - Web APIs | MDN but it seems to be only supported on chrome...

And the PWA tutorial --> PWA Barcode Scanner Tutorial - Scanbot SDK

2 Likes

Yup!

How I implement the scanner/client its self - is part of the exploration, my previous job was lead mobile developer - so the skill set is there (I hope :sweat_smile: )
The end goal at least, is to develop a set of Nodes that provides a full set of Utilities for Node RED to have a capable platform for

  • The Production Line
  • Home Hobbyist
  • Barcode Freaks

To make full use of Barcode scanning (and maybe even NFC scanning)

Whilst adding

  • Scanner/client identity/approval of device
  • Client Feedback (that can also be dependent on other scanners)
    i.e "Scanner/Client A - has not yet scanned their part!"

A complete framework/Node Set around barcoding/NFC (hopefully)

The Logic - to make all this happen - is completely flow based
The Nodes will provide the "Backend"/ "Boilerplate"

And all whilst being wireless

:nerd_face:

What I see is that there is the connection (USB, NFC, Bluetooth, TCP,...) and then there is the device i.e. scanner (mobile phone, webpage, dedicated device - wireless or cabled).

Keeping this separation might well be a good idea since the then existing nodes can be used. So if I get a USB cabled scanner then in Node-RED I would have an USB node that emitted a message when I scanned something.

I.e. the scanning logic is in the device and the transport is in the existing USB node.

So I don't see the specific barcode node here.

The logic in the flows would be handling the barcode, i.e., product discovery via some third party API.

1 Like

And its this area that will be the most thought out, and helper Nodes to check relationships with other scanners that may be involved.

Scanner A, is waiting for Scanner B to scan - a set of nodes (as well as all the other things) that takes care of these requirements for you.

The set of Nodes won't assume the use cases - more provide the building blocks to devise a process, using them.

The reason for a purpose built "Scanner Client" is to customise the actor - integrate it, into the offerings that will (hopefully) be achieved.

Thanks for the input BTW @AllanOricil, @gregorius :folded_hands:

2 Likes

I bought a hand-held bar code scanner a year ago and wrote some notes on Share Your Projects.

I couldn't get the WiFi or Bluetooth to work so ended up using HID Keyboard emulation dongle.
Although the dongle is in my mini-server room, the range is excellent as I can walk around my house using the scanner. I wrote a Python script that runs on a RPi-4Bs to capture input from the scanner's dongle (fitted to the Pi) and send it via MQTT to Node-RED where it is processed.


I also tried creating a Parts Inventory bot using Telegram and Node-RED. At the moment the two mini-projects are separate - when I have some spare time I suppose I should combine them.

Note A: Having a dedicated 'Barcode Node' would be useful.
Note B: Must try and find out why I gave up on the scanner's WiFi and Bluetooth features.

1 Like

Just some cents;

a 'true' warehouse uses dedicated barcode scanners, ie, decoding/parsing is not necessary on the node-red end. There are android phones with dedicated barcode decoders on board as well with dedicated scan buttons (like Zebra).
It is simply works faster than a phone that requires 'some' interaction in order to make a 'photo' of a barcode and has that send off to some server (that might not always respond immediately, if at all) and waiting for the result.

Sidenote - when going the webpage route - for iOS it requires https to access the camera.

node-red-contrib-image-tools has barcode decoders on board and can create them as well.

You can send me a DM if you are interested in some code examples how to handle this from a mobile client (access the camera stream, capture, store the bitmap) and how to get it straight to node-red for processing (i have worked on a similar solutions minus the barcodes)

1 Like

Oh of course!
I can't imagine this will replace what's used in say FedEx! :smiley:
My aim is more to create an interconnected set of Barcode Scanning Tools, with a dedicated software client in the hand, where the behaviour is controlled via a config node, along with signalling, return and UI control features.

I may just do - thanks

Where did this come from?

We now Asset tag our devices in work, with barcodes on them (and the tag number) - but don't use the barcode itself, so I want to develop a solution that allows us - without the expense of purchasing dedicated scanning kit - using only our Work Mobile, in the IT team :nerd_face:

If a device has already been 'recorded' - the Software Client will return when (and who) scanned it in.

With this in mind, I want to remove our specific goal, and instead make something for the community, whilst handing control and client feedback to the flow - using all the Nodes that this will (hopefully) include.

I guess it can be called an attempt at creating a "Barcode Processing Kit",
The actual scanning technology - is hidden from the implementer - its what happens after the scan, where this Set of Nodes will do the heavy lifting.

Your logic - can be designed to wait for another scan - Say waiting for a peer to scan the 2nd portion of the process - i.e signalling.

Obviously I'm just spit balling. but hopefully, the vision makes sense with what I want to develop

1 Like

You can scan a barcode using Telegram as it "calls" your mobile phone's camera - then on the backend have some sort of 'bot' to process the capture. My simple experimental Stock Inventory bot does this quite well by supporting scanned or text input.

3 Likes

Native Mobile App: :white_check_mark: Done
Node RED Nodes: NEXT

The Native mobile Application will connect to the Node (socketIO) - once developed, take their (Client/Enrolment Configuration), configure the scanner and receive objects from your flow after a scan.

The scanner engine, is actually using on-device API's, and seems to be extremely performant :nerd_face:

Thanks to @dynamicdave for helping me test other android devices

Once Complete.
The scanners will receive, 1 of 4 responses

(based on your decision/flow logic)

  • An Object - formatted out to the application console
  • An Object not found
  • A prompt for Object Information (lets say, adding a new item to the lookup)
  • A prompt to wait for another scan to take place, by another scanner (where the objects must have some relationship)

All have their own "Beeps" to signify the response.
And whatever else I can dream up

3 Likes

Love the logo :heart:

Brilliant!

EDIT: Btw when I scan the barcode, it's some kind of password .... :thinking:

2 Likes

A combination to an underground safe, with maps to treasure, so say... belongs to One Eyed Willie :winking_face_with_tongue:

It was just a random image of a barcode I found, so I scaled it down to fit.

2 Likes