Category: Windows Embedded

Starting with Windows Embedded Apps

First thing you have to know about writing applications with Windows Embedded, is the version that you are going to use of it.

In this article, I’m going to show you how to create applications for Windows Embedded 8.1 Handheld, that is the version that is running on most of the mobile POS devices (like for example the BM180 Pidion from Bluebird).

To develop for this version of WEH you just need two things:

– Visual Studio 2013 Update 2 RC or higher (any version, but recommended Ultimate if you want to have quality testing)

– Windows Embedded 8.1 Handheld SDK RC (http://www.microsoft.com/en-us/download/details.aspx?id=42538)

So just download and install the SDK in your computer before start working with it.

image image

During the installation process you will be warned that is not only the SDK with the documentation and the APIs the one to be installed but also the Emulators in case you don’t have an Embedded device.

Once is done, let’s see how to create an app.

Go to Visual Studio

1. Create a new Windows Phone Project, let’s call it BarCodeScaner, normal Windows Phone 8.1 Silverlight project

So the first thing you will notice is that we have new emulators installed:

image

2. Add the following statements to the top of your class file:

using Windows.Devices.PointOfService; // The Windows RT point of service APIs

3. Add the following variables inside your class:

private BarcodeScanner scanner;
private ClaimedBarcodeScanner claimedScanner;

scanner stores the instance of the default scanner object.
claimedScanner stores the instance of the barcode scanner object that is reserved for exclusive use by your application.

4. Generate the next method in your main class:

    private async void ClaimBarcodeScanner()
        {
            scanner = await BarcodeScanner.GetDefaultAsync(); // get the default instance of the scanner
            //fakeScanner = new FakeScanner(scanner.DeviceId);
            claimedScanner = await scanner.ClaimScannerAsync();//Attempts to get an exclusive access to the scanner.
            claimedScanner.DataReceived += claimedScanner_DataReceived;
            await claimedScanner.EnableAsync(); //Gets the barcode scanner into a ready state.
            claimedScanner.IsDecodeDataEnabled = true; // provide decoded label data
        }

5. Now that we have the ClaimBarcodeScanner method created, we are ready to start getting data from the barcode scanner, just let’s read the information captured on the claimedScanner_DataReceived event:

async void  claimedScanner_DataReceived(ClaimedBarcodeScanner sender, BarcodeScannerDataReceivedEventArgs args)
        {
            string label, data; //Label and data are de values returned by the scanner
            UInt32 symbology = args.Report.ScanDataType; // the symbology of the scanned data
            using (var datareader = Windows.Storage.Streams.DataReader.FromBuffer(args.Report.ScanDataLabel))
            {
                label = datareader.ReadString(args.Report.ScanDataLabel.Length);
            }
            using (var datareader = Windows.Storage.Streams.DataReader.FromBuffer(args.Report.ScanData))
            {
                data = datareader.ReadString(args.Report.ScanData.Length);
            }

            await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                tbData.Text = data; //Send the data to the UI through the dispatcher. tbData is a textbox in the UI
                tbLabel.Text = label; //Send the data to the UI through the dispatcher. tbLabel is a textbox in the UI
            });
              
           
        }
6. Just to finish it, you can call the new method from your constructor to execute it once you start the application.

WP_20140518_002 That’s all! Just deploy the application into your device and play

Now you can scan any kind of barcode you have at home or in your warehouse.

If you want to check with symbologies are recognized, check this website out, as the list is very long! But think on any kind of  barcode.

Just for extra information, the following most common barcodes are supported by the decoder:
UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, Codabar, MSI, RSS-14 (all variants), QR Code, Data Matrix, Aztec and PDF-417.

And if you are wondering how can you get a barcode using the camera instead the scanner, here you have a library that can do it: https://zxingnet.codeplex.com/ but this is a topic for another article 🙂

– May the code be with you –

References:

WEH 8.1 MSDN : http://msdn.microsoft.com/en-us/library/dn715922.aspx

WEH 8.1 SDK: http://www.microsoft.com/en-us/download/details.aspx?id=42538

Mobile POS experience with Windows Embedded Handheld 8.1

This week I had the pleasure to meet the guys from Bluebird, one of the main OEMs that are building rugged devices using Microsoft technology, and I have to say that I have been kindly surprised about the high quality devices that they are bringing to the our market.

In particular I have been playing with the Pidion BM180 (Bluebird is the formal name of Pidion), that has the fresh new Windows Embedded Handeld 8.1. Lets review some specs first:

 

HARDWARE

image

  • – 5 Inches EyeIluminate Display 1280 x 720
  • – IP67 Sealing 4ft/1.2m Drop
  • – 3G, 802.11 a/b/g/n
  • – 2D Scanner Datacapture (QR Code, Barcode, all the standards)
  • – Magnetic Stripe Reader and Contacless MiFare, Felica, Calypso
  • – RFID ISO14443A&B, ISO 15693, NCF
  • – Card Payment
  • – SIM/SAM Slot
  • – Ruggedness
    – 1GB Ram/8GB Rom
    – Micro USB, Docking connector
  • – Battery 3000 mAh Li-ion. Internal battery for Hot-Swap 60 mAh
    – MicroSD slot (up to 32GB)
    – AGPS

 

And of course this device operates from -20℃ to 60℃ 🙂

Having in in my hands, the weight was quite similar than the Nokia Lumia 920, and as you can appreciate on the pictures you have the barcode scanner integrated on the top and the credit card reader on the bottom. On the back the battery enclosure can be opened giving you access to the expansion slots as SIM/SAM and SD card and allows you to remove the battery don’t losing your session as has an internal battery that lasts 3-5 minutes allowing you to perform the hot swap.

 

WP_20140513_004 WP_20140513_003 WP_20140513_001

 

Regarding to the performance, fast and fluid as a normal device Windows Phone 8.1, quite similar than the performance on the Nokia Lumia 925 or 1020, and yes, as it comes with Windows Embedded Handheld 8.1, comes with the notification center, Cortana and all these cool features that comes with Windows Phone 8.1 as well.

SOFTWARE

Windows Embedded 8.1 Handheld is the next generation of Microsoft’s leading platform for line-of-business handheld devices, built on Windows Phone 8.1.

It has full compatibility with Windows Phone 8.1 applications providing employees with the ability to access custom and off-the-shelf applications. such as Office Mobile, Lync, Microsoft Dynamics CRM for Retail and Office 365 from Windows Embedded 8.1 Handheld devices. Windows Embedded 8.1 Handheld simplifies integration with existing IT systems and line of business application, including Office 365, Exchange Server, SharePoint, VPN gateways and Direct Access Servers (RAS), Microsoft Azure and .NET business applications.

What can we highlight in WEH8.1?

  • Management. Bulk provisioning of devices allowing enterprises to quickly deploy devices across their enterprise
  • Assigned access. Extending device lockdown experience for multiple users that share the same device as well as button remapping, settings provisioning and an out-of-box experience to enable quick provisioning of industry handheld devices
  • API support for integrated peripherals such as barcode scanner and magnetic stripe reader
  • Support for USB Host
  • Support for Wi-Fi only devices and hardware keyboard

 

SECURITY

Protect your enterprise information with robust Windows security, and full device encryption via BitLocker, S/MIME for secure email, full Information Rights Management (IRM) support, and VPN support. Secure boot helps protect the platform from malware and assures that Windows Embedded 8.1 Handheld devices maintain platform integrity.

Also these devices can be managed from a MDM Solution as Windows Intune, closing the management cycle.

 

APP DEVELOPMENT

Regarding to the app development, I will cover that in another article but just let me say that basically is Windows Phone 8.1 app development, even the project you have to create is a Windows Phone project where you can just import some libraries from the Windows Embedded Handheld 8.1 SDK. This is great even for .NETCF 3.5 developers or WP App developers as they can use all the knowledge they have to create apps for these Handheld devices.

“Common developer platform and application programming interfaces (APIs) across Windows 8.1 and Windows Phone 8.1 allows you to build one development project that will span all device form factors, from a PC to a phone to a handheld. For industry scenarios, common APIs for integrated magnetic stripe readers and barcode scanners peripherals allow you to utilize line-of-business applications that are supported across all Windows 8.1 and Windows Embedded 8.1 Handheld devices.”

 

OEMs

