EMDK for .NET - Motorola Solutions Launchpad
EMDK for .NET - Motorola Solutions Launchpad
EMDK for .NET - Motorola Solutions Launchpad
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Introduction toDevelopment Tools
Introduction to Development ToolsFamily of Products This presentation will provide a brief introduction to development tools and theirfeatures. Refer to the product help documentation <strong>for</strong> detailed in<strong>for</strong>mation. These products provide developers with the tools necessary <strong>for</strong> creatingapplications that target the enterprise mobility features, such as scanning, printing,Bluetooth, MagStripe, Sensors, Vehicle Bus and RFID There are two major development tools:• <strong>EMDK</strong> family of productso <strong>EMDK</strong> <strong>for</strong> C supports developing C/C++ applications.o <strong>EMDK</strong> <strong>for</strong> .<strong>NET</strong> supports developing managed application.o <strong>EMDK</strong> <strong>for</strong> Java supports developing Java applications.• DataWedge. DataWedge is a utility that allows you to add advanced datacapture capability to any application without writing code.
Introduction to Development ToolsWhy do I need <strong>EMDK</strong>? Isn’t DataWedge enough? DataWedge is a powerful tool <strong>for</strong> capturing data. For many application, DataWedge is more than enough and there is no need <strong>for</strong>using <strong>EMDK</strong> However <strong>EMDK</strong> is very useful if: You want to access features that are not available in DataWedge. Forexample Bluetooth, Fusion (Extended WiFi interface), Image capturing etc. If you want a complete control of the feature such as scanning in yourapplication Backward compatibility
Introduction to Development ToolsWhy do I need <strong>EMDK</strong>? Isn’t Microsoft SDK enough? Microsoft SDK is enough <strong>for</strong> a number of operations However, Microsoft SDK may provide little or no access to <strong>Motorola</strong> value addedfeatures scanners, magstripe reading, Telemetry, RFID etc… Bluetooth: Microsoft does not have a .<strong>NET</strong> solution. <strong>Motorola</strong> .<strong>NET</strong> solution <strong>for</strong> BTprovides a simplified and abstracted solution to both Microsoft and Stonestreetstacks. Image capturing: Customers find Microsoft DirectShow too complicated. <strong>Motorola</strong>Imaging APIs are simple yet powerful.
Introduction to Development ToolsWhy do I need <strong>EMDK</strong>? Isn’t Microsoft SDK enough? Image Capturing: Microsoft does not have .<strong>NET</strong> solution. <strong>Motorola</strong> does. Fusion: <strong>Motorola</strong> APIs provide extended access to Wi-Fi. Microsoft APIs provideonly a high level access. Sensors: <strong>Motorola</strong> APIs provide extended access to Sensor devices such asaccelerometer, Orientation, Compass, Ambient Light, Proximity etc.
<strong>EMDK</strong>
<strong>EMDK</strong>Features (not all devices support all features) Audio Resource Coordinator Audio Extension Display Fusion Image Capture Keyboard MSR / DCR Notification Printing RFID/RFID2/RFID3 Scanning (with RS) Telemetry (VC6096 only) IO (VC6096 only) Keylight (VC6096 only) StoneStreet One Bluetooth MS Bluetooth Sensor Document Capture
<strong>EMDK</strong>Sensors on devices to be released very shortly Multiple of sensors integrated to plat<strong>for</strong>m to sense and react to environmentalchanges. These sensors include• Accelerometer• Magnetometer• Gyroscope• Ambient Light Sensor (ALS)• Near Range Proximity Sensor Sensor APIs provides an interface to enumerate available Ability to access sensor data and configure certain parameters of sensors.
<strong>EMDK</strong>Document Capture Document Capture (DocCap) feature provides the ability to capture an image of adocument. In this case, “document” refers to a printed page or label. If thecaptured image contains a barcode, the barcode data can also be captured. The document capture can be per<strong>for</strong>med using one of the following 3 modes:• Barcode-anchoredanchored - In this mode, a specified part of the label is capturedbased on its relative position to the barcode in the label. The document mustcontain a barcode.• Free-<strong>for</strong>m- In this mode, the document is captured by identifying the borderand contrast between the document and the surface behind it. The documentmay optionally contain a barcode.• Barcode-linked- In this mode, the document is captured by identifying theborder and contrast between the document and the surface behind it. Thedocument must contain a barcode.
<strong>EMDK</strong>Scan&Pair in <strong>EMDK</strong> <strong>for</strong> .<strong>NET</strong> Provides simple methods to scan a BT barcode and pair/unpair with that device. Supports only SPP on the remote device Simple to use – Only 2 lines of code (see next slide) First the scanning of the address is per<strong>for</strong>med, the validity of the scanned data ischecked and then an attempt is made to pair with the device using the PINprovided Uses - Bluetooth printers and PCs
<strong>EMDK</strong>LocateAndLaunch Uses GPS Executes pre-defined set of actions when the device changes geographiclocation. Some of the actions:• enable/disable Bluetooth• enable/disable WiFi• enable/disable WAN• launch a pre-defined application• log the movements of the device to a file The app running on the device provides GUI access <strong>for</strong> using this feature withoutwriting code The .<strong>NET</strong> interface API provides programmatic access to this feature
<strong>EMDK</strong>Design Considerations Understand the different types of keyboards: QWERTY & non-QWERTYkeyboards. Some devices may just not have any keyboard. Understand the size, shape, screen resolution, screen orientation of the display :QVGA, VGA. Touch and non-touch display – If supporting touch and non-touch, design yourapp to per<strong>for</strong>m all touch operations (such as buttons, links, pull downs etc) on anon-touch device. Support <strong>for</strong> Microsoft & StoneStreet One Bluetooth stacks. Most of devices haveboth stacks. Some devices may support only one stack. Apps written in “C”cannot be ported to other stack. .<strong>NET</strong> apps written using <strong>EMDK</strong> are mostlyportable. For MS stack, use com port from 0 to 9 if not used. For SS1, refer to the followingregistry <strong>for</strong> available com ports:• HKEY_LOCAL_MACHINE\Software\StonestreetStonestreet One\BTExplorerBTExplorer\DeviceSettings\FactoryCOMPorts
<strong>EMDK</strong>Design Considerations For scanning purposes, your device may have 1D scanner and/or 2D imager or 2Dcamera. Cameras are generally not optimized <strong>for</strong> scan intensive applications. When scanning, do not enable all available symbologies. Enable only therequired symbologies <strong>for</strong> per<strong>for</strong>mance gain. Imagers can be used <strong>for</strong> taking pictures. But <strong>for</strong> quality pictures, use camera ifthe device has one. Your app may require to scan and then take pictures. In this case, you cannothave both scanner/imager and camera enabled at the same time. Disable scannerand then enable camera.
<strong>EMDK</strong>Design Considerations For capturing pictures, you can use Microsoft DirectShow. Many customers havefound DirectShow to be very complicated to write code <strong>for</strong>. <strong>Motorola</strong> offers ImagerAPI which is easy to understand and simple to write code, but yet provides accessto numerous advanced configuration settings of the camera. Some devices may not have built-in scanners or imagers <strong>for</strong> scanning. Considerusing external scanners/imagers such as RS309, RS407, RS419 or RS507(Bluetooth). The latest devices (both CE and WM) come with Compact Framework (CF) 3.5.Older WM devices were shipped with CF2.0. No support <strong>for</strong> Visual Studio 2010. VS2010 does not support Windows Mobile orCE development.
<strong>EMDK</strong>Design Considerations <strong>Motorola</strong> products support several mobile printers from different vendors.<strong>Motorola</strong>’s printing API provides a simple and abstracted interface <strong>for</strong> printing. If porting application from an older version of CE to the latest Embedded Handheld7.0, please note there are a number of APIs either deprecated or obsoleted. useCeAppCompat to determine the compatibility of your app.• APIs removed: http://msdn.microsoft.com/en-us/library/aa924080.aspx• APIs deprecated: http://msdn.microsoft.com/en-us/library/gg154286.aspx Many of the devices come with GPS. The advanced settings such as enable A-GPS SUPL, Quality of Position, Enable Access to SUPL Server, SmartAiding/Reaiding, Estimated Coarse Location etc under the registry:• HKLM\Software\Symbol\GPSMux
DataWedge
DataWedgeWhat is DataWedge? DataWedge is a utility that allows you to add advanced data capture capability toany application without writing code. It runs in the background and handles the interface to barcode scanners, magneticstripe readers and communications ports (USB and Serial). The captured data is converted to keystrokes and sent to the target application asif it was typed on the keypad.
DataWedgeAutomatic data Switching Allows different behaviors <strong>for</strong> different target applications Create a configuration profile <strong>for</strong> each application DataWedge monitors <strong>for</strong>eground application and switches profiles if newapplication appears Example usage: Disable barcode scanning when picture taking application comesto <strong>for</strong>eground.Internet Explorer Pictures and Videos
DataWedgeBuffered Data Collection Data is queued to allow fast and continuous collection of data with controlledtransfer to slow applications.0123456789010
DataWedgeAdvanced Data Formatting (ADF) ADF allows the captured data to be automatically modified using a set of rulesbe<strong>for</strong>e being sent to the target application.CaptureModifySend to Target0123456789010A123456789A1AADF Rules• Crunch Spaces• Replace String• Send Remaining• Etc.
DataWedgeAPI <strong>for</strong> Enabling and Disabling Any application can easily control DataWedge. Allows an application to disable DataWedge input when user input or picture takingis required. Prevents inadvertent scans into your application when it is not ready to accept thedata.
DataWedgeRemote Configuration Settings and profiles can be configured remotely over ActiveSync using InternetExplorer running on a PC. Allows non-touch and headless devices to be easily configured.
DataWedgeXML Configuration Settings and profile in<strong>for</strong>mation are stored in XML files. When configuration iscompleted <strong>for</strong> one device, the XML files can be deployed to other devices usingprovisioning tools such as MSP.
ResourcesFor access to the tool downloadsGo to the “Developer Kits and software tools” page on Support CentralTo create an account and get notification of new releasesRegister your email address on Support Central web siteFor a datasheet on development toolsDownload the EMDT datasheet from the <strong>Motorola</strong> web siteFor a datasheet on configuration toolsDownload the EMCT datasheet from the <strong>Motorola</strong> web siteFor more in<strong>for</strong>mation on the complete toolsetVisit the Enterprise Mobility Development & Configuration Tools pageFor in<strong>for</strong>mation on the <strong>EMDK</strong> Collateral pageVisit this Compass page <strong>for</strong> Datasheets, Power Point presentations etc.Click HereClick HereClick HereClick HereClick HereClick Here