Barcode Scanner Input not working on Android

Hi All!

Trying to use the barcode scanner input component on a Honeywell RT10A using the built in scanner and running my perspective session through the launcher.

I verified that my prefix and suffix are working correctly (barcode scanned into a text box on the tablet and the code showed the ! prefix and @ suffix) and verified the component is working in preview mode (manually typing in with the ! prefix and @ suffix generated an entry in the component data array).

Yet when I barcode scan on the tablet it does not generate an entry into the component data array. I'm running ignition 8.1.7 and wondering if this is a bug?

Did you configure the Barcode Scanned Session Event to write the data after it scans it?

I think the barcode scanned session event is just for the camera based barcode scanner. I think the Barcode Scanner Input component should dump to it’s data object. It does this on preview

You’re right, I’m sorry I didn’t read your first sentence correctly where you say the component.

Also I’m sorry I haven’t used the barcode component in perspective yet so I don’t have any other suggestions :confused:

No worries! Thanks for trying to help, Ignition is awesome because of the community!.. And I guess Inductive has done a thing or two as well :stuck_out_tongue:

1 Like

I had a zebra barcode scanner running android that acted the same way. There was a delay setting that had to be adjusted. The scanner is acting as a keyboard but the default setting was faster than the Barcode Scanner Input component could keep up with. Adding a very short delay between key entries, in the scanner, was enough to get it working for me.

1 Like

Could I get some more information about how you’re set up this View and how the device itself works?

  1. Are you triggering a Scan Barcode Action based off of some trigger (like a button click), or are you using a physical input (button) on the device to initialize a scan?
  2. Does the device use an actual visible laser to scan the barcode, or do you see a camera view where there is a defined area to align the barcode?

Here are my findings so far while testing with various devices on 8.1.7:

Devices which use a camera to take a “picture” of a barcode during a “Scan Barcode” Action do not allow for the Barcode Scanner Input to hear or intercept the barcode value, most likely because these interactions with the cameras do not trigger or manufacture Key Events during their lifecycle. Devices which rely on a camera should couple the Scan Barcode action with a message handler to send the data to the session and the Barcode Scanner Input should listen for this message, appending the relevant information to its own data prop.

The Android Devices (which I have personally used*) which use a laser to scan a barcode do send the data into the session as Key Events, and so the Barcode Scanner Input is able to hear and intercept the data. It’s worth noting that two devices scanning the same barcode could potentially use different prefixes/suffixes for the same barcode.

If you could send me the View with which you are experiencing issues I could try it here to see if there is some other issue which might be preventing the expected behavior - although I can’t imagine what that might be at this time.

*Devices vary greatly when it comes to behaviors, and so there is every possibility that my devices do not behave the same as yours.

Hi There!

Sorry I've been out on travel.

We use a physical button on the device to turn on the barcode scanner. It uses a laser.

Happy to send you the view! What’s the best way to get that to you?

Hello bpreston ! We're also using a Zebra (MC33) and trying to implement a solution with Ignition using Perspective and the Barcode Scanner Input component (https://docs.inductiveautomation.com/display/DOC81/Perspective+-+Barcode+Scanner+Input). However, when we try to scan and error message appears saying "Error. The device do not has a built-in camera", referring that it needs a camera in order to function and since our Zebra has a laser it's not going to scan. How can we get it to work properly?
Also, is it necessary to use the Ignition app or can we use this component when opening the project from within the handhelds web browser?

I'm not sure why you would see that error. Even the manual page you sent lists that it is designed for keyboard wedge scanners. For it to work, the scanner has to be setup to act as a keyboard. I do remember having to change some settings for it to do this. Part of that was setting the prefix and suffix characters. Where that component just monitors for the scanner to send keyboard signals.

You can test the component in the designer using your keyboard. If you run the view, you can type your prefix, then a string of numbers to simulate a barcode, and then your suffix. After you type your suffix, the component should handle the "barcode string" based on the event script your write under Component Events/onActionPreformed. Just make sure you use a script and not the "Scan Barcode" option in the event script.

If you test it in the designer and it works, then you just need to find the correct settings to adjust in your scanner.

As for your last thing, the MC33 is running Android, as far as I know, for it to work you will need to use the Ignition app. To me the Ignition app is prefered in that application because I was able to configure it to auto load into the Ignition app and setup the Ignition app to open the project that was built for that scanner. Having it do that I didn't have to worry about an operator changing settings on it and creating new issues for me.

It seems the issue was because of the 'Scan Barcode' option in the event configuration. For Ignition 8.1 this action specifies a camera preference, thus it expects a camera to perform the scan. I then adjusted the prefix and suffix as you mentioned and, additionally, had to set a 1 ms delay between the characters input in the Zebra handheld in order for it to read properly the input. I manage the input through the Perspective Session Events, that's the main difference from your approach, but it does seem to work fine too.
Understood, that's a great point. Thank you!

Do you have any recommendations on which settings need adjusted? I'm pretty new to the MC33 and I'm struggling with this barcode piece.

The same issue happened to me. I added a 10 ms delay in KeyStroke output/Intercharacter delay and it fixed the issue.