Overview
The Zebra MP7000 is a grocery scanner scale designed for both staffed and self-checkout lanes. It delivers multi-plane scanning capabilities through its integrated 1D/2D bioptic imager and optional color camera, enabling a range of applications, such as product recognition and loss prevention. This guide demonstrates how DataWedge intent APIs can be used on a mobile computer to query the weight of an object on the connected MP7000 and reset the scale to zero.
MP7000
Requirements
A Zebra mobile computer is required to process the DataWedge intent APIs. It must have:
- One of the following Android platforms and DataWedge versions:
- Android 11 with DataWedge version 11.4.310 or higher
- Android 13 with DataWedge version 13.0.116 or higher
- Scanning Framework v37.9.24.0 or higher. See instructions on how to check the version.
Prerequisites
Set up and establish a connection between the MP7000 and mobile computer device with cradle.
Set Up MP7000
The MP7000 must be set to IBM Tabletop mode. This is the mode by default, but it may be changed by a user.
Follow these steps to change the mode of the MP7000:
- Power the MP7000 device using 12v DC power supply.
- Scan the barcode below to set the mode to “IBM-tabletop”:
- The MP7000 device automatically restarts and is set in IBM-table top mode.
Connect with Mobile Computer
The Zebra mobile computer must connect to the MP7000 for communications:
- Power on the Zebra mobile computer device, e.g. TC58 or TC78.
- Insert the mobile computer into the workstation cradle that supports a USB connection.
- Insert the side of cable that has the ethernet connector into the MP7000 POS port as shown below.
- Insert the side of the cable that has the USB connector into the Zebra mobile computer cradle.
Get Object Weight
In summary, perform these steps to develop an app to capture the weight of objects on the MP7000 scale:
I. Create the DataWedge Profile with “SET_CONFIG”.
II. “GET_WEIGHT” of the placed object.
III. Make “SET_SCALE_ZERO”.
IV. Handle the Error Codes
Follow the procedure below.
I. Create a DataWedge profile
Create a profile in DataWedge. Associate this profile to the developed app and set the configuration based on MP7000. Select the weight metric based on the metric which the scanner is calibrated in. For example, if MP7000 is calibrated with KG, select "Kg" as the weight metric. If the weight metric selected does not match the weight metric calibrated, unexpected behavior may occur while trying to query the weight.
To create the profile programmatically, use Set_Config.
To create the profile manually through the DataWedge UI:
- Open DataWedge on the mobile computer.
- Follow instructions to create a new DataWedge profile.
- Open the new profile, e.g. ScaleTestProfile.
- Scroll down to Barcode Input and tap Configure scanner settings.
- Tap Reader Params.
- Tap Weight Metric.
- Set the Weight Metric to the desired metric.
II. Get weight
Use GET_WEIGHT DataWedge intent API to get the weight of an object placed on the MP7000 scale. Data is sent through Keystroke Output and Intent Output, following the similar method utilized to dispatch scan data. The scanner must be in WAITING_FOR_TRIGGER state before sending this intent.
Sample code:
void getWeightAPICall()
{
Bundle bundleScale = new Bundle();
Bundle bundleScaleConfig = new Bundle();
bundleScaleConfig.putString("DEVICE_IDENTIFIER", "USB_TGCS_MP7000");
bundleScaleConfig.putString("COMMAND", "GET_WEIGHT");
bundleScale.putBundle("SCALE_CONFIG", bundleScaleConfig);
Intent i = new Intent();
i.setAction(DATAWEDGE_API_ACTION);
i.setPackage(DATAWEDGE_PACKAGE);
i.putExtra("SEND_RESULT","true");
i.putExtra("com.symbol.datawedge.api.SCALE", bundleScale);
sendBroadcast(i);
}
III. Reset scale to zero
Reset the weight scale back to zero using SET_SCALE_TO_ZERO DataWedge intent API. This prepares the scale to get the weight of the next object.
Sample code:
void setScaleZeroAPICall()
{
Bundle bundleScale = new Bundle();
Bundle bundleScaleConfig = new Bundle();
bundleScaleConfig.putString("DEVICE_IDENTIFIER", "USB_TGCS_MP7000");
bundleScaleConfig.putString("COMMAND", "SET_SCALE_TO_ZERO");
bundleScale.putBundle("SCALE_CONFIG", bundleScaleConfig);
Intent i = new Intent();
i.setAction(DATAWEDGE_API_ACTION);
i.setPackage(DATAWEDGE_PACKAGE);
i.putExtra("SEND_RESULT","true");
i.putExtra("com.symbol.datawedge.api.SCALE", bundleScale);
sendBroadcast(i);
}
IV. Handle any error codes
Handle any error codes that may occur when querying the weight or resetting the scale back to zero. See Get Weight & Set Scale to Zero for the error codes.
Related Guides: