The Zebra Kiosk Platform
What's being covered in this blog
The KC50 Android Kiosk
The KC50 Android Kiosk Computer is the heart of the versatile Zebra Kiosk System — a comprehensive, flexible and modular solution created to meet a wide variety of self-service, assisted checkout and display needs across industries, from retail and hospitality to healthcare, manufacturing, travel, government and more. Customers are instantly comfortable and ready to interact with the modern and elegant design. The KC50 is designed for consumers on the outside and built for business on the inside, based on the same proven Zebra enterprise Android platform at work in millions of Zebra’s tablet, handheld and wearable mobile computers all around the world. The KC50 can be placed in portrait or landscape mode and mounted on a wall, floor, counter or desk. This modular solution allows you to add whatever your kiosk requires — a barcode scanner, printer, light bar, payment terminal, TD50 companion touch display and more. And support for a conversational digital assistant gives you more ways to interact with your customers.
A kiosk with a flexible modular design
Choose your size, orientation and peripherals
These 15-inch and 22-inch displays can be deployed in either portrait or landscape orientation. The Z-Flex Connectors on each of the four sides are ready to connect peripherals, such as a scanner and a notification light bar. Since there is a universal Z-Flex connector on every side, peripheral placement is not restricted — and can be moved to another location at any time.
Versatile mounting options
Different mounting configurations make it easy to place your Zebra Kiosk System wherever you need it. Mount it on a wall, or choose a modular stand system to deploy on a floor, counter or desk. The stands can house additional peripherals, such as a power brick or a printer. And with the TD50 touch display, you can create a double-sided kiosk that allows customers to review transactions.
Add a digital assistant for conversational self-service
Sometimes a customer wants to ask a person a question instead of trying to find assistance within an app. Zebra’s platform Application Programming Interfaces (APIs) enable integration of a conversational digital assistant. Designed with voice in mind, two integrated noise canceling microphones and dual 1W speakers ensure ample audio volume and clarity — even in noisy environments.
LED APIs
The KC50 supports an optional multi-color LED Light Bar that can be controlled programmatically through the Zebra LED service and its Android Interface Definition Language (AIDL) interface. This permits an app to control the light bar without the need for Android Notification APIs and the accompanying on-screen notifications. The sample code in this section can be modified for use in apps intended to run on the KC50. This gives app developers a means to visually indicate completed activities, required actions or any other purpose. Learn more about AIDL.
GitHub reference repo
https://github.com/ZebraDevs/KC50-TD50-EXERCISER
AIDL Import
-
Add the AIDL under
src/main
-
Ensure the AIDL is up to date. Get the latest version here https://techdocs.zebra.com/emdk-for-android/13-0/intents/kc50_kiosk/ILedBarLightService.aidl
-
Also, do not forget to enable AIDL processing in your Android Studio project. Work on the module build.gradle, in the Android section
-
Declare LED Service Connection, where you define AIDL-based object
and use it to bind the service.
-
the
mLedService
object is now initialized and you can use it the access the LED Lighbar APIs as follows.
setLight(int ID, int COLOR)
ON/OFF toggle and color selector for LED illumination.
Parameters
ID - integer (value of "101" identifies the single LED Light Bar supported by KC50)
COLOR - integer representing an RGB color in the range of 0x000000–0xFFFFFF and format 0xRRGGBB (see color table )
Behavior
If LED is off, calling API turns ON the LED with the specified color
If LED is on:
Calling API with a different color changes the color
Calling API with “transparent” color (0x000000) turns OFF the LED
Key
RR = Red Value 00 – FF
GG = Green Value 00 – FF
BB = Blue Value 00 – FF
Find a usage example of this API in the setLEDColor() method
For color codes, refer to https://htmlcolorcodes.com/
setLightSequence(int ID, int COLOR1, int PERIOD1, int COLOR2, int PERIOD2)
Sets a repeating light sequence of two alternating colors, each with a defined period.
Parameters
ID - integer (value of "101" identifies the single LED Light Bar supported by KC50)
COLOR1 - integer representing an RGB color in the range of 0x000000–0xFFFFFF and format 0xRRGGBB (see color table )
PERIOD1 - integer representing length of time (in milliseconds) to illuminate LED with COLOR1
COLOR2 - integer representing an RGB color in the range of 0x000000–0xFFFFFF and format 0xRRGGBB (see color table )
PERIOD2 - integer representing length of time (in milliseconds) to illuminate LED with COLOR2
Find its usage here
setLedOff ()
Turns OFF the LED Light Bar. No parameters.
setLedSequenceOff(int ID, int COLOR);
Stops sequencing of light set by setLightSequence().
Parameters
ID - integer (value of "101" identifies the single LED Light Bar supported by KC50)
COLOR - integer representing an RGB color in the range of 0x000000–0xFFFFFF and format 0xRRGGBB (see color table )
Behavior
Calling API with a color stops alternating sequence and continuously displays the specified color
Calling API with “transparent” color (0x000000) turns OFF the LED
Both setLedOff and setLedSequenceOff APIs are exercised here
The LED in operation
Thanks for your interest in the KC50/TD50 Kiosk solution! Don't miss to leave a comment at the botton of this page.
Nicola De Zolt
.