Right now Microsoft is working with 5 OEMs that are bringing awesome devices like the Pidion one, those OEMs right now are:

  • Ingenico
  • Panasonic
  • Motorola
  • Intermec
  • Bluebird

But the first devices available in market running Windows Embedded 8.1 Handheld will be from Bluebird and Panasonic:

Bluebird presented the already mentioned BP30 and BM180.

Panasonic announced its Toughpad FZ-E1 handheld at Mobile World Congress in February to complement its lineup of enterprise-grade devices for mobile workers built for mission-critical professionals such as those in the military.

 

On next articles I will cover how to start coding for WEH8.1 using Visual Studio 2013 and the WEH8.1 SDK.

Let’s play with devices!

 

 

References:

Windows Embedded 8 Family http://www.microsoft.com/windowsembedded/en-us/windows-embedded-8.aspx

Windows Embedded 8 Handheld http://www.microsoft.com/windowsembedded/en-us/windows-embedded-8-handheld.aspx

Windows Embedded 8.1 Handheld on MSDN http://msdn.microsoft.com/en-us/library/dn715922.aspx

Administrator Guide for WEH8.1 http://technet.microsoft.com/en-us/library/dn499757.aspx

[SP]Nueva Certificación Windows Embedded (CE6.0)

Ya está aqui el nuevo examen de certificación 70-577: TS: Microsoft Windows Embedded Standard 2009, Development.De momento solo disponible en Inglés, Alemán, Francés, Japonés, Coreano y Chino.

Como requisitos para ir bien preparado nos recomiendan tener conocimientos medios sobre:

  • Windows security
  • Componentización
  • Funcionalidad de los paquetes, grupos y conjuntos de repositorios
  • Desarrollo a nivel de aplicación en Win XP y Win XP Embedded
  • Metodologías de despliegue
  • Embedded enabling features (EEFs)
  • Trabajo a nivel de hardware
  • Database Manager
  • ¿Que aprenderemos?

    Creating and Customizing the Configuration

    • Create a platform configuration file
    • Configure the Computer component
    • Check and resolve component dependencies
    • Optimize the pre-FBA image footprint
    • Modify the configuration
    • Configure the operating system for sealing and cloning

    Managing the Development Environment

    • Maintain components in the component database
    • Locate a component by using filtering tools
    • Maintain repositories
    • Apply updates to the component database
    • Configure Target Designer settings

    Integrating Embedded Enabling Features

    • Implement Device Update Agent
    • Implement a USB boot solution
    • Implement Enhanced WriteFilter
    • Implement File-Based WriteFilter
    • Implement message box default reply

    Creating Components

    • Generate a PMQ
    • Create a third-party device driver component
    • Create a macro component
    • Create a component
    • Add objects to a component
    • Add component resources
    • Create and associate a repository
    • Assign dependencies

    Generating and Deploying the Image

    • Generate the pre-FBA image
    • Seal and clone the post-FBA  image
    • Prepare target media for deployment
    • Deploy the post-FBA image to the target device
    • Implement a remote boot solution
    • Validate the post-FBA image on hardware

    Adding Windows Functionality

    • Create a custom shell component
    • Configure multiple user accounts
    • Configure security
    • Add support for multiple languages
    • Add support for remote administration

    ¿Donde examinarse?

    En los Prometric Testing Centers

    ¿Donde obtener material para preparase el examen?

    Examen preparation KIT –> “A free, downloadable Preparation Kit will be available to help experienced Windows XP Embedded and Windows Embedded Standard developers prepare for the exam”

    Aun no está disponible el KIT de formación gratis, asique mientras tenemos los siguientes recursos:

    Learn Microsoft Windows Embedded Standard

    Windows Embedded Official Training Partner.

    Windows Embedded Standard Learn.

    Windows Embedded Standard Library.

    También recordaros que sigue en vigencia el programa “SECOND SHOOT” por el que al registraros en el examen, si metéis dicho voucher, en caso de suspender, tenéis otra oportunidad gratis.

    Referencias:

    Web de referencia para el examen: Microsoft Certification for Windows Embedded Standard 2009

    Descripción examen : http://www.microsoft.com/learning/en/us/Exams/70-577.aspx

     

    Eduardo Ortega Bermejo